How to handle multiple SSIDs with the same BSS

Marcel Holtmann marcel at holtmann.org
Wed Dec 30 03:28:30 EST 2009


Hi Jouni,

> > And I got another crash. It seems to be race condition on startup when
> > two clients (one old interface, the other the new one) access the daemon
> > and try to bootstrap it.
> 
> This is interesting one.. I was not aware how the D-Bus integration was
> done, but it looks like both the old and the new interface are sharing
> the same connection (dbus_bus_get() return value) and either code can
> dispatch new messages to be handled. However, the context pointer
> (user_data argument for message_handler callback) is completely
> different. This sounds like asking for problems..

and I got another one caused by some manual iw scan calls:

Program terminated with signal 11, Segmentation fault.
#0  0x00000000017f9bb0 in ?? ()
(gdb) bt
#0  0x00000000017f9bb0 in ?? ()
#1  0x0000003924c1cf1c in _dbus_object_tree_unregister_and_unlock (tree=<value optimized out>, 
    path=<value optimized out>) at dbus-object-tree.c:514
#2  0x0000003924c0c6ba in dbus_connection_unregister_object_path (connection=0x17d7ba0, 
    path=0x17f71c0 "/fi/w1/wpa_supplicant1/Interfaces/0/BSSs/349") at dbus-connection.c:5615
#3  0x000000000042d9bc in wpa_dbus_unregister_object_per_iface (
    ctrl_iface=<value optimized out>, path=<value optimized out>)
    at dbus/dbus_new_helpers.c:1500
#4  0x000000000042f794 in wpas_dbus_unregister_bss (wpa_s=0x17daa60, 
    bssid=<value optimized out>, id=<value optimized out>) at dbus/dbus_new.c:1282
#5  0x000000000040a310 in wpas_notify_bss_removed (wpa_s=0x17daa60, bssid=0x17da8e0 "", id=349)
    at notify.c:258
#6  0x000000000040aa32 in wpa_bss_remove (wpa_s=0x17daa60, bss=0x17da8b0) at bss.c:63
#7  0x000000000040aaef in wpa_bss_update_end (wpa_s=0x17daa60) at bss.c:214
#8  0x0000000000436918 in wpa_supplicant_get_scan_results (wpa_s=0x17daa60)
    at wpa_supplicant.c:1595
#9  0x000000000043a6a7 in wpa_supplicant_event_scan_results (wpa_s=<value optimized out>)
    at events.c:773
#10 0x000000000043bac5 in wpa_supplicant_event (ctx=0x17daa60, event=<value optimized out>, 
    data=0x0) at events.c:1405
#11 0x0000000000443940 in process_event (msg=<value optimized out>, arg=0x17d9fd0)
    at ../src/drivers/driver_nl80211.c:755
#12 0x000000392001c4e4 in recvmsgs (cb=<value optimized out>, handle=<value optimized out>)
    at nl.c:724
#13 nl_recvmsgs (cb=<value optimized out>, handle=<value optimized out>) at nl.c:772
#14 0x000000000043ed98 in wpa_driver_nl80211_event_receive (sock=<value optimized out>, 
    eloop_ctx=0x17d9fd0, sock_ctx=<value optimized out>) at ../src/drivers/driver_nl80211.c:814
#15 0x000000000040c89b in eloop_sock_table_dispatch (table=0x6685c8, fds=0x17da6e0)
    at ../src/utils/eloop.c:216
#16 0x000000000040ced9 in eloop_run () at ../src/utils/eloop.c:548
#17 0x0000000000436668 in wpa_supplicant_run (global=0x17d67c0) at wpa_supplicant.c:2380
#18 0x000000000043dc70 in main (argc=<value optimized out>, argv=<value optimized out>)
    at main.c:274

Regards

Marcel




More information about the HostAP mailing list