panic: Lock so_rcv_sx not exclusively locked
Robert Watson
rwatson at FreeBSD.org
Thu Jan 31 00:25:21 PST 2008
On Wed, 30 Jan 2008, Jos Backus wrote:
> On Wed, Jan 30, 2008 at 01:45:08PM +0000, Robert Watson wrote:
> [snip]
>
>> Thanks, looks like that's enough for now. I've attached a patch, could you
>> let me know if it works? There turned out to be a number of issues here,
>> not least the possibility of an inter-thread deadlock if the blocked socket
>> read was never going to return, so if you could watch out for processes
>> failing to exit, not just panics, that would be good. I've CC'd Randall as
>> this change touches SCTP in a few places.
>
> After applying this patch I can no longer panic the system by killing
> npviewer.bin. Firefox feels more responsive, too.
>
> Thanks, Robert!
No problem. I've committed to HEAD and will look at an MFC, possibly for 7.0.
I need to get Randall to OK the sctp tweaks first though (CC'd).
Improved responsiveness is slightly surprising, but not impossible if Firefox
expects shutdown() to return quickly after canceling a connection, and
therefore does it from a thread used for interactive stuff such as rendering.
Previously, shutdown() might block waiting on an outstanding I/O to complete
or time out, so if it was called from an interactive thread it might lead to
apparent non-responsiveness.
Thanks,
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list