Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#1481 - procd: Not possible to stop procd task when in respawning state #7341

Closed
openwrt-bot opened this issue Apr 10, 2018 · 4 comments
Closed
Labels

Comments

@openwrt-bot
Copy link

oldium:

Problem: when using procd init scripts, the started service cannot be stopped, when the respawning is in progress.

The test case for the simple start/stop case is attached. Save attached shell scripts procd-test in /etc/init.d, run-test in / and run the test - the /run-test.log output is attached too.

Same can be observed in more complicated test scripts too, for example removing a respawning service instance is not possible (switch from one instance to no instance - procd should just watch the registered configuration/interfaces for changes and restart when change happens) - the instance is still listed in "ubus call service list" and is actively respawning.

This is a problem, because when for example the service is running on PPPoE interface, which goes down for a minute, the service fails and is respawned several times by procd even when the init script tried to remove the instance. As a multi-fail consequence, the procd removes the respawn parameters and does not reintroduce them when the PPPoE is back up and the init script starts the instance again. Result is a started service, but with no respawning.

Expected result: procd should stop respawning as soon as possible and apply the requested changes afterwards.

Tested on OpenWrt git master (from github) on TP-Link TL-WR1043ND and on x86/64bit Hyper-V virtual machine (VDI converted to VHDX), both give the same result.

@openwrt-bot
Copy link
Author

oldium:

Updated run-test script to show the missing respawn parameters.

@openwrt-bot
Copy link
Author

jonathanunderwood:

This is probably related: openwrt/packages#7677

@openwrt-bot
Copy link
Author

oldium:

Looks like this is fixed - stopping a respawning process works.

@openwrt-bot
Copy link
Author

oldium:

I think this was fixed in [[https://git.openwrt.org/?p=project/procd.git;a=commit;h=baaf38c5e540b23ba086d94743de860b60c37161]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant