[issue713] shutdown freeze and forced unmounts
Matthew Dillon
dillon at apollo.backplane.com
Tue Jul 10 12:44:40 PDT 2007
Your php processes aren't exiting:
0 841 e8cf3200 00040600 php 00000000 waitmsg
0 994 e8cf0e00 00040600 php 00000000 waitmsg
0 995 e8cf0d00 00040600 php 00000000 waitmsg
0 843 e8cf3000 00040600 php 00000000 waitmsg
1 840 e8cf3300 00040600 php 00000000 waitmsg
1 842 e8cf3100 00040600 php 00000000 waitmsg
They are stuck in accept() and the accept() is marked as being
uninterruptable.
Oh! Oh my. WTF. It's a bug in the network stack. The local
unix domain sockets are using sync_soport() when they really
should not be.
It was an optimization that went a little too far. sync_soport()
calls the dispatch function in the context of the caller rather
then using a protocol thread, but it also waits for the message
to complete and passes a flags value of 0 (i.e. tells it to ignore
signals) when it shouldn't.
I'll be able to get this fixed today, definitely.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Bugs
mailing list