Bug 258285 - KDevelop crashed when initiating build
Summary: KDevelop crashed when initiating build
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Build tools: CMake (show other bugs)
Version: 4.1.60
Platform: openSUSE Linux
: NOR crash
Target Milestone: 4.2.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-29 15:57 UTC by Alex Richardson
Modified: 2010-11-29 19:58 UTC (History)
1 user (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 Alex Richardson 2010-11-29 15:57:40 UTC
Application: kdevelop (4.1.60)
KDE Platform Version: 4.5.80 (4.6 Beta1)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.5-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
I just klicked on the build selection button and then KDevelop crashed. I think I had a file selected and not a directory, but I'm not sure. Same thing happend to me once before. I will try to give more information if the crash occurrs again.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f9847653760 (LWP 29017))]

Thread 14 (Thread 0x7f982f7dc710 (LWP 29018)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f9843892072 in wait (this=<value optimized out>, mutex=0xba64c0, time=1000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xba64c0, time=1000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f984022ed0b in KDevelop::DUChainPrivate::CleanupThread::run (this=0xba64a0) at /home/alex/devel/KDevelop/kdevplatform/language/duchain/duchain.cpp:283
#4  0x00007f9843891a1e in QThreadPrivate::start (arg=0xba64a0) at thread/qthread_unix.cpp:285
#5  0x00007f9843602a4f in start_thread (arg=0x7f982f7dc710) at pthread_create.c:297
#6  0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f982e2d8710 (LWP 29019)):
#0  0x00007f9841cede13 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f984395d27d in QProcessManager::run (this=0x7f9843caff80) at io/qprocess_unix.cpp:245
#2  0x00007f9843891a1e in QThreadPrivate::start (arg=0x7f9843caff80) at thread/qthread_unix.cpp:285
#3  0x00007f9843602a4f in start_thread (arg=0x7f982e2d8710) at pthread_create.c:297
#4  0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f9828544710 (LWP 29142)):
#0  0xffffffffff600177 in ?? ()
#1  0x00007fff93b907a1 in ?? ()
#2  0x00007f983c77c2a3 in clock_gettime (clock_id=1, tp=0x7f9828543b60) at ../sysdeps/unix/clock_gettime.c:100
#3  0x00007f98438e4522 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x00007f98439a84ad in QTimerInfoList::updateCurrentTime (this=0x1b16360) at kernel/qeventdispatcher_unix.cpp:339
#6  0x00007f98439a8835 in QTimerInfoList::timerWait (this=0x1b16360, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#7  0x00007f98439a72ec in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f9828543c8c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x00007f98439a7395 in timerSourcePrepare (source=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#9  0x00007f983c4d3f7f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f983c4d4e69 in ?? () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f983c4d5510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#12 0x00007f98439a7ae6 in QEventDispatcherGlib::processEvents (this=0x1980620, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#13 0x00007f984397c262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x00007f984397c475 in QEventLoop::exec (this=0x7f9828543e20, flags=...) at kernel/qeventloop.cpp:201
#15 0x00007f984388f1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#16 0x00007f9843891a1e in QThreadPrivate::start (arg=0x1acbd40) at thread/qthread_unix.cpp:285
#17 0x00007f9843602a4f in start_thread (arg=0x7f9828544710) at pthread_create.c:297
#18 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f981ccdf710 (LWP 29143)):
#0  0x00007f98436050b4 in __pthread_mutex_lock (mutex=0x1af69e8) at pthread_mutex_lock.c:61
#1  0x00007f983c4d3fae in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f983c4d4e69 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f983c4d5510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f98439a7ae6 in QEventDispatcherGlib::processEvents (this=0x1b00f00, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f984397c262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f984397c475 in QEventLoop::exec (this=0x7f981ccdee20, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f984388f1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f9843891a1e in QThreadPrivate::start (arg=0x1b20630) at thread/qthread_unix.cpp:285
#9  0x00007f9843602a4f in start_thread (arg=0x7f981ccdf710) at pthread_create.c:297
#10 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f9827d43710 (LWP 29156)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9840e86af4 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f98411a8180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f9840e86b29 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f98411b6254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f9843602a4f in start_thread (arg=0x7f9827d43710) at pthread_create.c:297
#4  0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f981a337710 (LWP 29190)):
#0  0xffffffffff600177 in ?? ()
#1  0x00007fff93b907a1 in ?? ()
#2  0x00007f983c77c2a3 in clock_gettime (clock_id=1, tp=0x7f981a336b20) at ../sysdeps/unix/clock_gettime.c:100
#3  0x00007f98438e4522 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x00007f98439a84ad in QTimerInfoList::updateCurrentTime (this=0x2591230) at kernel/qeventdispatcher_unix.cpp:339
#6  0x00007f98439a8835 in QTimerInfoList::timerWait (this=0x2591230, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#7  0x00007f98439a72ec in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f981a336c4c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x00007f98439a7395 in timerSourcePrepare (source=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#9  0x00007f983c4d3f7f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f983c4d4e69 in ?? () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f983c4d5510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#12 0x00007f98439a7ae6 in QEventDispatcherGlib::processEvents (this=0x2579340, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#13 0x00007f984397c262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x00007f984397c475 in QEventLoop::exec (this=0x7f981a336de0, flags=...) at kernel/qeventloop.cpp:201
#15 0x00007f984388f1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#16 0x00007f984395d918 in QInotifyFileSystemWatcherEngine::run (this=0x2345e70) at io/qfilesystemwatcher_inotify.cpp:248
#17 0x00007f9843891a1e in QThreadPrivate::start (arg=0x2345e70) at thread/qthread_unix.cpp:285
#18 0x00007f9843602a4f in start_thread (arg=0x7f981a337710) at pthread_create.c:297
#19 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9819afb710 (LWP 29228)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f984389210b in wait (this=<value optimized out>, mutex=0x980570, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x980570, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9845b38254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa84a90, th=0x1cb7b40) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f9845b3b2a5 in waitForAvailableJob (this=0x853f40, th=0x1cb7b40) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x853f40, th=0x1cb7b40) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f9845b3864f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9819afae30, parent=0xa84a90, th=0x1cb7b40) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f9845b386d8 in ThreadWeaver::Thread::run (this=0x1cb7b40) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f9843891a1e in QThreadPrivate::start (arg=0x1cb7b40) at thread/qthread_unix.cpp:285
#9  0x00007f9843602a4f in start_thread (arg=0x7f9819afb710) at pthread_create.c:297
#10 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f98192fa710 (LWP 29229)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f984389210b in wait (this=<value optimized out>, mutex=0x980570, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x980570, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9845b38254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa84a90, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f9845b3b2a5 in waitForAvailableJob (this=0x853f40, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x853f40, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f9845b3b2be in ThreadWeaver::WorkingHardState::applyForWork (this=0x853f40, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f9845b3b2be in ThreadWeaver::WorkingHardState::applyForWork (this=0x853f40, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007f9845b3864f in ThreadWeaver::ThreadRunHelper::run (this=0x7f98192f9e30, parent=0xa84a90, th=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:87
#9  0x00007f9845b386d8 in ThreadWeaver::Thread::run (this=0x1193350) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:142
#10 0x00007f9843891a1e in QThreadPrivate::start (arg=0x1193350) at thread/qthread_unix.cpp:285
#11 0x00007f9843602a4f in start_thread (arg=0x7f98192fa710) at pthread_create.c:297
#12 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f98186c2710 (LWP 29233)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f983aaa2eb4 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4
#2  0x00007f9843602a4f in start_thread (arg=0x7f98186c2710) at pthread_create.c:297
#3  0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9813879710 (LWP 30409)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f984389210b in wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9845b38254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9285820, th=0x648e590) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f9845b3b2a5 in waitForAvailableJob (this=0x7ec29b0, th=0x648e590) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x7ec29b0, th=0x648e590) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f9845b3864f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9813878e30, parent=0x9285820, th=0x648e590) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f9845b386d8 in ThreadWeaver::Thread::run (this=0x648e590) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f9843891a1e in QThreadPrivate::start (arg=0x648e590) at thread/qthread_unix.cpp:285
#9  0x00007f9843602a4f in start_thread (arg=0x7f9813879710) at pthread_create.c:297
#10 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f982dad7710 (LWP 30536)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f984389210b in wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9845b38254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9285820, th=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f9845b3b2a5 in waitForAvailableJob (this=0x7ec29b0, th=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x7ec29b0, th=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f9845b3b2be in ThreadWeaver::WorkingHardState::applyForWork (this=0x7ec29b0, th=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f9845b3864f in ThreadWeaver::ThreadRunHelper::run (this=0x7f982dad6e30, parent=0x9285820, th=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:87
#8  0x00007f9845b386d8 in ThreadWeaver::Thread::run (this=0xc3e9ef0) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:142
#9  0x00007f9843891a1e in QThreadPrivate::start (arg=0xc3e9ef0) at thread/qthread_unix.cpp:285
#10 0x00007f9843602a4f in start_thread (arg=0x7f982dad7710) at pthread_create.c:297
#11 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f982d2d6710 (LWP 31666)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f984389210b in wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x9342460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9845b38254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9285820, th=0x11e3c220) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f9845b3b2a5 in waitForAvailableJob (this=0x7ec29b0, th=0x11e3c220) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x7ec29b0, th=0x11e3c220) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f9845b3864f in ThreadWeaver::ThreadRunHelper::run (this=0x7f982d2d5e30, parent=0x9285820, th=0x11e3c220) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f9845b386d8 in ThreadWeaver::Thread::run (this=0x11e3c220) at /usr/src/debug/kdelibs-4.5.80/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f9843891a1e in QThreadPrivate::start (arg=0x11e3c220) at thread/qthread_unix.cpp:285
#9  0x00007f9843602a4f in start_thread (arg=0x7f982d2d6710) at pthread_create.c:297
#10 0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9811fd6710 (LWP 1803)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f9843892072 in wait (this=<value optimized out>, mutex=0xff9810, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xff9810, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f9843887e98 in QThreadPoolThread::run (this=0x13d8330) at concurrent/qthreadpool.cpp:140
#4  0x00007f9843891a1e in QThreadPrivate::start (arg=0x13d8330) at thread/qthread_unix.cpp:285
#5  0x00007f9843602a4f in start_thread (arg=0x7f9811fd6710) at pthread_create.c:297
#6  0x00007f9841cf482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9847653760 (LWP 29017)):
[KCrash Handler]
#6  QString (this=0xc1c220, item=0x2c10eb0) at /usr/include/QtCore/qstring.h:728
#7  buildDir (this=0xc1c220, item=0x2c10eb0) at /home/alex/devel/KDevelop/kdevelop/projectmanagers/cmake/cmakemodelitems.h:84
#8  CMakeManager::buildDirectory (this=0xc1c220, item=0x2c10eb0) at /home/alex/devel/KDevelop/kdevelop/projectmanagers/cmake/cmakemanager.cpp:172
#9  0x00007f982e50da2c in CMakeManager::buildDirectory (this=0xc1c220, item=0xf2ac7d0) at /home/alex/devel/KDevelop/kdevelop/projectmanagers/cmake/cmakemanager.cpp:174
#10 0x00007f982ebc1ea0 in MakeJob::computeBuildDir (this=0x508e120, item=0xf2ac7d0) at /home/alex/devel/KDevelop/kdevelop/projectbuilders/makebuilder/makejob.cpp:150
#11 0x00007f982ebc32fc in MakeJob::start (this=0x508e120) at /home/alex/devel/KDevelop/kdevelop/projectbuilders/makebuilder/makejob.cpp:86
#12 0x00007f9846b54d2f in KDevelop::RunController::registerJob (this=0xa83f90, job=0x508e120) at /home/alex/devel/KDevelop/kdevplatform/shell/runcontroller.cpp:546
#13 0x00007f9840827427 in KDevelop::BuilderJob::start (this=0x61ebcb0) at /home/alex/devel/KDevelop/kdevplatform/project/builderjob.cpp:164
#14 0x00007f9846b54d2f in KDevelop::RunController::registerJob (this=0xa83f90, job=0x61ebcb0) at /home/alex/devel/KDevelop/kdevplatform/shell/runcontroller.cpp:546
#15 0x00007f982aa86d2e in ProjectManagerViewPlugin::runBuilderJob (this=<value optimized out>, t=KDevelop::BuilderJob::Build) at /home/alex/devel/KDevelop/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp:343
#16 0x00007f982aa8a29c in ProjectManagerViewPlugin::qt_metacall (this=0x1632ed0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff93acc600) at /home/alex/devel/KDevelop/kdevplatform/build/plugins/projectmanagerview/projectmanagerviewplugin.moc:109
#17 0x00007f9843991fef in QMetaObject::activate (sender=0x1621c80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff93acc600) at kernel/qobject.cpp:3272
#18 0x00007f9842b17952 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#19 0x00007f9842b17b4a in QAction::activate (this=0x1621c80, event=<value optimized out>) at kernel/qaction.cpp:1257
#20 0x00007f9842edaa6a in QAbstractButtonPrivate::click (this=0x163a820) at widgets/qabstractbutton.cpp:528
#21 0x00007f9842edad1c in QAbstractButton::mouseReleaseEvent (this=0x16380d0, e=0x7fff93accfd0) at widgets/qabstractbutton.cpp:1121
#22 0x00007f9842f9724a in QToolButton::mouseReleaseEvent (this=<value optimized out>, e=<value optimized out>) at widgets/qtoolbutton.cpp:721
#23 0x00007f9842b6f4a8 in QWidget::event (this=0x16380d0, event=0x7fff93accfd0) at kernel/qwidget.cpp:8200
#24 0x00007f9842b1dcd4 in QApplicationPrivate::notify_helper (this=0x6707e0, receiver=0x16380d0, e=0x7fff93accfd0) at kernel/qapplication.cpp:4445
#25 0x00007f9842b26a4a in QApplication::notify (this=<value optimized out>, receiver=0x16380d0, e=0x7fff93accfd0) at kernel/qapplication.cpp:4006
#26 0x00007f98440b6976 in KApplication::notify (this=0x7fff93acdf90, receiver=0x16380d0, event=0x7fff93accfd0) at /usr/src/debug/kdelibs-4.5.80/kdeui/kernel/kapplication.cpp:311
#27 0x0000000000405219 in KDevelopApplication::notify (this=0x7fff93acdf90, receiver=0x16380d0, event=0x7fff93accfd0) at /home/alex/devel/KDevelop/kdevelop/app/main.cpp:90
#28 0x00007f984397ce2c in QCoreApplication::notifyInternal (this=0x7fff93acdf90, receiver=0x16380d0, event=0x7fff93accfd0) at kernel/qcoreapplication.cpp:732
#29 0x00007f9842b1ecd5 in sendEvent (receiver=0x16380d0, event=0x7fff93accfd0, alienWidget=0x16380d0, nativeWidget=0xb35410, buttonDown=0x7f98435f9178, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:215
#30 QApplicationPrivate::sendMouseEvent (receiver=0x16380d0, event=0x7fff93accfd0, alienWidget=0x16380d0, nativeWidget=0xb35410, buttonDown=0x7f98435f9178, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3105
#31 0x00007f9842b9cef8 in QETWidget::translateMouseEvent (this=0xb35410, event=<value optimized out>) at kernel/qapplication_x11.cpp:4438
#32 0x00007f9842b9b5d9 in QApplication::x11ProcessEvent (this=0x7fff93acdf90, event=0x7fff93acd930) at kernel/qapplication_x11.cpp:3564
#33 0x00007f9842bc3212 in x11EventSourceDispatch (s=0x655340, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#34 0x00007f983c4d4a93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#35 0x00007f983c4d5270 in ?? () from /usr/lib64/libglib-2.0.so.0
#36 0x00007f983c4d5510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#37 0x00007f98439a7a8f in QEventDispatcherGlib::processEvents (this=0x61dec0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#38 0x00007f9842bc2eae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x00007f984397c262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#40 0x00007f984397c475 in QEventLoop::exec (this=0x7fff93acdc50, flags=...) at kernel/qeventloop.cpp:201
#41 0x00007f98439808db in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#42 0x000000000040b97b in main (argc=<value optimized out>, argv=0x7fff93acfe88) at /home/alex/devel/KDevelop/kdevelop/app/main.cpp:468

Possible duplicates by query: bug 218555.

Reported using DrKonqi
Comment 1 Milian Wolff 2010-11-29 16:32:42 UTC
if you ever find a way to reproduce, please run kdevelop through valgrind:

valgrind --track-origins=yes --num-callers=25 kdevelop

To me it looks as if the item was invalid... Aleix, do you have any other idea?
Comment 2 Aleix Pol 2010-11-29 19:04:06 UTC
More information would be nice indeed, I'm not sure what can have happened but I'll be attentive.
Comment 3 Alex Richardson 2010-11-29 19:30:27 UTC
I found that this was reproducible, I also tried debugging it, but somehow GDB didn't play nicely.

It always happens when I have kdevplatform/plugins/classbrowser/classmodel.cpp selected and then press the build button.

It seems the dynamic_cast before call fi->buildDir() fails and therefore a null pointer is being dereferenced. I don't know enough about the code to fix this, but I hope the given information should suffice to fix the issue.

For now I'll just make sure I don't have a file selected when I build. Strangely enough it doesn't happen with all files but I don't want to risk it.
Comment 4 Aleix Pol 2010-11-29 19:58:32 UTC
commit 4d05d482ccb38029b1e5604e2b1b3594c39b492c
branch master
Author: Aleix Pol <aleixpol@kde.org>
Date:   Mon Nov 29 19:45:34 2010 +0100

    Always check if the current item to retrieve the builddir from is a folder.
    
    BUG: 258285

diff --git a/projectmanagers/cmake/cmakemanager.cpp b/projectmanagers/cmake/cmakemanager.cpp
index 5e8ac7d..b8c9b2a 100644
--- a/projectmanagers/cmake/cmakemanager.cpp
+++ b/projectmanagers/cmake/cmakemanager.cpp
@@ -165,17 +165,14 @@ KUrl CMakeManager::buildDirectory(KDevelop::ProjectBaseItem *item) const
 {
     KUrl ret;
     ProjectBaseItem* parent = item->parent();
-    if (!parent) {
+    if (parent)
+        ret=buildDirectory(parent);
+    else
         ret=CMake::currentBuildDir(item->project());
-        
-        CMakeFolderItem *fi=dynamic_cast<CMakeFolderItem*>(item);
+    
+    CMakeFolderItem *fi=dynamic_cast<CMakeFolderItem*>(item);
+    if(fi)
         ret.addPath(fi->buildDir());
-    } else {
-        ret=buildDirectory(parent);
-        CMakeFolderItem *fi=dynamic_cast<CMakeFolderItem*>(item);
-        if(fi)
-            ret.addPath(fi->buildDir());
-    }
     return ret;
 }