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.



_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to