Application: kate (3.8.4) KDE Platform Version: 4.8.4 (4.8.4) Qt Version: 4.8.2 Operating System: Linux 3.2.0-4-686-pae i686 Distribution: Debian GNU/Linux testing (wheezy) -- Information about the crash: While editing patch files, adding/removing little bits of text from inside "blocks" of code. Then doing multiple undo / redos consecutively causes Kate to crash. KDE bug tracker suggests this as a duplicate of other bugs supposedly fixed in 4.8.2, but it's still present in 4.8.4. The crash can be reproduced every time. -- Backtrace: Application: Kate (kate), signal: Segmentation fault Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". [Current thread is 1 (Thread 0xb4d58930 (LWP 25345))] Thread 2 (Thread 0xb1e49b70 (LWP 25349)): #0 0xb775a424 in __kernel_vsyscall () #1 0xb5e9c20a in __pthread_cond_wait (cond=0xb2145650, mutex=0xb2145638) at pthread_cond_wait.c:153 #2 0xb76a932d in __pthread_cond_wait (cond=0xb2145650, mutex=0xb2145638) at forward.c:139 #3 0xb203219d in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0xb20321cf in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0xb5e97c39 in start_thread (arg=0xb1e49b70) at pthread_create.c:304 #6 0xb769c23e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb4d58930 (LWP 25345)): [KCrash Handler] #7 hasMatch (this=0xa381a48) at ../../part/syntax/katecodefolding.h:228 #8 matchingNode (this=0xa381a48) at ../../part/syntax/katecodefolding.h:231 #9 getStartMatching (endNode=0xa1d0ef0, this=0xa381a48) at ../../part/syntax/katecodefolding.cpp:155 #10 KateCodeFoldingTree::getLineInfo (this=0x9ed1798, info=0xbfebbeac, line=31) at ../../part/syntax/katecodefolding.cpp:1020 #11 0xb2247566 in lineInfo (line=31, info=0xbfebbeac, this=<optimized out>) at ../../part/document/katebuffer.h:187 #12 KateDocument::lineInfo (this=0x9ed1290, info=0xbfebbeac, line=31) at ../../part/document/katedocument.cpp:4041 #13 0xb22fff15 in KateIconBorder::paintBorder (this=this@entry=0xa071350, y=y@entry=0, height=619) at ../../part/view/kateviewhelpers.cpp:1197 #14 0xb2301a8a in KateIconBorder::paintEvent (this=0xa071350, e=0xbfebc5cc) at ../../part/view/kateviewhelpers.cpp:955 #15 0xb6c8dba4 in QWidget::event (this=0xa071350, event=0xbfebc5cc) at kernel/qwidget.cpp:8517 #16 0xb6c3447c in QApplicationPrivate::notify_helper (this=0x9c9c1d8, receiver=0xa071350, e=0xbfebc5cc) at kernel/qapplication.cpp:4556 #17 0xb6c38f24 in QApplication::notify (this=0x9c9c1d8, receiver=0xa071350, e=0xbfebc5cc) at kernel/qapplication.cpp:4417 #18 0xb65386b1 in KApplication::notify (this=0xbfebf3fc, receiver=0xa071350, event=0xbfebc5cc) at ../../kdeui/kernel/kapplication.cpp:311 #19 0xb614c55e in QCoreApplication::notifyInternal (this=0xbfebf3fc, receiver=0xa071350, event=0xbfebc5cc) at kernel/qcoreapplication.cpp:915 #20 0xb6c89423 in sendSpontaneousEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #21 QWidgetPrivate::drawWidget (this=0xa0713e8, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5594 #22 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0xa0797a8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=<optimized out>, index@entry=1, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5803 #23 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0xa0797a8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=1, index@entry=2, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5790 #24 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0xa0797a8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=2, index@entry=3, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5790 #25 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0xa0797a8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=3, index@entry=4, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5790 #26 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0xa0797a8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=4, index@entry=5, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5790 #27 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=0xa0797a8, pdev=0xa1e0fb0, siblings=..., index=5, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5790 #28 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0xa0797a8, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #29 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0xa0676a8, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #30 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0xa0676a8, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #31 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9f0f558, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #32 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9f0f558, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #33 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x9f0f2d8, pdev=pdev@entry=0xa1e0fb0, siblings=..., index=<optimized out>, index@entry=1, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x9f06798) at kernel/qwidget.cpp:5803 #34 0xb6c89da2 in QWidgetPrivate::paintSiblingsRecursive (this=0x9f0f2d8, pdev=0xa1e0fb0, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5790 #35 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9f0f2d8, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #36 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9f0ae50, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #37 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9f0ae50, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #38 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9f00a30, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #39 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9f00a30, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #40 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9f002e0, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #41 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9f002e0, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #42 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9eff410, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #43 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9eff410, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #44 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9efed20, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #45 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9efed20, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #46 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9efe198, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #47 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9efe198, pdev=0xa1e0fb0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #48 0xb6c89f5a in QWidgetPrivate::paintSiblingsRecursive (this=0x9efb9b8, pdev=0xa1e0fb0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5803 #49 0xb6c88f5d in QWidgetPrivate::drawWidget (this=0x9efb9b8, pdev=0xa1e0fb0, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x9f06798) at kernel/qwidget.cpp:5647 #50 0xb6e7fb96 in QWidgetBackingStore::sync (this=0x9f06798) at painting/qbackingstore.cpp:1373 #51 0xb6c7cf2b in QWidgetPrivate::syncBackingStore (this=0x9efb9b8) at kernel/qwidget.cpp:1892 #52 0xb6c8e21f in QWidget::event (this=0x9efa5a8, event=0xa3515c8) at kernel/qwidget.cpp:8664 #53 0xb70bbf1c in QMainWindow::event (this=0x9efa5a8, event=0xa3515c8) at widgets/qmainwindow.cpp:1478 #54 0xb660dca4 in KMainWindow::event (this=0x9efa5a8, ev=0xa3515c8) at ../../kdeui/widgets/kmainwindow.cpp:1084 #55 0xb6654ca2 in KXmlGuiWindow::event (this=0x9efa5a8, ev=0xa3515c8) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126 #56 0xb6c3447c in QApplicationPrivate::notify_helper (this=0x9c9c1d8, receiver=0x9efa5a8, e=0xa3515c8) at kernel/qapplication.cpp:4556 #57 0xb6c38f24 in QApplication::notify (this=0x9c9c1d8, receiver=0x9efa5a8, e=0xa3515c8) at kernel/qapplication.cpp:4417 #58 0xb65386b1 in KApplication::notify (this=0xbfebf3fc, receiver=0x9efa5a8, event=0xa3515c8) at ../../kdeui/kernel/kapplication.cpp:311 #59 0xb614c55e in QCoreApplication::notifyInternal (this=0xbfebf3fc, receiver=0x9efa5a8, event=0xa3515c8) at kernel/qcoreapplication.cpp:915 #60 0xb615076d in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #61 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9c72370) at kernel/qcoreapplication.cpp:1539 #62 0xb61509ec in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432 #63 0xb617e6c4 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236 #64 postEventSourceDispatch (s=0x9c9a7a0) at kernel/qeventdispatcher_glib.cpp:279 #65 0xb5dc36d3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #66 0xb5dc3a70 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #67 0xb5dc3b51 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #68 0xb617e841 in QEventDispatcherGlib::processEvents (this=0x9c72ed8, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #69 0xb6ce71fa in QGuiEventDispatcherGlib::processEvents (this=0x9c72ed8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #70 0xb614b02c in QEventLoop::processEvents (this=this@entry=0xbfebf1d8, flags=...) at kernel/qeventloop.cpp:149 #71 0xb614b321 in QEventLoop::exec (this=0xbfebf1d8, flags=...) at kernel/qeventloop.cpp:204 #72 0xb6150a9a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187 #73 0xb6c322f4 in QApplication::exec () at kernel/qapplication.cpp:3817 #74 0xb7752655 in kdemain (argc=3, argv=0xbfebf514) at ../../../kate/app/katemain.cpp:377 #75 0x080485fb in main (argc=3, argv=0xbfebf514) at kate_dummy.cpp:3 This bug may be a duplicate of or related to bug 297261. Possible duplicates by query: bug 308139, bug 306369, bug 297317, bug 297261, bug 294241. Reported using DrKonqi
Created attachment 75497 [details] New crash information added by DrKonqi kate (3.9.3) on KDE Platform 4.9.3 using Qt 4.8.2 - What I was doing when the application crashed: I was reindenting code in a python source code file when the crash ocurred. The top 6 or 7 frames of my crash dump are exactly the same as the one from the original bug reporter. This is the second time in the day that Kate crashed. Since I'm not sure what I was doing the first time and I didn't have debug info to file a report, I can't be sure of it but I think the first crash was for the same reason. Therefore, this bug happens frequently. I don't know yet if I can reproduce the problem. I'll try and update this report. This is on KDE 4.9.3, installed on Kubuntu 12.04 LTS. - Custom settings of the application: The file I was editing is in a remote computer and Kate opened it using the sftp protocol. I don't know if that is relevant or not, but is probably a bit unusual. -- Backtrace (Reduced): #7 hasMatch (this=0x94fe680) at ../../part/syntax/katecodefolding.h:228 #8 matchingNode (this=0x94fe680) at ../../part/syntax/katecodefolding.h:231 #9 getStartMatching (endNode=0x94d2bb0, this=0x94fe680) at ../../part/syntax/katecodefolding.cpp:155 #10 KateCodeFoldingTree::getLineInfo (this=0x8d70980, info=0xbf8f9810, line=18) at ../../part/syntax/katecodefolding.cpp:995 #11 0xb44232f6 in lineInfo (line=18, info=0xbf8f9810, this=<optimized out>) at ../../part/document/katebuffer.h:187
I was able to reproduce the bug by editing patch files too, but it took a while for Kate to crash, and I saved the file every now and then too. I tried reproducing a second time now but I've done lots of editing, undoing, redoing and saving, but can't get Kate to crash again. So there probably a specific kind of edit that triggers the bug.
*** Bug 311180 has been marked as a duplicate of this bug. ***
Thiago, can you please test again with KDE 4.10? Further, can you attach a test case with a step-by-step instruction?
*** Bug 311790 has been marked as a duplicate of this bug. ***
*** Bug 315373 has been marked as a duplicate of this bug. ***
Ok, I will test it as soon as I get the chance. I'm using KDevelop instead of kate for my current programming project, does it matter whether I test on Kate or KDevelop? If it does, I'll try a bit on that one later.
I haven't been doing much python programming lately so I can't be certain that this bug was fixed. However, I did some python programming on KDevelop a few days ago, with code folding enabled and it didn't crash. I also played around a little bit trying to trigger the crash but I couldn't. Since I had Kate crash on me two times in a day when I reported the bug, I think this is fixed now. I'm assuming that KDevelop would be equally affected by this bug. I haven't been using Kate for programming... IMHO this bug can be closed. If it turns out that the crashes still happen, it can be reopened.
Seems to work now, so close as discussed for now.
*** This bug has been marked as a duplicate of bug 294241 ***