Bug 319464 - Crash while parsing CMake project
Summary: Crash while parsing CMake project
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 4.4.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 4.3.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 320181 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-05-07 12:51 UTC by Blinov Vyacheslav
Modified: 2013-06-13 00:06 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
minimal example CMakeLists txt that crashes KDevelop (2.30 KB, text/plain)
2013-05-07 13:18 UTC, Blinov Vyacheslav
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Blinov Vyacheslav 2013-05-07 12:51:40 UTC
Application: kdevelop (4.4.1)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.0-19-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:

Changed one line of CMakeLists.txt, and then suddenly KDevelop crashed. Now it crashes every time I'm trying to open this project.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f64feec77c0 (LWP 29291))]

Thread 10 (Thread 0x7f64e2089700 (LWP 29292)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f64fc9b20a7 in wait (time=1000, this=0x3483710) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x3483540, time=1000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f64f8b0e27b in ?? () from /usr/lib/libkdevplatformlanguage.so.6
#4  0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x3483520) at thread/qthread_unix.cpp:338
#5  0x00007f64faa20f8e in start_thread (arg=0x7f64e2089700) at pthread_create.c:311
#6  0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f64cb53c700 (LWP 29295)):
#0  0x00007f64f5b1b359 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f64f5b1b5e9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f64f5adb9c2 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f64f5adc0fe in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f64f5adc304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f64fcadd036 in QEventDispatcherGlib::processEvents (this=0x7f64c40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f64fcaad38f in QEventLoop::processEvents (this=this@entry=0x7f64cb53bd90, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f64fcaad618 in QEventLoop::exec (this=this@entry=0x7f64cb53bd90, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f64fc9af410 in QThread::exec (this=this@entry=0x402e990) at thread/qthread.cpp:542
#9  0x00007f64fca8eedf in QInotifyFileSystemWatcherEngine::run (this=0x402e990) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x402e990) at thread/qthread_unix.cpp:338
#11 0x00007f64faa20f8e in start_thread (arg=0x7f64cb53c700) at pthread_create.c:311
#12 0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f64cab0b700 (LWP 29296)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f64f7e8fe77 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f64f7e8fea9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f64faa20f8e in start_thread (arg=0x7f64cab0b700) at pthread_create.c:311
#4  0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f64c8c72700 (LWP 29309)):
#0  0x00007f64f5ad94e0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f64f5adb89f in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f64f5adc0fe in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f64f5adc304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f64fcadd036 in QEventDispatcherGlib::processEvents (this=0x7f64bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f64fcaad38f in QEventLoop::processEvents (this=this@entry=0x7f64c8c71d90, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f64fcaad618 in QEventLoop::exec (this=this@entry=0x7f64c8c71d90, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f64fc9af410 in QThread::exec (this=this@entry=0x48ed070) at thread/qthread.cpp:542
#8  0x00007f64fca8eedf in QInotifyFileSystemWatcherEngine::run (this=0x48ed070) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x48ed070) at thread/qthread_unix.cpp:338
#10 0x00007f64faa20f8e in start_thread (arg=0x7f64c8c72700) at pthread_create.c:311
#11 0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f64c26fe700 (LWP 29385)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f64f2b5b585 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f64f2b5b5d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f64faa20f8e in start_thread (arg=0x7f64c26fe700) at pthread_create.c:311
#4  0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f64c2eff700 (LWP 29386)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f64f28a1a09 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f64f2b89cee in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f64faa20f8e in start_thread (arg=0x7f64c2eff700) at pthread_create.c:311
#4  0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f64c11e5700 (LWP 29389)):
#0  0x00007f64f5b1b359 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f64f5b1b5e9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f64f5adb8f3 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f64f5adc0fe in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f64f5adc304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f64fcadd036 in QEventDispatcherGlib::processEvents (this=0x7f64b8016390, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f64fcaad38f in QEventLoop::processEvents (this=this@entry=0x7f64c11e4dc0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f64fcaad618 in QEventLoop::exec (this=this@entry=0x7f64c11e4dc0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f64fc9af410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#9  0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x50d2bc0) at thread/qthread_unix.cpp:338
#10 0x00007f64faa20f8e in start_thread (arg=0x7f64c11e5700) at pthread_create.c:311
#11 0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f64b7fff700 (LWP 29505)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f64fc9b214b in wait (time=18446744073709551615, this=0x21cce40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x50a2dd8, mutex=0x5164d00, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f64f3611041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x50a2db0, th=0x51634f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f64f361394b in ThreadWeaver::WorkingHardState::applyForWork (this=0x5164980, th=0x51634f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f64f361263f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f64b7ffedc0, parent=0x50a2db0, th=th@entry=0x51634f0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f64f36126cb in ThreadWeaver::Thread::run (this=0x51634f0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x51634f0) at thread/qthread_unix.cpp:338
#8  0x00007f64faa20f8e in start_thread (arg=0x7f64b7fff700) at pthread_create.c:311
#9  0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f64b77fe700 (LWP 29506)):
[KCrash Handler]
#6  0x00007f64fc9f6a09 in QString::operator== (this=0x7f64606d7928, other=...) at tools/qstring.cpp:2192
#7  0x00007f64d15f8eeb in QList<QString>::indexOf (this=this@entry=0x7f64b77fcfa0, t=..., from=<optimized out>, from@entry=0) at /usr/include/qt4/QtCore/qlist.h:855
#8  0x00007f64d15eee7c in CMakeProjectVisitor::visit (this=0x7f64b77fd610, list=0x7f64606dbf10) at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:1647
#9  0x00007f64d15f022a in CMakeProjectVisitor::walk (this=this@entry=0x7f64b77fd610, fc=..., line=8, line@entry=0, isClean=isClean@entry=true) at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2233
#10 0x00007f64d15f0d15 in CMakeProjectVisitor::walk (this=this@entry=0x7f64b77fd610, fc=..., line=line@entry=0, isClean=isClean@entry=true) at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2451
#11 0x00007f64d1605f60 in CMakeParserUtils::includeScript (file=..., parent=..., data=data@entry=0x7f6460003768, sourcedir=..., env=...) at ../../../projectmanagers/cmake/parser/cmakeparserutils.cpp:176
#12 0x00007f64cab28aa4 in CMakeManager::includeScript (this=this@entry=0x409dd70, file=..., project=project@entry=0x4d944a0, dir=..., parent=...) at ../../../projectmanagers/cmake/cmakemanager.cpp:669
#13 0x00007f64cab2a4b1 in CMakeManager::parse (this=0x409dd70, item=0x5144b20) at ../../../projectmanagers/cmake/cmakemanager.cpp:751
#14 0x00007f64f90f6e7b in ?? () from /usr/lib/libkdevplatformproject.so.6
#15 0x00007f64f90f6c56 in ?? () from /usr/lib/libkdevplatformproject.so.6
#16 0x00007f64fc9a555d in QThreadPoolThread::run (this=0x514f7f0) at concurrent/qthreadpool.cpp:107
#17 0x00007f64fc9b1bec in QThreadPrivate::start (arg=0x514f7f0) at thread/qthread_unix.cpp:338
#18 0x00007f64faa20f8e in start_thread (arg=0x7f64b77fe700) at pthread_create.c:311
#19 0x00007f64fb6b7e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f64feec77c0 (LWP 29291)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f64fc9b214b in wait (time=18446744073709551615, this=0x55a1d80) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x5147af0, mutex=0x5147ac8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f64fc9a4d2f in QThreadPoolPrivate::waitForDone (this=0x5147a40, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:298
#4  0x00007f64fc9a67dd in QThreadPool::~QThreadPool (this=0x51e3070, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#5  0x00007f64fc9a6819 in QThreadPool::~QThreadPool (this=0x51e3070, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:442
#6  0x00007f64fc9a6845 in QGlobalStaticDeleter<QThreadPool>::~QGlobalStaticDeleter (this=0x7f64fce0c008 <theInstance()::cleanup>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1950
#7  0x00007f64fb5fa121 in __run_exit_handlers (status=1, listp=0x7f64fb97f6a8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:77
#8  0x00007f64fb5fa1a5 in __GI_exit (status=<optimized out>) at exit.c:99
#9  0x00007f64fbebe348 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:782
#10 0x00007f64fd2af888 in KApplication::xioErrhandler (this=0x7fff2fdf57d0, dpy=0x20c0f10) at ../../kdeui/kernel/kapplication.cpp:419
#11 0x00007f64f6d6d6de in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#12 0x00007f64f6d6b16d in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#13 0x00007f64f6d5c75b in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#14 0x00007f64fbef9bdc in x11EventSourceCheck (s=0x20a5ec0) at kernel/qguieventdispatcher_glib.cpp:85
#15 0x00007f64f5adbc69 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f64f5adc175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f64f5adc304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f64fcadd016 in QEventDispatcherGlib::processEvents (this=0x2075ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#19 0x00007f64fbefa1ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#20 0x00007f64fcaad38f in QEventLoop::processEvents (this=this@entry=0x7fff2fdf5290, flags=...) at kernel/qeventloop.cpp:149
#21 0x00007f64fcaad618 in QEventLoop::exec (this=this@entry=0x7fff2fdf5290, flags=...) at kernel/qeventloop.cpp:204
#22 0x00007f64fcab2cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#23 0x00007f64fbe52ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#24 0x000000000040e71a in main (argc=<optimized out>, argv=<optimized out>) at ../../app/main.cpp:519

This bug may be a duplicate of or related to bug 291524, bug 289522.

Possible duplicates by query: bug 291524, bug 289522.

Reported using DrKonqi
Comment 1 Blinov Vyacheslav 2013-05-07 12:53:37 UTC
On changing this line back KDevelop opens this project fine!

set(BOOST_ROOT $ENV{BOOST_LIBRARY})

cmake version 2.8.10.1
Boost version: 1.49.0
Comment 2 Blinov Vyacheslav 2013-05-07 12:58:41 UTC
JFYI I'm using stock packages from Ubuntu 13.04
Comment 3 Blinov Vyacheslav 2013-05-07 13:05:29 UTC
Sorry, My exact edit of CMakeLists.txt was to comment this line. After this CMakeLists.txt crashed. Uncommenting it back makes KDevelop work again. I am able to reproduce this again and again. Will try to create simple example project out of it.
Comment 4 Blinov Vyacheslav 2013-05-07 13:18:33 UTC
Created attachment 79753 [details]
minimal example CMakeLists txt that crashes KDevelop
Comment 5 Blinov Vyacheslav 2013-05-07 13:21:25 UTC
Attached example that crashes KDevelop every time just on opening. If I'll create build directory and run cmake .. -DSP_COMMON_TARGET=linux before opening KDevelop, it won't crash now. rm build -rf and press Configure in KDevelop and it will crash again.
Comment 6 Aleix Pol 2013-05-09 00:30:41 UTC
Git commit 753a23d6065fe24b296c9c7fdabe31fb8f0b33db by Aleix Pol.
Committed on 09/05/2013 at 02:30.
Pushed by apol into branch '4.5'.

Don't crash if we run list(FIND) without a find element

M  +6    -2    projectmanagers/cmake/parser/cmakeprojectvisitor.cpp

http://commits.kde.org/kdevelop/753a23d6065fe24b296c9c7fdabe31fb8f0b33db
Comment 7 Aleix Pol 2013-05-09 00:31:09 UTC
Git commit 5617be77912332b5f321fc41c4842e7d988ee19e by Aleix Pol.
Committed on 09/05/2013 at 02:30.
Pushed by apol into branch 'master'.

Don't crash if we run list(FIND) without a find element

M  +6    -2    projectmanagers/cmake/parser/cmakeprojectvisitor.cpp

http://commits.kde.org/kdevelop/5617be77912332b5f321fc41c4842e7d988ee19e
Comment 8 Aleix Pol 2013-06-13 00:06:05 UTC
*** Bug 320181 has been marked as a duplicate of this bug. ***