I have written an application in c++ which uses Qt 4.7.4. When starting up, it loads some selfwritten dynamic libraries which also use Qt (if this could be useful in a way).
When closing the application, sometimes it crashes with a SIGSEGV and the following backtrace:
#0 malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5155
#1 0x00007ffff5591659 in malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5115
#2 _int_free (av=0x7ffff58b21c0, p=) at malloc.c:5034
#3 0x00007ffff5594d7c in __GI___libc_free (mem=) at malloc.c:3738
#4 0x00007ffff5e9e0ac in QString::free (d=0xdb0290) at tools/qstring.cpp:1186
#5 0x00007fffe60b3d83 in ~QString (this=0xba0328, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qstring.h:883
#6 node_destruct (to=0xba0328, from=0xba0328, this=) at ../../include/QtCore/../../src/corelib/tools/qlist.h:420
#7 QList::free (data=0xba0310, this=) at ../../include/QtCore/../../src/corelib/tools/qlist.h:744
#8 0x00007fffe60c2b49 in ~QList (this=0xba0388, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qlist.h:719
#9 ~QStringList (this=0xba0388, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qstringlist.h:66
#10 ~SignalHook (this=0xba0358, __in_chrg=) at qdbusconnection_p.h:121
#11 ~QHashNode (this=0xba0340, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qhash.h:216
#12 QHash::deleteNode2 (node=0xba0340) at ../../include/QtCore/../../src/corelib/tools/qhash.h:519
#13 0x00007ffff5e754da in QHashData::free_helper (this=0xd8aec0, node_delete=0x7fffe60c2ae0 ::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:271
#14 0x00007fffe60ba733 in freeData (x=, this=) at ../../include/QtCore/../../src/corelib/tools/qhash.h:568
#15 ~QHash (this=, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qhash.h:284
#16 ~QMultiHash (this=0xba3498, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qhash.h:922
#17 ~QMultiHash (this=0xba3498, __in_chrg=) at qdbusintegrator.cpp:998
#18 QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0xba33f0, __in_chrg=) at qdbusintegrator.cpp:998
#19 0x00007fffe60ba939 in QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0xba33f0, __in_chrg=) at qdbusintegrator.cpp:1016
#20 0x00007fffe60afe43 in ~QDBusDefaultConnection (this=0xba55a0, __in_chrg=) at qdbusconnection.cpp:993
#21 QGlobalStaticDeleter::~QGlobalStaticDeleter (this=0x7fffe63102f8, __in_chrg=) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1825
#22 0x00007ffff5553821 in __run_exit_handlers (status=0, listp=0x7ffff58b05a8, run_list_atexit=true) at exit.c:78
#23 0x00007ffff55538a5 in __GI_exit (status=) at exit.c:100
#24 0x00007ffff5539314 in __libc_start_main (main=0x493935 , argc=1, ubp_av=0x7fffffffde58, init=, fini=, rtld_fini=, stack_end=0x7fffffffde48) at libc-start.c:258
#25 0x0000000000421a99 in _start ()
and sometimes this one
#0 malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5155
#1 0x00007ffff5591659 in malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5115
#2 _int_free (av=0x7ffff58b21c0, p=) at malloc.c:5034
#3 0x00007ffff5594d7c in __GI___libc_free (mem=) at malloc.c:3738
#4 0x00007ffff5f4d5a9 in ~QVector (this=0x767c40, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qvector.h:119
#5 QGlobalStaticDeleter >::~QGlobalStaticDeleter (this=0x7ffff6274898, __in_chrg=) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1825
#6 0x00007ffff5553c3d in __cxa_finalize (d=0x7ffff6273d20) at cxa_finalize.c:56
#7 0x00007ffff5e3e0a6 in __do_global_dtors_aux () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8 0x00007fffffffd7c0 in ?? ()
#9 0x00007fffffffdd30 in ?? ()
#10 0x00007ffff5f9e5a1 in _fini () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x000000000000009f in ?? ()
#12 0x00007ffff7deb105 in ?? () from /lib64/ld-linux-x86-64.so.2
or this one
#0 malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5155
#1 0x00007ffff5591659 in malloc_consolidate (av=0x7ffff58b21c0) at malloc.c:5115
#2 _int_free (av=0x7ffff58b21c0, p=) at malloc.c:5034
#3 0x00007ffff5594d7c in __GI___libc_free (mem=) at malloc.c:3738
#4 0x00007ffff5e86bbe in freeData (x=, this=) at ../../include/QtCore/../../src/corelib/tools/qmap.h:654
#5 ~QMap (this=0x10af198, __in_chrg=) at ../../include/QtCore/../../src/corelib/tools/qmap.h:187
#6 ~QMap (this=0x10af198, __in_chrg=) at tools/qvector.h:430
#7 ~QRegExpAutomatonState (this=0x10af180, __in_chrg=) at tools/qregexp.cpp:947
#8 QVector::free (x=0x10af0f0, this=) at tools/qvector.h:438
#9 0x00007ffff5e969a9 in clear (this=) at tools/qcache.h:139
#10 ~QCache (this=, __in_chrg=) at tools/qcache.h:103
#11 QGlobalStaticDeleter >::~QGlobalStaticDeleter (this=0x7ffff6274368, __in_chrg=) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1825
#12 0x00007ffff5553821 in __run_exit_handlers (status=0, listp=0x7ffff58b05a8, run_list_atexit=true) at exit.c:78
#13 0x00007ffff55538a5 in __GI_exit (status=) at exit.c:100
#14 0x00007ffff5539314 in __libc_start_main (main=0x493935 , argc=1, ubp_av=0x7fffffffde58, init=, fini=, rtld_fini=, stack_end=0x7fffffffde48) at libc-start.c:258
#15 0x0000000000421a99 in _start ()
And there are some more...
I think they are all related but I really can't figure out how and why this occurs (note that in no trace any of my code is listed).
Thank you very much for some hints, why this could occur or where I should start searching.