Bug 310064 - Crash after adding a new class [Grantlee::NodeList::render ]
Summary: Crash after adding a new class [Grantlee::NodeList::render ]
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 4.3.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 310501 310880 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-11-13 23:26 UTC by Daniel Vrátil
Modified: 2012-12-01 20:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Vrátil 2012-11-13 23:26:30 UTC
Application: kdevelop (4.4.60)
KDE Platform Version: 4.9.3
Qt Version: 4.8.3
Operating System: Linux 3.6.6-3.fc18.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
KDevelop crashed when I finished the "New Class" wizard without creating the class.

The crash happens only when using the "New class" wizard for the second time. After restarting KDevelop, I can create a new class without any problems. Creating one more class crashes KDevelop though.

This happens with recent git master.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f5771eff880 (LWP 31855))]

Thread 17 (Thread 0x7f5766fcf700 (LWP 31856)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x0000003827c7bc87 in wait (time=1000, this=0x238f860) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x239a3a0, time=1000) at thread/qwaitcondition_unix.cpp:158
#3  0x00000038316c198f in KDevelop::DUChainPrivate::CleanupThread::run (this=<optimized out>) at /home/data/clones/kdevplatform/language/duchain/duchain.cpp:282
#4  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x239a380) at thread/qthread_unix.cpp:338
#5  0x0000003ba6207d15 in start_thread (arg=0x7f5766fcf700) at pthread_create.c:308
#6  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 16 (Thread 0x7f5765ad6700 (LWP 31857)):
#0  0x0000003ba5aeb5f3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003827d55b32 in QProcessManager::run (this=0x38280cf520 <processManager()::processManager>) at io/qprocess_unix.cpp:245
#2  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x38280cf520 <processManager()::processManager>) at thread/qthread_unix.cpp:338
#3  0x0000003ba6207d15 in start_thread (arg=0x7f5765ad6700) at pthread_create.c:308
#4  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 15 (Thread 0x7f574e2f8700 (LWP 31859)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003831d86a77 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x3832094660 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x0000003831d86aa9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x0000003ba6207d15 in start_thread (arg=0x7f574e2f8700) at pthread_create.c:308
#4  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 14 (Thread 0x7f56cca46700 (LWP 31860)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f56c8002ea0, timeout=-1, context=0x7f56c80009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f56c80009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f56c80009a0, may_block=1) at gmain.c:3351
#4  0x0000003827da6156 in QEventDispatcherGlib::processEvents (this=0x7f56c80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56cca45d00, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56cca45d00, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x355b940) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f56cca46700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 13 (Thread 0x7f56c7fff700 (LWP 31861)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f56c0002ca0, timeout=-1, context=0x7f56c00009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f56c00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f56c00009a0, may_block=1) at gmain.c:3351
#4  0x0000003827da6156 in QEventDispatcherGlib::processEvents (this=0x7f56c00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56c7ffed00, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56c7ffed00, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x3550060) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f56c7fff700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 12 (Thread 0x7f56c701f700 (LWP 31866)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=2, fds=0x7f56b80029b0, timeout=-1, context=0x7f56b80009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f56b80009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f56b80009a0, may_block=1) at gmain.c:3351
#4  0x0000003827da6176 in QEventDispatcherGlib::processEvents (this=0x7f56b80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56c701ecd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56c701ecd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827d5763f in QInotifyFileSystemWatcherEngine::run (this=0x5319fb0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x5319fb0) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f56c701f700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 11 (Thread 0x7f56bdffb700 (LWP 31949)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f56a8056670, timeout=7020, context=0x7f56a801c050, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f56a801c050, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f56a801c050, may_block=1) at gmain.c:3351
#4  0x0000003827da6176 in QEventDispatcherGlib::processEvents (this=0x7f56a80939f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56bdffad00, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56bdffad00, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x7f56b0649020) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f56bdffb700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 10 (Thread 0x7f56be7fc700 (LWP 32056)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003835c1672d in WTF::TCMalloc_PageHeap::scavengerThread (this=0x3836600ce0 <WTF::pageheap_memory>) at wtf/FastMalloc.cpp:2495
#2  0x0000003835c16839 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1618
#3  0x0000003ba6207d15 in start_thread (arg=0x7f56be7fc700) at pthread_create.c:308
#4  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 9 (Thread 0x7f56bf7fe700 (LWP 32068)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=2, fds=0x7f56a40540f0, timeout=-1, context=0x7f56a4022200, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f56a4022200, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f56a4022200, may_block=1) at gmain.c:3351
#4  0x0000003827da6156 in QEventDispatcherGlib::processEvents (this=0x7f56a403e8b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56bf7fdcd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56bf7fdcd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827d5763f in QInotifyFileSystemWatcherEngine::run (this=0x5decd30) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x5decd30) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f56bf7fe700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 8 (Thread 0x7f56a3fff700 (LWP 32212)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x1486380) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x14860e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1485f10, th=0x65c25b0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1486140, th=0x65c25b0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1486140, th=0x65c25b0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f56a3ffed00, parent=0x1485f10, th=th@entry=0x65c25b0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#7  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x65c25b0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#8  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x65c25b0) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f56a3fff700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 7 (Thread 0x7f56a37fe700 (LWP 32213)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x1486380) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x14860e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1485f10, th=0x4c1ee10) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1486140, th=0x4c1ee10) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f56a37fdd00, parent=0x1485f10, th=th@entry=0x4c1ee10) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#6  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x4c1ee10) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#7  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x4c1ee10) at thread/qthread_unix.cpp:338
#8  0x0000003ba6207d15 in start_thread (arg=0x7f56a37fe700) at pthread_create.c:308
#9  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 6 (Thread 0x7f56bd1e1700 (LWP 428)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x842b7d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7e7b920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x416a590, th=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f56bd1e0d00, parent=0x416a590, th=th@entry=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#8  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x7e905d0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#9  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x7e905d0) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f56bd1e1700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 5 (Thread 0x7f56bffff700 (LWP 429)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x842b7d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7e7b920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x416a590, th=0x81c2070) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x81c2070) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f56bfffed00, parent=0x416a590, th=th@entry=0x81c2070) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#6  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x81c2070) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#7  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x81c2070) at thread/qthread_unix.cpp:338
#8  0x0000003ba6207d15 in start_thread (arg=0x7f56bffff700) at pthread_create.c:308
#9  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 4 (Thread 0x7f56a20b4700 (LWP 508)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x842b7d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7e7b920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x416a590, th=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f56a20b3d00, parent=0x416a590, th=th@entry=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#9  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x44a15a0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#10 0x0000003827c7b7cc in QThreadPrivate::start (arg=0x44a15a0) at thread/qthread_unix.cpp:338
#11 0x0000003ba6207d15 in start_thread (arg=0x7f56a20b4700) at pthread_create.c:308
#12 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 3 (Thread 0x7f5657fff700 (LWP 509)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x0000003827c7bd2b in wait (time=18446744073709551615, this=0x842b7d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x7e7b920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003830e0aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x416a590, th=0x7e9b900) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003830e0d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x7e9b900) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003830e0d334 in ThreadWeaver::WorkingHardState::applyForWork (this=0x35066c0, th=0x7e9b900) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x0000003830e0c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f5657ffed00, parent=0x416a590, th=th@entry=0x7e9b900) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#7  0x0000003830e0c21b in ThreadWeaver::Thread::run (this=0x7e9b900) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#8  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x7e9b900) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f5657fff700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 2 (Thread 0x7f56a18b3700 (LWP 4465)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=2, fds=0x7f564801ff60, timeout=-1, context=0x7f564801d660, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f564801d660, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f564801d660, may_block=1) at gmain.c:3351
#4  0x0000003827da6156 in QEventDispatcherGlib::processEvents (this=0x7f56480012e0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7f56a18b2cd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003827d770b8 in QEventLoop::exec (this=0x7f56a18b2cd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003827c787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x0000003827d5763f in QInotifyFileSystemWatcherEngine::run (this=0x7ae3da0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0000003827c7b7cc in QThreadPrivate::start (arg=0x7ae3da0) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f56a18b3700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 1 (Thread 0x7f5771eff880 (LWP 31855)):
[KCrash Handler]
#6  0x00007f5656fa9d10 in ?? ()
#7  0x0000003827d8466c in QMetaType::construct (type=<optimized out>, copy=0x7fffe7b46280) at kernel/qmetatype.cpp:1237
#8  0x0000003827d9d516 in construct (x=0x7fffe7b46310, copy=0x7fffe7b46280) at kernel/qvariant.cpp:185
#9  0x0000003828c009e8 in construct (x=0x7fffe7b46310, copy=0x7fffe7b46280) at kernel/qguivariant.cpp:182
#10 0x0000003827d98a95 in QVariant::QVariant (this=0x7fffe7b46310, typeOrUserType=<optimized out>, copy=<optimized out>, flags=<optimized out>) at kernel/qvariant.cpp:1686
#11 0x00007f565691c47b in qVariantSetValue<BlockContext> (t=..., v=...) at /usr/include/QtCore/qvariant.h:473
#12 setValue<BlockContext> (avalue=..., this=0x5c8e8f8) at /usr/include/QtCore/qvariant.h:528
#13 ExtendsNode::render (this=0x8026b50, stream=0x7fffe7b464d0, c=0x9678e38) at /usr/src/debug/grantlee-0.3.0/templates/loadertags/extends.cpp:151
#14 0x000000383123037e in Grantlee::NodeList::render (this=0x8a24878, stream=0x7fffe7b464d0, c=0x9678e38) at /usr/src/debug/grantlee-0.3.0/templates/lib/node.cpp:161
#15 0x000000383123dcff in Grantlee::TemplateImpl::render (this=<optimized out>, stream=0x7fffe7b464d0, c=0x9678e38) at /usr/src/debug/grantlee-0.3.0/templates/lib/template.cpp:91
#16 0x00000038317af44e in KDevelop::TemplateRenderer::render (this=<optimized out>, content=..., name=...) at /home/data/clones/kdevplatform/language/codegen/templaterenderer.cpp:193
#17 0x00000038317b05b6 in KDevelop::TemplateRenderer::renderFileTemplate (this=<optimized out>, fileTemplate=..., baseUrl=..., fileUrls=...) at /home/data/clones/kdevplatform/language/codegen/templaterenderer.cpp:364
#18 0x00000038317a7713 in KDevelop::TemplateClassGenerator::generate (this=<optimized out>) at /home/data/clones/kdevplatform/language/codegen/templateclassgenerator.cpp:114
#19 0x00007f56cd2fc1aa in CppTemplateNewClass::generate (this=0x7fd3700) at /home/data/clones/kdevelop/languages/cpp/codegen/cppclasshelper.cpp:207
#20 0x00007f575052f238 in KDevelop::TemplateClassAssistant::accept (this=0x34f5090) at /home/data/clones/kdevplatform/plugins/filetemplates/templateclassassistant.cpp:552
#21 0x0000003827d8e89f in QMetaObject::activate (sender=0x34f5090, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#22 0x00000039785ab0c5 in KDialog::slotButtonClicked (this=<optimized out>, button=<optimized out>) at /home/progdan/projects/kde/kdelibs/kdeui/dialogs/kdialog.cpp:900
#23 0x00000039785ab5a5 in KDialog::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/progdan/projects/kde/kdelibs/build-root/kdeui/kdialog.moc:166
#24 0x0000003827d8e89f in QMetaObject::activate (sender=0x591c710, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe7b46be0) at kernel/qobject.cpp:3547
#25 0x0000003827d9334e in QSignalMapper::mapped (this=this@entry=0x591c710, _t1=4096) at .moc/release-shared/moc_qsignalmapper.cpp:114
#26 0x0000003827d93555 in QSignalMapper::map (this=0x591c710, sender=0x8afda90) at kernel/qsignalmapper.cpp:266
#27 0x0000003827d8e89f in QMetaObject::activate (sender=0x8afda90, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe7b46d70) at kernel/qobject.cpp:3547
#28 0x000000382922e6d2 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:219
#29 0x0000003828f8387e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x43babe0) at widgets/qabstractbutton.cpp:548
#30 0x0000003828f83e80 in QAbstractButtonPrivate::click (this=this@entry=0x43babe0) at widgets/qabstractbutton.cpp:541
#31 0x0000003828f840ec in QAbstractButton::mouseReleaseEvent (this=0x8afda90, e=0x7fffe7b47630) at widgets/qabstractbutton.cpp:1123
#32 0x0000003828c19d00 in QWidget::event (this=0x8afda90, event=0x7fffe7b47630) at kernel/qwidget.cpp:8371
#33 0x0000003828bca4cc in QApplicationPrivate::notify_helper (this=0x1002a60, receiver=0x8afda90, e=0x7fffe7b47630) at kernel/qapplication.cpp:4557
#34 0x0000003828bcf1ab in QApplication::notify (this=<optimized out>, receiver=0x8afda90, e=0x7fffe7b47630) at kernel/qapplication.cpp:4100
#35 0x000000397864449e in KApplication::notify (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at /home/progdan/projects/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#36 0x0000003827d780de in QCoreApplication::notifyInternal (this=0x7fffe7b48560, receiver=0x8afda90, event=0x7fffe7b47630) at kernel/qcoreapplication.cpp:915
#37 0x0000003828bcb30b in QApplicationPrivate::sendMouseEvent (receiver=0x8afda90, event=0x7fffe7b47630, alienWidget=0x8afda90, nativeWidget=0x910d930, buttonDown=0x382969d268 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231
#38 0x0000003828c45a44 in QETWidget::translateMouseEvent (this=this@entry=0x910d930, event=event@entry=0x7fffe7b47da0) at kernel/qapplication_x11.cpp:4528
#39 0x0000003828c447d1 in QApplication::x11ProcessEvent (this=0x7fffe7b48560, event=0x7fffe7b47da0) at kernel/qapplication_x11.cpp:3651
#40 0x0000003828c6a8fc in x11EventSourceDispatch (s=s@entry=0x1005320, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#41 0x0000003ba5647a95 in g_main_dispatch (context=0x1004000) at gmain.c:2715
#42 g_main_context_dispatch (context=context@entry=0x1004000) at gmain.c:3219
#43 0x0000003ba5647dc8 in g_main_context_iterate (context=context@entry=0x1004000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#44 0x0000003ba5647e84 in g_main_context_iteration (context=0x1004000, may_block=1) at gmain.c:3351
#45 0x0000003827da6176 in QEventDispatcherGlib::processEvents (this=0xf495c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#46 0x0000003828c6a5de in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#47 0x0000003827d76e2f in QEventLoop::processEvents (this=this@entry=0x7fffe7b48170, flags=...) at kernel/qeventloop.cpp:149
#48 0x0000003827d770b8 in QEventLoop::exec (this=0x7fffe7b48170, flags=...) at kernel/qeventloop.cpp:204
#49 0x0000003827d7bea8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#50 0x000000000040d531 in main (argc=<optimized out>, argv=<optimized out>) at /home/data/clones/kdevelop/app/main.cpp:503

