[Bug 1038139] Re: Missing running check on init script

Mathew Hodson mathew.hodson at gmail.com
Mon Apr 6 14:30:18 UTC 2015


** Description changed:

- ========================================================
- SRU Justification:
- Impact: 'service haproxy stop' returns 4 if haproxy was already stopped.
- Development fix: check whether haproxy is running before trying to kill it
- Stable fix: same as development fix
- Test Case:
- 	sudo service haproxy start
- 	sudo killall -9 haproxy
- 	sudo service haproxy stop
- 	echo $?
- 	~=> this should print 0, not 4
- 	sudo service haproxy start
- 	sudo service haproxy stop
- 	~=> make sure this still correctly prints 0.
- Regression potential: if done wrongly we could further break the haproxy service stop.
- ========================================================
+ [Impact]
+ 
+ 'service haproxy stop' returns 4 if haproxy was already stopped.
+ 
+ [Test Case]
+ 
+ sudo service haproxy start
+ sudo killall -9 haproxy
+ sudo service haproxy stop
+ echo $?
+ ~=> this should print 0, not 4
+ sudo service haproxy start
+ sudo service haproxy stop
+ ~=> make sure this still correctly prints 0
+ 
+ [Regression Potential]
+ 
+ if done wrongly we could further break the haproxy service stop.
+ 
+ [Other Info]
+ 
  Hi, this is the relevant version information:
  
  # lsb_release -rd
  Description:    Ubuntu 12.04 LTS
  Release:        12.04
  dpkg -l haproxy|tail -1
  ii  haproxy                             1.4.18-0ubuntu1                     fast and reliable load balancing reverse proxy
  
  When I issue a stop to haproxy via the init script, on line 49 it tries to kill the process and returns 4 in case of failure, which then after iis the exit status of the script itself.
  There are many reasons why stopping a process may fail, one of them is that the process wasn't actually running. In that case, I think the exit status of stop should be 0, since the process is stopped.
  This caused problems in the following scenario:  haproxy governed by pacemaker if the haproxy process stops abruptly for some reason (crash, oom-killer), pacemaker will try to stop and start it again, but it will fail to stop (exit 4, expected 0).
  To work around this, I added a check on the init script to see if the process was running, see patch attached.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to haproxy in Ubuntu.
https://bugs.launchpad.net/bugs/1038139

Title:
  Missing running check on init script

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/1038139/+subscriptions



More information about the Ubuntu-server-bugs mailing list