Bug 289522 - Crash when loading project that uses ITK
Summary: Crash when loading project that uses ITK
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 4.2.60
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 4.2.3
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-21 19:40 UTC by David
Modified: 2013-05-25 08:52 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 David 2011-12-21 19:40:18 UTC
Application: kdevelop (4.2.60)
KDE Platform Version: 4.7.2 (4.7.2) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-14-generic i686
Distribution: Ubuntu 11.10

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

I loaded a project that depends heavily on ITK and a crash resulted.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
[Current thread is 1 (Thread 0xb6147710 (LWP 2442))]

Thread 11 (Thread 0xb3a40b70 (LWP 2516)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x00562e04 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03266d54 in pthread_cond_timedwait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00e2fc4e in wait (time=1000, this=0x8ed4630) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8ef80dc, mutex=0x8ef80e0, time=1000) at thread/qwaitcondition_unix.cpp:160
#5  0x010fd37a in KDevelop::DUChainPrivate::CleanupThread::run (this=0x8ef80d0) at /home/doriad/src/kdevplatform/language/duchain/duchain.cpp:282
#6  0x00e2f7b3 in QThreadPrivate::start (arg=0x8ef80d0) at thread/qthread_unix.cpp:331
#7  0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 10 (Thread 0xb04fdb70 (LWP 2547)):
#0  0x00560dc6 in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x03266f14 in pthread_mutex_lock () from /lib/i386-linux-gnu/libc.so.6
#2  0x017a1723 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x00f58b37 in QEventDispatcherGlib::processEvents (this=0x8fcc6f0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00f291dd in QEventLoop::processEvents (this=0xb04fd2b0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00f29421 in QEventLoop::exec (this=0xb04fd2b0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00e2c90b in QThread::exec (this=0x8d20e48) at thread/qthread.cpp:498
#8  0x00f09e2d in QInotifyFileSystemWatcherEngine::run (this=0x8d20e48) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00e2f7b3 in QThreadPrivate::start (arg=0x8d20e48) at thread/qthread_unix.cpp:331
#10 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 9 (Thread 0xafaa9b70 (LWP 2548)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x0324a40e in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x017b034b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x017a1896 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x00f58b37 in QEventDispatcherGlib::processEvents (this=0x91d6a40, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00f291dd in QEventLoop::processEvents (this=0xafaa92b0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00f29421 in QEventLoop::exec (this=0xafaa92b0, flags=...) at kernel/qeventloop.cpp:201
#8  0x00e2c90b in QThread::exec (this=0x91d8658) at thread/qthread.cpp:498
#9  0x00f09e2d in QInotifyFileSystemWatcherEngine::run (this=0x91d8658) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00e2f7b3 in QThreadPrivate::start (arg=0x91d8658) at thread/qthread_unix.cpp:331
#11 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 8 (Thread 0xae2a6b70 (LWP 2751)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x00562a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03266cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb717e883 in WTF::TCMalloc_PageHeap::scavengerThread (this=0xb789a340) at wtf/FastMalloc.cpp:2495
#4  0xb717e99f in WTF::TCMalloc_PageHeap::runScavengerThread (context=0xb789a340) at wtf/FastMalloc.cpp:1618
#5  0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 7 (Thread 0xaeaa7b70 (LWP 2767)):
#0  0x00561d50 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x03266f54 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0x0179ff16 in g_main_context_acquire () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x017a156d in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x00f58b37 in QEventDispatcherGlib::processEvents (this=0x9123e40, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00f291dd in QEventLoop::processEvents (this=0xaeaa72e0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00f29421 in QEventLoop::exec (this=0xaeaa72e0, flags=...) at kernel/qeventloop.cpp:201
#8  0x00e2c90b in QThread::exec (this=0x91a5e88) at thread/qthread.cpp:498
#9  0x00e2c9fb in QThread::run (this=0x91a5e88) at thread/qthread.cpp:565
#10 0x00e2f7b3 in QThreadPrivate::start (arg=0x91a5e88) at thread/qthread_unix.cpp:331
#11 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 6 (Thread 0xab9f7b70 (LWP 3204)):
#0  0x00611d10 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0x00e867d5 in do_gettime (frac=0xab9f7040, sec=0xab9f7038) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x00f594b6 in QTimerInfoList::updateCurrentTime (this=0xad9ba31c) at kernel/qeventdispatcher_unix.cpp:339
#4  0x00f5980a in QTimerInfoList::timerWait (this=0xad9ba31c, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x00f58053 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xab9f714c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x00f580ed in timerSourcePrepare (source=0xad9ba2e8, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x017a088c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x017a1637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x00f58b37 in QEventDispatcherGlib::processEvents (this=0x9b6c248, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0x00f291dd in QEventLoop::processEvents (this=0xab9f72d0, flags=...) at kernel/qeventloop.cpp:149
#12 0x00f29421 in QEventLoop::exec (this=0xab9f72d0, flags=...) at kernel/qeventloop.cpp:201
#13 0x00e2c90b in QThread::exec (this=0x9bd00c8) at thread/qthread.cpp:498
#14 0x011ffe96 in KDevelop::CompletionWorkerThread::run (this=0x9bd00c8) at /home/doriad/src/kdevplatform/language/codecompletion/codecompletionmodel.cpp:84
#15 0x00e2f7b3 in QThreadPrivate::start (arg=0x9bd00c8) at thread/qthread_unix.cpp:331
#16 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 5 (Thread 0xab1f6b70 (LWP 3205)):
#0  0x00560dbd in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x03266f14 in pthread_mutex_lock () from /lib/i386-linux-gnu/libc.so.6
#2  0x017a08bb in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x017a1637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x00f58b37 in QEventDispatcherGlib::processEvents (this=0x90f8350, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00f291dd in QEventLoop::processEvents (this=0xab1f62d0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00f29421 in QEventLoop::exec (this=0xab1f62d0, flags=...) at kernel/qeventloop.cpp:201
#8  0x00e2c90b in QThread::exec (this=0x9b74020) at thread/qthread.cpp:498
#9  0x011ffe96 in KDevelop::CompletionWorkerThread::run (this=0x9b74020) at /home/doriad/src/kdevplatform/language/codecompletion/codecompletionmodel.cpp:84
#10 0x00e2f7b3 in QThreadPrivate::start (arg=0x9b74020) at thread/qthread_unix.cpp:331
#11 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 4 (Thread 0xaa1f5b70 (LWP 3210)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x00562a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03266cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00e2fcc0 in wait (time=4294967295, this=0x8ddf340) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8ddf8d0, mutex=0x8d68a88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x016ee406 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x016f0ecb in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x016ee03a in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x016f0fcc in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x016edf93 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x016efb14 in ?? () from /usr/lib/libthreadweaver.so.4
#11 0x016efbca in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#12 0x00e2f7b3 in QThreadPrivate::start (arg=0x9b76968) at thread/qthread_unix.cpp:331
#13 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0xa99f4b70 (LWP 3211)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x00562a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03266cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00e2fcc0 in wait (time=4294967295, this=0x8ddf340) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8ddf8d0, mutex=0x8d68a88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x016ee406 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x016f0ecb in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x016ee03a in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x016f0fcc in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x016edf93 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x016efb14 in ?? () from /usr/lib/libthreadweaver.so.4
#11 0x016efbca in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#12 0x00e2f7b3 in QThreadPrivate::start (arg=0x9bcf3e0) at thread/qthread_unix.cpp:331
#13 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xac9f5b70 (LWP 16732)):
[KCrash Handler]
#7  0x00e7674f in QString::operator== (this=0xaff8d44, other=...) at tools/qstring.cpp:2140
#8  0x0295519c in QList<QString>::indexOf (this=0xac9f43bc, t=..., from=<optimized out>) at /usr/include/qt4/QtCore/qlist.h:836
#9  0x0294a809 in CMakeProjectVisitor::visit (this=0xac9f4d40, list=0xa522c78) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:1642
#10 0x0292e1d7 in ListAst::accept (this=0xa522c78, visitor=0xac9f4d40) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeast.h:516
#11 0x0294c178 in CMakeProjectVisitor::walk (this=0xac9f4d40, fc=..., line=7, isClean=false) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2217
#12 0x0294db1e in CMakeProjectVisitor::visit (this=0xac9f4d40, fea=0xab08578) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:1741
#13 0x0292df17 in ForeachAst::accept (this=0xab08578, visitor=0xac9f4d40) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeast.h:352
#14 0x0294c178 in CMakeProjectVisitor::walk (this=0xac9f4d40, fc=..., line=2, isClean=true) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2217
#15 0x02953afd in CMakeProjectVisitor::visit (this=0xac9f4d40, inc=0xa59abc8) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:563
#16 0x0292e057 in IncludeAst::accept (this=0xa59abc8, visitor=0xac9f4d40) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeast.h:433
#17 0x0294c178 in CMakeProjectVisitor::walk (this=0xac9f4d40, fc=..., line=20, isClean=true) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2217
#18 0x02961575 in CMakeParserUtils::includeScript (file=..., parent=..., data=0x9f72304, sourcedir=..., env=...) at /home/doriad/src/kdevelop/projectmanagers/cmake/parser/cmakeparserutils.cpp:175
#19 0x028d82d9 in CMakeManager::includeScript (this=0x9bf4d98, file=..., project=0x9fe6f60, dir=..., parent=...) at /home/doriad/src/kdevelop/projectmanagers/cmake/cmakemanager.cpp:646
#20 0x028da5bb in CMakeManager::parse (this=0x9bf4d98, item=0xc17ded8) at /home/doriad/src/kdevelop/projectmanagers/cmake/cmakemanager.cpp:701
#21 0x03c7be64 in import (folder=<optimized out>, this=0xb06d218) at /home/doriad/src/kdevplatform/project/importprojectjob.cpp:53
#22 KDevelop::ImportProjectJobPrivate::import (this=0xb06d218, folder=0xc2de1b8) at /home/doriad/src/kdevplatform/project/importprojectjob.cpp:57
#23 0x03c7b7f8 in QtConcurrent::VoidStoredMemberFunctionPointerCall1<void, KDevelop::ImportProjectJobPrivate, KDevelop::ProjectFolderItem*, KDevelop::ProjectFolderItem*>::runFunctor (this=0xb79ca98) at /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h:426
#24 0x03c7b9ae in run (this=0xb79ca98) at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:120
#25 QtConcurrent::RunFunctionTask<void>::run (this=0xb79ca98) at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:114
#26 0x00e23651 in QThreadPoolThread::run (this=0x9d8de38) at concurrent/qthreadpool.cpp:106
#27 0x00e2f7b3 in QThreadPrivate::start (arg=0x9d8de38) at thread/qthread_unix.cpp:331
#28 0x0055ed31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#29 0x032590ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb6147710 (LWP 2442)):
#0  0x00597416 in __kernel_vsyscall ()
#1  0x00562a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03266cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00e2fcc0 in wait (time=4294967295, this=0x9b69120) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x9383864, mutex=0x9383850, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x00e22f92 in QThreadPoolPrivate::waitForDone (this=0x9383800) at concurrent/qthreadpool.cpp:295
#6  0x00e243e0 in QThreadPool::~QThreadPool (this=0x9c65550, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:428
#7  0x00e24442 in QThreadPool::~QThreadPool (this=0x9c65550, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:430
#8  0x00e24478 in QGlobalStaticDeleter<QThreadPool>::~QGlobalStaticDeleter (this=0x1064120, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1825
#9  0x031b9981 in ?? () from /lib/i386-linux-gnu/libc.so.6
#10 0x031b9a0d in exit () from /lib/i386-linux-gnu/libc.so.6
#11 0x04c10e38 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:781
#12 0x00ac8749 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#13 0x00ac8784 in ?? () from /usr/lib/libkdeui.so.5
#14 0x0192ce14 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#15 0x0192a49f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#16 0x0191ac88 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#17 0x04c50c05 in x11EventSourceCheck (s=0x8a803a8) at kernel/qguieventdispatcher_glib.cpp:85
#18 0x017a0f24 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0x017a18f0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0x017a1c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0x00f58ada in QEventDispatcherGlib::processEvents (this=0x8a5a248, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#22 0x04c50e3a in QGuiEventDispatcherGlib::processEvents (this=0x8a5a248, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00f291dd in QEventLoop::processEvents (this=0xbffe8694, flags=...) at kernel/qeventloop.cpp:149
#24 0x00f29421 in QEventLoop::exec (this=0xbffe8694, flags=...) at kernel/qeventloop.cpp:201
#25 0x00f2e19d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#26 0x04b968f4 in QApplication::exec () at kernel/qapplication.cpp:3760
#27 0x080511c7 in main (argc=<optimized out>, argv=) at /home/doriad/src/kdevelop/app/main.cpp:479

