Version: unspecified OS: Linux for the record, a bug with bt for the crashy regression I introduced Application: KDevelop (kdevelop), signal: Aborted [Current thread is 1 (Thread 0x7fe4908a1760 (LWP 9695))] Thread 13 (Thread 0x7fe488464700 (LWP 9696)): #0 0x00007fe49cca1ecb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49cf27fde in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007fe499df5be0 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x2233460) at /home/milian/projects/kde4/kdevplatform/language/duchain/duchain.cpp:282 #3 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #5 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 12 (Thread 0x7fe481db4700 (LWP 9697)): #0 0x00007fe49b356123 in poll () from /lib/libc.so.6 #1 0x00007fe496af7d58 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007fe49cf2513f in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007fe499f19fcf in KDevelop::CompletionWorkerThread::run (this=0x2b802a0) at /home/milian/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:84 #8 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #10 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 11 (Thread 0x7fe47b984700 (LWP 9698)): #0 0x00007fe49b3581d3 in select () from /lib/libc.so.6 #1 0x00007fe49cff04a1 in ?? () from /usr/lib/libQtCore.so.4 #2 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #3 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #4 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 10 (Thread 0x7fe4786af700 (LWP 9703)): #0 0x00007fe49b356123 in poll () from /lib/libc.so.6 #1 0x00007fe496af7d58 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007fe49cf2513f in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007fe49cff0aef in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #10 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 9 (Thread 0x7fe476c1b700 (LWP 9758)): #0 0x00007fe49cca1b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49574a5ba in ?? () from /usr/lib/libQtWebKit.so.4 #2 0x00007fe49574a6a9 in ?? () from /usr/lib/libQtWebKit.so.4 #3 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #4 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 8 (Thread 0x7fe47741c700 (LWP 9760)): #0 0x00007fe49b356123 in poll () from /lib/libc.so.6 #1 0x00007fe496af7d58 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007fe49cf2513f in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #9 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 7 (Thread 0x7fe46e7fc700 (LWP 9832)): #0 0x00007fe49cca1b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49cf2806b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007fe49ead3574 in ?? () from /usr/lib/libthreadweaver.so.4 #3 0x00007fe49ead5b1b in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007fe49ead49df in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007fe49ead4a6b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #6 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #7 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #8 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 6 (Thread 0x7fe46d57e700 (LWP 10324)): #0 0x00007fe49cca1b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49a4fbf72 in ?? () from /usr/lib/libQtScript.so.4 #2 0x00007fe49a4fbfa9 in ?? () from /usr/lib/libQtScript.so.4 #3 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #4 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 5 (Thread 0x7fe467fff700 (LWP 10648)): #0 0x00007fe49b356123 in poll () from /lib/libc.so.6 #1 0x00007fe496af7d58 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007fe49cf2513f in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007fe499f19fcf in KDevelop::CompletionWorkerThread::run (this=0x4caa130) at /home/milian/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:84 #8 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #10 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 4 (Thread 0x7fe4677fe700 (LWP 10649)): #0 0x00007fe49b356123 in poll () from /lib/libc.so.6 #1 0x00007fe496af7d58 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007fe49cf2513f in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007fe499f19fcf in KDevelop::CompletionWorkerThread::run (this=0x4cbed00) at /home/milian/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:84 #8 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #10 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 3 (Thread 0x7fe466d39700 (LWP 10654)): #0 0x00007fe49cca1b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49cf2806b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007fe49ead3574 in ?? () from /usr/lib/libthreadweaver.so.4 #3 0x00007fe49ead5b1b in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007fe49ead49df in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007fe49ead4a6b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #6 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #7 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #8 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 2 (Thread 0x7fe466538700 (LWP 10655)): #0 0x00007fe49cca1b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fe49cf2806b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007fe49ead3574 in ?? () from /usr/lib/libthreadweaver.so.4 #3 0x00007fe49ead5b1b in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007fe49ead5b34 in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007fe49ead5b34 in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00007fe49ead49df in ?? () from /usr/lib/libthreadweaver.so.4 #7 0x00007fe49ead4a6b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #8 0x00007fe49cf27bc5 in ?? () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cc9ddf0 in start_thread () from /lib/libpthread.so.0 #10 0x00007fe49b35e39d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fe4908a1760 (LWP 9695)): [KCrash Handler] #6 0x00007fe49b2be965 in raise () from /lib/libc.so.6 #7 0x00007fe49b2bfddb in abort () from /lib/libc.so.6 #8 0x00007fe49cf1e4f4 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4 #9 0x00007fe49cf1e6af in ?? () from /usr/lib/libQtCore.so.4 #10 0x00007fe49cf1e854 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4 #11 0x00007fe48b0c0488 in QVector<KateCodeFoldingNode*>::last (this=0x7fff36bd6860) at /usr/include/QtCore/qvector.h:250 #12 0x00007fe48b0bb1c6 in KateCodeFoldingTree::getLineDepth (this=0x7fe47e196080, line=174, validEndings=@0x7fff36bd68df) at /home/milian/projects/kde4/kate/part/syntax/katecodefolding.cpp:922 #13 0x00007fe48b0bb15f in KateCodeFoldingTree::getLineDepth (this=0x7fe47e196080, line=174) at /home/milian/projects/kde4/kate/part/syntax/katecodefolding.cpp:907 #14 0x00007fe48b0bb3cb in KateCodeFoldingTree::getLineInfo (this=0x7fe47e196080, info=0x7fff36bd6a70, line=174) at /home/milian/projects/kde4/kate/part/syntax/katecodefolding.cpp:959 #15 0x00007fe48b03e0b0 in KateBuffer::lineInfo (this=0x7fe47e195fb0, info=0x7fff36bd6a70, line=174) at /home/milian/projects/kde4/kate/part/document/katebuffer.h:187 #16 0x00007fe48b035622 in KateDocument::lineInfo (this=0x7fe47e1900b0, info=0x7fff36bd6a70, line=174) at /home/milian/projects/kde4/kate/part/document/katedocument.cpp:4041 #17 0x00007fe48b0f1d3b in KateIconBorder::paintBorder (this=0x5a15f80, y=0, height=635) at /home/milian/projects/kde4/kate/part/view/kateviewhelpers.cpp:1194 #18 0x00007fe48b0f04fd in KateIconBorder::paintEvent (this=0x5a15f80, e=0x7fff36bd7380) at /home/milian/projects/kde4/kate/part/view/kateviewhelpers.cpp:952 #19 0x00007fe49c2180ac in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #20 0x00007fe49c1c7ae4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #21 0x00007fe49c1cc951 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #22 0x00007fe49d804bb6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #23 0x00007fe49d00e89c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #24 0x00007fe49c214fe4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #25 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #26 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #27 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #28 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #29 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #30 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #31 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #32 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #33 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #34 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #35 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #36 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #37 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #38 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #39 0x00007fe49c215bc0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #40 0x00007fe49c214d3c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4 #41 0x00007fe49c3d4233 in ?? () from /usr/lib/libQtGui.so.4 #42 0x00007fe49c20b840 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4 #43 0x00007fe49c2185bc in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #44 0x00007fe49c5d5d7b in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4 #45 0x00007fe49d901838 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5 #46 0x00007fe49c1c7ae4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #47 0x00007fe49c1cc951 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #48 0x00007fe49d804bb6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #49 0x00007fe49d00e89c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #50 0x00007fe49d011c2f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #51 0x00007fe49d0391a3 in ?? () from /usr/lib/libQtCore.so.4 #52 0x00007fe496af784d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #53 0x00007fe496af8048 in ?? () from /usr/lib/libglib-2.0.so.0 #54 0x00007fe496af8219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #55 0x00007fe49d039606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #56 0x00007fe49c26aeee in ?? () from /usr/lib/libQtGui.so.4 #57 0x00007fe49d00da92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #58 0x00007fe49d00dc97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #59 0x00007fe49d011eab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #60 0x000000000040bd2b in main (argc=3, argv=0x7fff36bdc238) at /home/milian/projects/kde4/kdevelop/app/main.cpp:479 Reproducible: Didn't try Steps to Reproduce: e.g. hit enter with the cursor after a closing brace or remove a folded region and undo that action Actual Results: crash Expected Results: no crash I'll fix this now
Git commit 3f33a653443a5af000d214e88b4479102a4f6cba by Milian Wolff. Committed on 23/11/2011 at 00:00. Pushed by mwolff into branch 'master'. fix another case of an empty list being added could be seen in the cstyle indenter tests CCBUG: 287291 M +6 -2 part/syntax/katecodefolding.cpp http://commits.kde.org/kate/3f33a653443a5af000d214e88b4479102a4f6cba
Git commit 926e77999abc60e5dd736008af80cf36cd4666c3 by Milian Wolff. Committed on 22/11/2011 at 22:13. Pushed by mwolff into branch 'master'. never add empty lists in KateCodeFolding this was the implicit assumption already but did not work properly under some conditions, esp. adding a newline at the end of a line, which would trigger the insertion of an empty list for the newly inserted line BUG: 287291 M +10 -1 part/syntax/katecodefolding.cpp M +60 -0 part/tests/kateview_test.cpp M +2 -0 part/tests/kateview_test.h http://commits.kde.org/kate/926e77999abc60e5dd736008af80cf36cd4666c3
*** Bug 287204 has been marked as a duplicate of this bug. ***