On 12/7/2012 6:08 AM, Dimitry Andric wrote: > On 2012-12-07 13:59, Dimitry Andric wrote: >> On 2012-12-06 18:12, Mark Atkinson wrote: >>> Short backstory, I had recently upgraded my workstation to the latest >>> current which included clang as default cc now. >> ... >>> qdbus under kde segfaults in malloc with a huge recursion stack: > ... >> This is a bug in qdbus; it uses a global static QDBusConnection object, >> and the order in which global destructors are called is undefined: > ... >> The global static QDBusConnection object should be replaced by a >> singleton, as suggested here: > > Here is an alternative solution, where the QDBusConnection object is > just a local variable in main(), and passed around as a const reference. > To make the destructors work properly, I also replaced the exit() calls > in main() with return statements. > > With this patch (placed in /usr/ports/devel/dbus-qt4/files), qdbus > starts up and exits normally for me. I did not do any other rigorous > testing, though. :) Thanks for the awesome analysis. I will endeavor to figure out the bug in automoc4 that keeps it segfaulting randomly during compilation. Weirdly it segfaults reliably under portmaster, but may work just fine under just make.Received on Fri Dec 07 2012 - 15:43:57 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC