On Thu, Jan 8, 2015 at 11:27 PM, Patrik Flykt <[email protected]> wrote: > On Thu, 2015-01-08 at 12:11 -0800, Juha Kuikka wrote: >> Hi, >> >> I am running into a problem where libdbus asserts >> dbus_message_get_type() with message = 0. >> >> It seems that when service disconnects due to a new service connecting >> the connman_agent_cancel() gets called to clear all pending requests >> to the agent. >> >> This in turn calls agent_finalize_pending(agent, NULL). >> >> And this in turn calls the pending->callback (request_browser_reply() >> in this case), with NULL reply. This gets passed to >> dbus_message_get_type() and libdbus asserts on it. >> >> Stack: >> #0 0xb6bf5448 in nanosleep () from /lib/libc.so.6 >> #1 0xb6ddbb60 in _dbus_sleep_milliseconds (milliseconds=<optimized out>) >> at dbus-sysdeps-unix.c:2814 >> #2 0xb6de16e0 in _dbus_abort () at dbus-sysdeps.c:88 >> #3 0xb6dcf7f8 in _dbus_warn_check_failed ( >> format=0xb6dee000 "arguments to %s() were incorrect, assertion >> \"%s\" failed in file %s line %d.\nThis is normally a bug in some >> application using the D-Bus library.\n") at dbus-internals.c:275 >> #4 0xb6db9504 in dbus_message_get_type (message=0x0) at dbus-message.c:1724 >> #5 0x000443c8 in request_browser_reply () >> #6 0x00045c74 in agent_finalize_pending.clone () >> #7 0x00046694 in connman_agent_cancel () >> #8 0x0003f7a4 in __connman_service_disconnect () >> #9 0x00041864 in connect_service () >> #10 0x00078b18 in process_message.clone () >> #11 0x00079058 in generic_message () >> #12 0xb6dc19a8 in _dbus_object_tree_dispatch_and_unlock (tree=0x988f8, >> message=<optimized out>, found_object=<optimized out>) >> at dbus-object-tree.c:1018 >> #13 0xb6dab0d4 in dbus_connection_dispatch (connection=0xb0598) >> at dbus-connection.c:4718 >> #14 0x0007570c in message_dispatch () >> #15 0xb6e35edc in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0 >> ---Type <return> to continue, or q <return> to quit--- >> #16 0xb6e39b98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 >> #17 0xb6e39f10 in g_main_context_iterate.clone () >> from /usr/lib/libglib-2.0.so.0 >> #18 0xb6e3a24c in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 >> #19 0x0002fbd4 in main () > > This has been fixed by commit 94d8d9c63cacf1484b02036935cd976b84b5e896 > in ConnMan 1.27. You are probably using an older version? >
Ah, yes, thank you. I am on 1.26. What about all the other places that call dbus_message_get_type() with possible a null pointer? I take it those are not a problem? - Juha _______________________________________________ connman mailing list [email protected] https://lists.connman.net/mailman/listinfo/connman
