Changes between Initial Version and Version 2 of Ticket #9377


Ignore:
Timestamp:
Jan 19, 2013, 7:44:59 PM (7 years ago)
Author:
jackburton
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9377

    • Property Version R1/alpha4.1R1/Development
  • Ticket #9377 – Description

    initial v2  
    11Yesterday I was doing some tests with the network stack, and after a while, I experienced a deadlock. ifconfig was locked and couldn't be killed (even with kill -9). net_server was locked, too.
    22I then entered KDL, and had a look at the threads involved.
    3 There were four threads waiting on the "net_interfaces" mutexes: ifconfig, net_server, and a couple I can't remember (but it's reproducible, so I'll try to reproduce it and save more info).
    4 the net_interfaces mutex was held by wpa_supplicant, which was waiting on the mutex of the wireless interface, which in turn was held by net_server.
     3There was a deadlock between ifconfig and wpa_supplicant. The net_interfaces mutex was held by wpa_supplicant, which was waiting on the mutex of the wireless interface, which in turn was held by ifconfig.
    54So I guess we have a lock inversion somewhere.
    6 Will add stack traces and the rest as soon as I reproduce it again.
     5It's reproducible here 100% of the times by doing:
     6{{{ ifconfig /dev/net/<wireless_card> down }}}
     7while wpa_supplicant is scanning the available networks.
     8I have an ipro3945 wireless card.