incorrect system shutdown when running git-daemon-run

Bug #224047 reported by Lucian Adrian Grijincu
4
Affects Status Importance Assigned to Milestone
git-core (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

On hardy, if you install git-daemon-run a new service is created and handled incorrectly by "runsv" and not "upstart" as all other services (https://bugs.launchpad.net/ubuntu/+source/git-core/+bug/74135)
On system shutdown we ask "runsv" and "runsvdir" to terminate, but they refuse (as seen in https://bugs.launchpad.net/ubuntu/+source/git-core/+bug/224041).
This refusal interacts in some weird manner with the synchronization of data on the main root partition so that on the next boot fsck needs to be run to fix errors left behind.

I tested 4 times this scenario:
* login to system
* manually kill runsv and runsvdir by repeating:
  kill -9 `pidof runsv` `pidof runsvdir`
* reboot
* while booting the system notice no file system check is needed.

And several times this one:
* login
* (don't do anything to disturb runsv, or runsvdir)
* reboot
* notice that file system checks are done and some errors appear to have been detected and fixed (fsck exits with error code 3). The system automatically reboots.
* while booting the new system notice no file system check is needed again.

It seems that because runsv's and runsvdir's refuse to terminate some data does not get flushed to disk.

description: updated
Revision history for this message
Lucian Adrian Grijincu (lucian.grijincu) wrote :

1. You set the package to "git". The git I'm talking about it in package "git-core".
2. I already opened several bug reports in "git-core", but I explicitly left this one packageless because I think the problem is in another package.

To make myself clear: because git-daemon doesn't want to die some OTHER package that handles system shutdown gets really confused and forgets to sync file system data. If other rogue services behave like git-daemon upon shutdown data might get lost. I think this OTHER package needs to be looked at and fixed to be able to handle such misbehaving daemons.

description: updated
Changed in sysvinit (Ubuntu):
status: New → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

There is always some possibility that the shutdown scripts will not be able to remount the root filesystem read-only because rogue processes refuse to die. This is exceptional, and indicates a bug in those scripts, *not* in sysvinit for failing to kill them (because believe me, it tries).

Reassigning to git-core.

affects: sysvinit (Ubuntu) → git-core (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.