Bug#324900: nscd: umount /var fails (unclean shutdowns)
GOTO Masanori <firstname.lastname@example.org> writes:
>> >> rc 2470 root DEL REG 3,9 1093449 /var/run/nscd/dbUUHtCX
> I missed this line. /var/run/nscd/dbXXXXXX is created at nscd_init()
> in nscd/connections.c. However, even if this file is created, it's
> closed soon in the same initialization routine. rc does not have any
> relations with this temporary file. So, if this file is marked as
> open, someone takes over fd of /var/run/nscd/dbXXXXXX and it passes to
Although fd passing between unrelated programs is a great mistery to
me (how could've nscd passed descriptor to rc???), could that be
solved by closing the descriptor in nscd? Or setting close_on_exec
>> > Why didn't your nscd shutdown before /etc/init.d/umountfs was invoked?
>> > Under my standard sid environment, such problem does not occur because
>> > nscd is stopped before umount is executed.
>> But it DID! To prove it, here's full lsof output, there's no
>> mentioning of nscd running. I'm also confused how that one reference
>> leaks to /etc/init.d/rc. But it happens on three machines, so it is
>> very repeatable here.
> Could you reinstall libc6 and nscd packages again? Hmm, is this
Of course. Although I don't expect much progress with that, but I'll
try it anyway. In fact I'm going to drop to single user mode,
reinstall all libc6 packages, and make a few reboots to see if it
> problem repeatable even after rebooting the system? If so, rc or some
> packages behave incorrectly.
Yes, absolutely repeatable, trouble on every reboot (/var is
busy). And on three, otherwise unrelated, machines. But they're all
administered by me, so I still leave the possibility that I did
something somewhere wrong, but I must admit that this is a quite
resistant problem for me. I don't have any idea what to do next. :(
I'll report in half an hour or so.
Thank you for your cooperation!