Bug 1314753

Summary: Incorrect ExecStop= directive in ejabberd.service
Product: [Fedora] Fedora Reporter: Vladislav Grigoryev <vg.aetera>
Component: ejabberdAssignee: Randy Barlow <rbarlow>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: erlang, jeremy, lemenkov, martin, rbarlow, vg.aetera
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ejabberd-16.01-4.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1315046 1315047 (view as bug list) Environment:
Last Closed: 2016-03-06 15:47:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1315046, 1315047    

Description Vladislav Grigoryev 2016-03-04 12:13:53 UTC
Description of problem:
Incorrect ExecStop= directive in ejabberd.service resulting in unit stop failing.
The correct directive is:
ExecStop=/usr/bin/bash /usr/bin/ejabberdctl stop

Version-Release number of selected component (if applicable):
ejabberd-14.07-6.fc22.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. systemctl stop ejabberd.service
2. systemctl status ejabberd.service

Actual results:
systemd[1]: Stopping A distributed, fault-tolerant Jabber/XMPP server...
ejabberdctl[3067]: Refusing to render service to dead parents.
systemd[1]: ejabberd.service: Control process exited, code=exited status=127
systemd[1]: Stopped A distributed, fault-tolerant Jabber/XMPP server.
systemd[1]: ejabberd.service: Unit entered failed state.
systemd[1]: ejabberd.service: Failed with result 'exit-code'.

Expected results:
# grep ExecStop= /usr/lib/systemd/system/ejabberd.service 
ExecStop=/usr/bin/bash /usr/bin/ejabberdctl stop

Comment 1 Randy Barlow 2016-03-06 06:48:08 UTC
This is easy to fix in Fedora 24, but unfortunately the SRPM does not build anymore on F22 or F23 with this build error:

Compiling /builddir/build/BUILD/ejabberd-14.07/deps/jiffy/c_src/double-conversion/bignum.cc
/builddir/build/BUILD/ejabberd-14.07/deps/jiffy/c_src/double-conversion/bignum.cc: In member function 'void double_conversion::Bignum::AssignDecimalString(double_conversion::Vector<const char>)':
/builddir/build/BUILD/ejabberd-14.07/deps/jiffy/c_src/double-conversion/bignum.cc:101:6: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
 void Bignum::AssignDecimalString(Vector<const char> value) {
      ^
cc1plus: all warnings being treated as errors

I will have an F24 fix out shortly, but I don't have time to investigate these build failures this weekend.

Comment 2 Randy Barlow 2016-03-06 15:47:13 UTC
I have fixed this issue in Fedora 24. ejabberd is currently FTBFS in Rawhide due to dependency issues, and it also currently FTBFS in F22 and F23. In Rawhide, F22, and F23 I have made the requested change in the package source control, but we will need to resolve the build failures there in order to release a fix. Unfortunately, I won't have a lot of time to look into those build failures for a while.

I have cloned this bug into F22 and F23 so it can be tracked there. Since this one is marked for Rawhide, I'm going to switch it to F24 and mark it closed. Rawhide will get fixed when we package ejabberd >= 16.02 so I don't think we need to keep an open bug on that one since the next build will contain the fix.

Thanks for reporting this issue, and feel free to follow up on the clone bugs if you like!

http://koji.fedoraproject.org/koji/taskinfo?taskID=13248914