Re: crash in dbus
Simon McVittie <simon.mcvittie-ZGY8ohtN/[email protected]>
| Newsgroups | gmane.comp.freedesktop.dbus |
|---|---|
| Organization | Collabora Ltd. |
| Message-ID | <[email protected]> |
On 03/12/14 02:50, Thomas Green wrote:
> Is there something with my logic in running the main loop in its own thread?
Yes. dbus-glib operates in the default GLib main-context[1] and makes no
attempt to be thread-safe. If you are using dbus-glib, you should
iterate the default GLib main-context in the main thread (the one that
called main()), like you would for a Gtk application.
Additionally, you haven't said which version of libdbus this is. If it
is version 1.6.x then it has no thread-safety by default: you have to
call dbus_threads_init_default() as early as possible. Version 1.8.x
makes that function call unnecessary, but still harmless.
I recommend using GDBus instead of libdbus for multi-threaded D-Bus,
particularly if you are already depending on GLib.
> #0 0xb7d71114 in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
This is not a useful backtrace: for a useful backtrace, you need debug
symbols. From that path you seem to be using either Debian or a Debian
derivative like Ubuntu, in which case installing dbus-1-dbg,
libdbus-glib-1-2-dbg and libglib2.0-0-dbg would be appropriate.
Regards,
S
[1] https://tecnocode.co.uk/2014/03/27/what-is-gmaincontext/
_______________________________________________
dbus mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dbus