Re: problems with threads/destructors in -current with llvm/clang

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Fri, 07 Dec 2012 15:08:34 +0100
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. :)


Received on Fri Dec 07 2012 - 13:08:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC