Comment 0 for bug 227033

Revision history for this message
Alan Briolat (alan-codescape) wrote : linux kernel socket deadlock (ndiswrapper?)

The occurrence of this bug is seemingly random, but happens to me on average once a day (but twice while writing this). Effectively, all of my TCP connections do nothing, and any new programs I start which use sockets in any way hang until I resolve the problem.

Solving the problem involves making NetworkManager stop the network connection (usually by telling it to reconnect). When I do this I get the following in dmesg:

[15824.027472] ndiswrapper (set_scan:1212): scanning failed (C0000001)
[15824.277080] ndiswrapper (set_essid:59): setting essid failed (C0000001)
[15825.861715] ndiswrapper (set_essid:59): setting essid failed (C0000001)
[15826.111890] ndiswrapper (set_essid:59): setting essid failed (C0000001)

However all of the processes that hung before catch up when I do this. To regain use of my wireless I have to reload the ndiswrapper module (rmmod ndiswrapper ; modprobe ndiswrapper). At this point, everything is back to normal.

I say that it's anything using sockets because most programs that are self-contained work fine when in this state, but things that fail to work tend to be using networking, or GNOME settings daemon (e.g. gnome-terminal, nautilus), or some other form of socket-based thing (I never knew sudo used sockets, but apparently it does!).

It took me quite a while to consider the networking to be the problem, but everything started working again when I killed the network connection. I'm thinking maybe this is some kind of deadlock somewhere to do with socket handling, which only gets resolves when a load of TCP connections get dropped. Unfortunately I'm not intimately familiar with the Linux kernel so I'm not sure where to look.

Uname: Linux iapetus 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux
Version: Ubuntu 2.6.24-16.30-generic

Let me know what else is needed (I'll attach the usual dmesg and lspci info).