Bug 786182 - /etc/init.d/mcstrans lies about the pidfile
Summary: /etc/init.d/mcstrans lies about the pidfile
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mcstrans
Version: 16
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Daniel Walsh
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 786567 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-31 16:37 UTC by Michal Schmidt
Modified: 2012-02-07 07:51 UTC (History)
4 users (show)

Fixed In Version: mcstrans-0.3.2-1.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-07 07:51:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michal Schmidt 2012-01-31 16:37:08 UTC
Description of problem:
/etc/init.d/mcstrans says in its header:
# pidfile: /var/run/mcstransd.pid

However, mcstrands does not seem to write a pidfile when it's started. Current systemd treats it as a failure of the service to start properly and kills the service's cgroup after a timeout of a few minutes.

Version-Release number of selected component (if applicable):
mcstrans-0.3.2-1.fc15.x86_64

How reproducible:
always

Steps to Reproduce:
1. make sure you have systemd >= 37-11.fc16  (it went recently to updates)
2. systemctl start mcstrans.service
  
Actual results:
systemctl seems hung for a few minutes, then quit unsuccessfully. In the meantime, mcstransd is actually running, but /var/run/mcstransd.pid does not exist.

Expected results:
mcstrans should write a pidfile. Ideally it would follow the steps described in "man 7 daemon".

Additional info:
As a workaround, removing the "# pidfile:" header from the initscript helps.
See also bug 783108 where spamassassin had a similar bug.

Comment 1 Fedora Update System 2012-02-01 22:06:39 UTC
mcstrans-0.3.2-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/mcstrans-0.3.2-1.fc16

Comment 2 Michal Schmidt 2012-02-02 12:35:10 UTC
*** Bug 786567 has been marked as a duplicate of this bug. ***

Comment 3 Daniel Walsh 2012-02-02 13:25:40 UTC
Michael, I am not sure if you are a regular user of mcstransd but I just converted it to use a unit file for F17.

Comment 4 Michal Schmidt 2012-02-02 13:39:39 UTC
Dan,

I used to experiment with MCS on my machine, but I don't use it anymore.

I took a look at mcstransd.service in the master branch.
I don't like Type=oneshot and RemainAfterExit=yes. mcstransd is obviously a daemon and not a oneshot script that would do some work and exit.
See what happens when you kill the daemon with a signal. The service will still appear as "active".

Please change it to Type=forking, remove RemainAfterExit and add a PIDFile=... line. Untested, but it could look like this:

[Unit]
Description=Mcstrans maintaining path file context
After=syslog.target
ConditionPathExists=/etc/selinux/mls/setrans.d

[Service]
Type=forking
PIDFile=/run/mcstransd.pid
ExecStart=/usr/sbin/mcstransd

[Install]
WantedBy=multi-user.target

Comment 5 Fedora Update System 2012-02-02 17:28:11 UTC
Package mcstrans-0.3.2-1.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mcstrans-0.3.2-1.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-1197/mcstrans-0.3.2-1.fc16
then log in and leave karma (feedback).

Comment 6 Daniel Walsh 2012-02-02 18:27:27 UTC
Fixed mcstransd.service in mcstrans-0.3.3-3.fc17
Thanks.

Comment 7 Fedora Update System 2012-02-07 07:51:43 UTC
mcstrans-0.3.2-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.