On Thu, Sep 27, 2012 at 11:57:06AM +0200, intrigeri wrote: > anonym wrote (27 Sep 2012 09:38:32 GMT) : > > This was in Tails built from feature/multikernel. > > Thank you. I updated the ticket accordingly. So, next step is: somehow > fix our USB installer vs. the 686-pae kernel. I'm not committing to do > it any time soon.
After some gdb lifting, I got a stack trace mentioning `_dbus_watch_invalidate`. This lead me to find this pretty old blog post <http://abandonedwig.info/blog/2009/03/dbus-and-threads.html> mentioning that these stack traces were usually because of locking issues. It also mentions that asking DBus to properly handle multiple threads is as simple as running `dbus_thread_init_default()` <http://dbus.freedesktop.org/doc/api/html/group__DBusThreads.html#ga33b6cf3b8f1e41bad5508f84758818a7> Unfortunately, while it looks fairly easy to do from Python when using GLib, according to the answers on this page <http://stackoverflow.com/questions/6379553/calling-dbus-python-inside-a-thread>, I have not been able to find a way to easily do something similar for the Python DBus Qt bindings. So my hack have been to add a call to `dbus_thread_init_default()` in the initialization of the Python `dbus` module. And it looks like it solve the issue. I have not been able to get the installer to crash after installing the modified `python-dbus` package. From what I can read from the documentation, except a performance hit, there should be no other downsides to it. The binary `python-dbus` package is fairly small (226 kB) and at this time, it's a patch I feel we can carry on. It's far from ideal, but it looks like there is very few users of the Python Qt DBus binding. And our installer is hackish already... which unfortunately tend to lead to more hacks. :( What's your opinion? Should I proceed in adding a custom `python-dbus` to the multikernel branch? -- Ague
pgpiUejoin6pE.pgp
Description: PGP signature
_______________________________________________ tails-dev mailing list [email protected] https://mailman.boum.org/listinfo/tails-dev
