[Qt-interest] sigsegv with exceptions
Lars Amsel
lars.amsel at signalion.com
Fri Aug 28 15:00:37 CEST 2009
Hi,
I have a precompiled qt mingw 4.5.2 running on win xp. The MinGW is the
distribution that is shipped with precompiled qt-mingw.
In my program I have thread that receives udp packages. The package is
unpacked an the resulting Object is checked against several conditions. On
failure an exception is thrown. These exceptions kill my program with a
sigsegv. To track things down I inserted the following code instead of the check
try {
throw MyException("test);
} catch (MyException& ex) {
qDebug() << "catched"
}
This leads to the following stack trace
Thread [13] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation
fault.)
8 <symbol is not available> 0x0022b67c
7 _Unwind_SjLj_RaiseException() c:\mingw\include\c++\3.4.2\iostream:77
0x04e09bcc
6 __cxa_throw() c:\mingw\include\c++\3.4.2\iostream:77 0x04e00365
5 Channel::run() D:\Dokumente und Einstellungen\amsel\Eigene
Dateien\workspace\MyApp\Channel.cpp:67 0x04dd375f
4 QThreadPrivate::start()
C:\Programme\Qt-MinGW\4.5.2\src\corelib\thread\qthread_win.cpp:307 0x6a114ed5
3 msvcrt!_endthreadex() 0x77c0a3b0
2 KERNEL32!GetModuleFileNameA() 0x7c80b713
1 <symbol is not available> 0x00000000
The code runs inside a dll, that is build with -fexceptions and -mthreads. Any
tip that points a search direction is very welcome.
regards
Lars
More information about the Qt-interest-old
mailing list