[Qt-interest] TimerIds Destructor crashes when exiting application
Thiago Macieira
thiago.macieira at trolltech.com
Thu Aug 13 07:47:40 CEST 2009
Srdjan Todorovic wrote:
>Hi,
>
>On 11/08/2009, Marc Ferland <ferlandm at sonatest.com> wrote:
>> Hi all,
>>
>> I'm having a really weird problem when I close my application and it
>> seems to be related to timers. Here's the stack when the application
>> is crashing:
>>
>> #0 0x00007f27c12d8ed5 in raise () from /lib/libc.so.6
>> #1 0x00007f27c12da3f3 in abort () from /lib/libc.so.6
>> #2 0x00007f27c13153a8 in ?? () from /lib/libc.so.6
>> #3 0x00007f27c131a948 in ?? () from /lib/libc.so.6
>> #4 0x00007f27c131ac10 in ?? () from /lib/libc.so.6
>> #5 0x00007f27c131c708 in ?? () from /lib/libc.so.6
>> #6 0x00007f27c131ca56 in free () from /lib/libc.so.6
>> #7 0x00007f27c312c15e in timerIdsDestructorFunction () at
>> kernel/qabstracteventdispatcher.cpp:74
>> #8 0x00007f27c312c769 in ~timerIdsDestructorFunction__dest_class__
>> (this=0x7f27c3479ac0) at kernel/qabstracteventdispatcher.cpp:76
>> #9 0x00007f27c12dbd88 in __cxa_finalize () from /lib/libc.so.6
>> #10 0x00007f27c3009a86 in __do_global_dtors_aux () from
>> /usr/local/Trolltech/Qt-4.5.2/lib/libQtCore.so.4
>> #11 0x00000000004a5b90 in ?? ()
>> #12 0x00007fffd0f82a60 in ?? ()
>> #13 0x00007f27c31a36e1 in _fini () from
>> /usr/local/Trolltech/Qt-4.5.2/lib/libQtCore.so.4
>> #14 0x0000000000000052 in ?? ()
>> #15 0x00007f27c8d75d64 in ?? () from /lib64/ld-linux-x86-64.so.2
>> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>>
>> Any of you seen this before?
>
>It doesn't make sense, since as gdb reports, the stack looks corrupt.
>Especially for frame 14.
Frame 14 is probably something in libc or the loader calling the library
_fini functions, to run static destructors.
>My gut feeling is that something previous to this is causing the
>problem (and in doing so, corrupts the stack frames).
I don't think the stack trace is corrupt. However, yes, something before
this is causing causing the problem. What, I have no clue.
>Also note frame 1, where libc's abort() function is called. Is this a
>libc-detected abort (double-free) or a plain old segmentation fault?
Yes, it's a libc-detected invalid free (frame 6). It's either a double-
free or a pointer that is not the result of malloc -- probably corrupt.
That's why I asked for a valgrind trace.
--
Thiago Macieira - thiago.macieira (AT) nokia.com
Senior Product Manager - Nokia, Qt Development Frameworks
Sandakerveien 116, NO-0402 Oslo, Norway
Qt Developer Days 2009 | Registration Now Open!
Munich, Germany: Oct 12 - 14 San Francisco, California: Nov 2 - 4
http://qt.nokia.com/qtdevdays2009
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090813/671d2b46/attachment.bin
More information about the Qt-interest-old
mailing list