Reported using DrKonqi
Comment 1 Aleix Pol 2011-12-23 02:46:05 UTC
Git commit fa76dcb82ebbdf53babad4b3c02c7e8852dc1ca9 by Aleix Pol.
Committed on 23/12/2011 at 03:45.
Pushed by apol into branch '4.3'.

Properly find endwhile, reuse foreach code.
Solves a problem when running TopologicalSort.cmake.

BUG: 289522

M  +17   -24   projectmanagers/cmake/parser/cmakeprojectvisitor.cpp

http://commits.kde.org/kdevelop/fa76dcb82ebbdf53babad4b3c02c7e8852dc1ca9
Comment 2 Aleix Pol 2011-12-23 02:46:06 UTC
Git commit 7bf1f470576db89160d50008a6e12f1a90e8ad2c by Aleix Pol.
Committed on 23/12/2011 at 03:45.
Pushed by apol into branch 'master'.

Properly find endwhile, reuse foreach code.
Solves a problem when running TopologicalSort.cmake.

BUG: 289522

M  +17   -24   projectmanagers/cmake/parser/cmakeprojectvisitor.cpp

http://commits.kde.org/kdevelop/7bf1f470576db89160d50008a6e12f1a90e8ad2c
Comment 3 Kevin Funk 2013-05-23 17:39:28 UTC
*** Bug 320181 has been marked as a duplicate of this bug. ***
Comment 4 Patrick Zimmermann 2013-05-25 08:52:22 UTC
This bug seems to have surfaced again in 4.5. See https://bugs.kde.org/show_bug.cgi?id=320181
I am not able to reopen this bug, opening a new one seems not to be the way either.
So what should I do now?