Reported using DrKonqi
Comment 1 Daniel Vrátil 2012-11-13 23:29:34 UTC
To be more clear: KDevelop crashed when I clicked "Finish" on the last page of the "New Class" wizard and respective .cpp and .h files were not created by KDevelop before the crash.
Comment 2 Milian Wolff 2012-11-30 15:56:44 UTC
Git commit d051357753220b47d1e5105850b3cd5038ec4b63 by Milian Wolff.
Committed on 30/11/2012 at 16:47.
Pushed by mwolff into branch 'tabbed-filetemplate-preview'.

Create a singleton TemplateEngine that owns the Grantlee engine.

Grantlee tries to unload plugins when the engine is unloaded which
is hazardous and can lead to random crashes.

This also makes more sense from the API point of view since the
engine should not have a 1to1 relationship to a Grantle::Context.
Instead, that should be a 1toN relationship.

I have a bad feeling though: The ArchiveTemplateLoader, which get
registered to the Engine, store a raw KArchiveDirectory* pointer
which will probably be invalid as soon as the KArchive gets destroyed.
This just begs to break down eventually, yet I do not see a way to
unload a template loader from Grantlee. Probably we should refactor
the ArchiveTemplateLoader to reflect its temporary nature. I think
a RAII pattern should work, paired with a single ArchiveLoader in
the engine that supports multiple archives registered by the RAII
class.

Anyhow even without the above this patch seems to resolve the crahes
in the new tabbed file template preview. Many thanks to Olivier JG
for investigating this issue!

M  +2    -0    language/CMakeLists.txt
M  +2    -4    language/codegen/templateclassgenerator.cpp
M  +1    -0    language/codegen/templateclassgenerator.h
A  +78   -0    language/codegen/templateengine.cpp     [License: LGPL (v2+)]
A  +68   -0    language/codegen/templateengine.h     [License: LGPL (v2+)]
A  +40   -0    language/codegen/templateengine_p.h     [License: LGPL (v2+)]
M  +17   -50   language/codegen/templaterenderer.cpp
M  +2    -13   language/codegen/templaterenderer.h
M  +2    -1    plugins/filetemplates/templateclassassistant.cpp

http://commits.kde.org/kdevplatform/d051357753220b47d1e5105850b3cd5038ec4b63
Comment 3 Kevin Funk 2012-12-01 20:38:03 UTC
*** Bug 310880 has been marked as a duplicate of this bug. ***
Comment 4 Kevin Funk 2012-12-01 20:53:46 UTC
*** Bug 310501 has been marked as a duplicate of this bug. ***