How to handle multiple SSIDs with the same BSS
Marcel Holtmann
marcel
Tue Dec 29 13:00:05 PST 2009
Hi Jouni,
> > be careful with the D-Bus object path. If you give invalid characters
> > then it will crash.
>
> Crashing on invalid string would be interesting default behavior from a
> library (mine did not call abort() but did show the warning). Anyway,
> obviously we should not have triggered this in the first place.
that is a D-Bus thing. Don't ask me why they choose to do it this way.
> > #4 0x0000003924c0c66c in dbus_connection_unregister_object_path (connection=0xa64ba0,
> > path=0xa64eb0 "(null)/BSSs/76") at dbus-connection.c:5607
>
> > #6 0x000000000042f760 in wpas_dbus_unregister_bss (wpa_s=0xa67880,
>
> > This happens when shutting down wpa_supplicant. See the (null) in the
> > object path on unregister.
>
> The BSS objects were being unregistered twice and the latter time was
> after the D-Bus path had already been freed. This should now be fixed
> and I also provided bit more complete handling of network objects (the
> ones from configuration file were not being registered, but they were
> being unregistered).
That crash got fixed. Thanks.
I never tried running the D-Bus interface together with a pre-configured
list of networks. Are we still supporting this. Is this a behavior we do
wanna support?
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.
Program terminated with signal 11, Segmentation fault.
#0 wpas_dbus_getter_bsss (message=0x216e070, wpa_s=0x2170880) at dbus/dbus_new_handlers.c:2495
2495 os_snprintf(path, WPAS_DBUS_OBJECT_PATH_MAX,
(gdb) bt
#0 wpas_dbus_getter_bsss (message=0x216e070, wpa_s=0x2170880) at dbus/dbus_new_handlers.c:2495
#1 0x000000000042dc6d in get_all_properties (property_dsc=0x218bce0,
interface=0x218f744 "fi.w1.wpa_supplicant1.Interface", message=0x216e070)
at dbus/dbus_new_helpers.c:939
#2 properties_get_all (property_dsc=0x218bce0,
interface=0x218f744 "fi.w1.wpa_supplicant1.Interface", message=0x216e070)
at dbus/dbus_new_helpers.c:1007
#3 properties_handler (property_dsc=0x218bce0,
interface=0x218f744 "fi.w1.wpa_supplicant1.Interface", message=0x216e070)
at dbus/dbus_new_helpers.c:1118
#4 0x000000000042e00d in message_handler (connection=<value optimized out>,
message=<value optimized out>, user_data=<value optimized out>)
at dbus/dbus_new_helpers.c:1211
#5 0x0000003924c1cbee in _dbus_object_tree_dispatch_and_unlock (tree=0x216d860,
message=0x216e070) at dbus-object-tree.c:856
#6 0x0000003924c10a1c in dbus_connection_dispatch (connection=0x216dba0)
at dbus-connection.c:4485
#7 0x00000000004292f8 in process_watch (iface=0x216df50, watch=0x216d660,
type=EVENT_TYPE_READ) at dbus/dbus.c:60
#8 0x000000000040c89b in eloop_sock_table_dispatch (table=0x6685c8, fds=0x21706d0)
at ../src/utils/eloop.c:216
#9 0x000000000040ced9 in eloop_run () at ../src/utils/eloop.c:548
#10 0x0000000000436658 in wpa_supplicant_run (global=0x216c7c0) at wpa_supplicant.c:2380
#11 0x000000000043dc60 in main (argc=<value optimized out>, argv=<value optimized out>)
at main.c:274
Regards
Marcel
More information about the Hostap
mailing list