Red Hat Bugzilla – Bug 103406
auto-modprobe triggers 'wait() while SIGCHLD ignored' warning
Last modified: 2015-01-04 17:03:02 EST
What version of bluez-utils?
* Sun Apr 27 2003 David Woodhouse <email@example.com> 2.3-3
- Unignore SIGCHLD before starting pin helper, report its return code
If it ain't that, what do you do to provoke it?
Nothing in particular; I get that message from somewhere in the startup sequence
(there is no bluetooth hardware on this box, AFAIK.)
OK; will investigate. No calls to wait() or popen() in the source though -- it's
got to be a library; I suspect dbus. Shame the kernel doesn't give the address
of the offending syscall.
sa.sa_handler = SIG_IGN;
sigaction(SIGCHLD, &sa, NULL);
sigaction(SIGPIPE, &sa, NULL);
Well yes, but that part's fine as long as you don't subsequently call wait().
And I can't see where we're calling wait() from.
But since we don't actually have any children we care about, apart from the ones
for which I've already _explicitly_ made it unignore SIGCHLD, I suppose we can
just stop ignoring SIGCHLD altogether.
At least if people bitch at me about that they'll be able to tell me the name of
the zombies to which they object :)
2.3-10 ought to make this go away. Reopen if it doesn't.
Oh, actually that's crap; I see zombies already. Will look again on Monday.
OK, I found it and it's not bluez-utils' fault. Patch reverted in 2.3-11.
We ignore SIGCHLD, we do something which triggers a module autoload. Kernel
helpfully calls wait() for us, to wait for the modprobe to finish.
Reassigning to kernel.
fixed in latest kernels ?
ye olde bug. assuming fixed.