[kde-freebsd] Re: Segfault in Qt when using CMake.

Raphael Kubo da Costa kubito at gmail.com
Wed May 11 06:54:18 CEST 2011


On Monday 02 May 2011 13:49:17 arrowdodger wrote:
> Hello. I'm running 8-STABLE with Qt-4.7.2 and CMake-2.8.4.
> If i (re)configure my project using `cmake` or `ccmake`, everything is fine.
> But when i use `cmake-gui`, i get segfaults all around. For example, when
> i'm doing clean "configure" of project into empty directory and hit
> "configure" button, i get crash. I understand, that everything is compiled
> without -g, but hope backtrace would be still useful:

[snip]

> It's worth mentioning that KDevelop crashes the same way when i edit CMake
> variables from CMakeLists.txt and hit OK (this triggers reconfigure, which
> in turn lead to crash). I'll glad to help you with providing additional
> information if necessary.

Hmm, I can reproduce the cmake-gui crash with 8-STABLE and a recent checkout 
of the 4.7 Qt git branch. This is the log valgrind gives me:

Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
==33442== 
==33442== Process terminating with default action of signal 6 (SIGABRT): 
dumping core
==33442==    at 0x32DCECC: __sys_kill (in /lib/libc.so.7)
==33442==    by 0x32DBE52: abort (in /lib/libc.so.7)
==33442==    by 0x2C736B6: __gnu_cxx::__verbose_terminate_handler() 
(vterminate.cc:95)
==33442==    by 0x2C70AE5: __cxxabiv1::__terminate(void (*)()) 
(eh_terminate.cc:40)
==33442==    by 0x2C70B32: std::terminate() (eh_terminate.cc:50)
==33442==    by 0x2C70C75: __cxa_rethrow (eh_throw.cc:116)
==33442==    by 0x270AA6A: 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:214)
==33442==    by 0x25F388A: QThread::exec() (qthread.cpp:492)
==33442==    by 0x426EC6: QCMakeThread::run() (CMakeSetupDialog.cxx:52)
==33442==    by 0x25F6134: QThreadPrivate::start(void*) (qthread_unix.cpp:331)
==33442==    by 0x43B82D0: ??? (in /lib/libthr.so.3)

Which looks really weird. gdb isn't very helpful as I haven't compiled my libc 
with debug symbols.

Is anyone able to reproduce this in 7.x or 9-CURRENT?


More information about the kde-freebsd mailing list