Guys, it has been 5(!!!) years, since this bug has been reported. Any chance for a fix?
Please raise severity to major, to reflect that this is a MAJOR issue with a CORE component in ubuntu, that affects a lot of services that would use pre-stop Workaround-ish: service xxx restart works, because it invokes stop and then start. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to upstart in Ubuntu. https://bugs.launchpad.net/bugs/703800 Title: init: restart command fails to restart main process when pre-stop stanza exists Status in upstart : Triaged Status in upstart package in Ubuntu: Triaged Bug description: While testing the portmap daemon's recent changes in Ubuntu which cause statd to properly follow it on stop/start, I tried to restart portmap, only to find that it was not in fact restarted. This happens with any job that has a pre-stop. The reason is that in job_restart(), the code does this: job_change_goal (job, JOB_STOP); job_change_goal (job, JOB_START); job_change_goal will return as soon as the *first* state change has been completed. If there is no pre-stop, that is the change from JOB_RUNNING to JOB_KILLED, which does dutifully kill the main process. However, if there is a pre-stop, the pre-stop is run, but then job_change_state returns to job_change_goal, which then returns to job_restart, which then changes the goal back to start, which makes the new job_next_state() one that will bypass the change to JOB_KILLED. This was found on upstart v0.6.7-3 in Ubuntu, but also exists in the code in the current trunk. TEST CASE 1. create job file /etc/init/test-restart-prestop.conf with this content: # test-restart-prestop pre-stop exec /bin/true exec /bin/sleep 3600 2. run "start test-restart-prestop" -- record pid of job 3. immediately run "restart test-restart-prestop" -- if bug is present, pid remains the same when it should be a new pid. To manage notifications about this bug go to: https://bugs.launchpad.net/upstart/+bug/703800/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp