Re: Network Manager crashes when rf kill switch is Activated.



Hi Dan,
May nothing to do with the mentioned crash problem. Just want to discuss about the codes. Any chance below scenario can happen for WIFI device?
src/nm-device.c
When device deactivate below function will be called:

gboolean nm_device_deactivate_quickly (NMDevice *self)
{
...
    /* Tear down an existing activation request */
    clear_act_request (self); <------ This function will clear priv->act_request = NULL
    return TRUE;
}

Then NM_DEVICE_STATE_FAILED state change occured for some reason.
src/nm-device-wifi.c
static void device_state_changed (...)
{
...
    case NM_DEVICE_STATE_FAILED:
        activation_failure_handler (device);
        break;
...
}

static void activation_failure_handler (NMDevice *dev)
{
...
    req = nm_device_get_act_request (dev);
    g_assert (req);  <------ This assert will fail and NetworkManager quit?
...
}

Thanks!!

2009/6/9 Dan Williams <dcbw redhat com>
On Tue, 2009-06-09 at 18:43 +0530, sanjeev sharma wrote:
> Hi All,
>
> I have been observing a crash of Network Manager when experimenting
> with the rf kill
> switch. I was trying to flip the
> switch before the previous switch state change had been fully processed by
> software.
>
> These are the log messages i have been seeing
>
>  daemon.warn NetworkManager: <WARN>  nm_device_wifi_set_ssid(): error
> setting SSID to '(null)' for device eth0: Input/output error
>
>  daemon.warn NetworkManager: <WARN>  wireless_get_range(): (eth0):
> couldn't get driver range information (5).
>
> daemon.warn NetworkManager: <WARN>  nm_supplicant_interface_add_cb():
> Unexpected supplicant error getting interface: wpa_supplicant couldn't
> grab this interface.
>
>  daemon.warn NetworkManager: <WARN>  nm_signal_handler(): Caught
> signal 11.   Generating backtrace...

Can you gdb NM and get a backtrace where it crashes?  Obviously we're
not handling this case correctly, but it's a bit unclear exactly where
the error is unless there's a better backtrace.

The bits in question are in
src/supplicant-manager/nm-supplicant-interface.c.  We may need to add a
signal to the supplicant interface object for something like "invalid",
so that we know to tear down the supplicant interface object in NM when
it cannot be added to the supplicant.

But it actually looks like we should just fix the bug itself, since the
rest of the code looks like it will handle re-configuring the interface
when the device un-kills itself.  Need the backtrace for that though.

Dan

>  daemon.crit NetworkManager: ******************* START
> **********************************
>  daemon.crit NetworkManager: Frame 0: [0xbeb20c4c]
> May 29 12:08:07 (none) daemon.crit NetworkManager: *******************
> END **********************************
>
>
> would anybody through some pointer on it which causes segfault and how
> to prevent it.
>
> Sanjeev

_______________________________________________
NetworkManager-list mailing list
NetworkManager-list gnome org
http://mail.gnome.org/mailman/listinfo/networkmanager-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]