Bug 317207

Summary: Kate crash while scrolling through a Ruby file
Product: [Applications] kate Reporter: Silvère Lestang <silvere.lestang>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Silvère Lestang 2013-03-22 21:54:34 UTC
Application: kate (3.8.5)
KDE Platform Version: 4.8.5 (4.8.5) "release 2"
Qt Version: 4.8.1
Operating System: Linux 3.4.33-2.24-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

-- Information about the crash:
I scroll my file and each time in reach this function (define in a class with x1, y1, x2, y2 instances variables):
def preprocess_prog
   if real_close_point(x1, y1, x2, y2)
     Point.new(x1, y1)
   elsif real_close(x1, x2)
     if y1 > y2
          LineSegment.new(x2,y2, x1,y1)
       elsee
  elsif x1 > x2
     LineSegment.new(x2,y2, x1,y1)
   else e
end

it's crash. It's also crash while writing this part.

The crash can be reproduced every time.

-- Backtrace:
Application: Kate (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb7e1887780 (LWP 6526))]

Thread 3 (Thread 0x7fb7c8407700 (LWP 6527)):
#0  0x00007fb7e01618f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb7d5122217 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fb7d542f640 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fb7d5122249 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fb7e015de0e in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb7deed72cd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fb7c6b7f700 (LWP 6528)):
#0  0x00007fb7deecf14f in poll () from /lib64/libc.so.6
#1  0x00007fb7dbbdc684 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fb7dbbdc7a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fb7e051b956 in QEventDispatcherGlib::processEvents (this=0x7fb7c00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fb7e04ec73f in QEventLoop::processEvents (this=this@entry=0x7fb7c6b7edf0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fb7e04ec9c8 in QEventLoop::exec (this=0x7fb7c6b7edf0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fb7e03f0e40 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fb7e04cd11f in QInotifyFileSystemWatcherEngine::run (this=0x2309f60) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fb7e03f3ddb in QThreadPrivate::start (arg=0x2309f60) at thread/qthread_unix.cpp:298
#9  0x00007fb7e015de0e in start_thread () from /lib64/libpthread.so.0
#10 0x00007fb7deed72cd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fb7e1887780 (LWP 6526)):
[KCrash Handler]
#6  hasMatch (this=0x2912ea0) at /usr/src/debug/kate-4.8.5/part/syntax/katecodefolding.h:228
#7  matchingNode (this=0x2912ea0) at /usr/src/debug/kate-4.8.5/part/syntax/katecodefolding.h:231
#8  getStartMatching (endNode=0x2913140, this=0x2912ea0) at /usr/src/debug/kate-4.8.5/part/syntax/katecodefolding.cpp:155
#9  KateCodeFoldingTree::getLineInfo (this=<optimized out>, info=0x7fff06ead1f0, line=172) at /usr/src/debug/kate-4.8.5/part/syntax/katecodefolding.cpp:1020
#10 0x00007fb7c8f1e585 in KateIconBorder::paintBorder (this=0x1f58020, y=<optimized out>, height=<optimized out>) at /usr/src/debug/kate-4.8.5/part/view/kateviewhelpers.cpp:1197
#11 0x00007fb7df6cce12 in QWidget::event (this=0x1f58020, event=0x7fff06eadbf0) at kernel/qwidget.cpp:8508
#12 0x00007fb7df67d74c in QApplicationPrivate::notify_helper (this=this@entry=0x1b37480, receiver=receiver@entry=0x1f58020, e=e@entry=0x7fff06eadbf0) at kernel/qapplication.cpp:4554
#13 0x00007fb7df681c7a in QApplication::notify (this=0x7fff06eb1e40, receiver=0x1f58020, e=0x7fff06eadbf0) at kernel/qapplication.cpp:4415
#14 0x00007fb7e1286006 in KApplication::notify (this=0x7fff06eb1e40, receiver=0x1f58020, event=0x7fff06eadbf0) at /usr/src/debug/kdelibs-4.8.5/kdeui/kernel/kapplication.cpp:311
#15 0x00007fb7e04ed73e in QCoreApplication::notifyInternal (this=0x7fff06eb1e40, receiver=0x1f58020, event=0x7fff06eadbf0) at kernel/qcoreapplication.cpp:876
#16 0x00007fb7df6c8b24 in sendSpontaneousEvent (event=0x7fff06eadbf0, receiver=0x1f58020) at ../../src/corelib/kernel/qcoreapplication.h:234
#17 QWidgetPrivate::drawWidget (this=this@entry=0x1f58100, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5585
#18 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, siblings=..., index=<optimized out>, index@entry=1, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5794
#19 0x00007fb7df6c9464 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, siblings=..., index=1, index@entry=2, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5781
#20 0x00007fb7df6c9464 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, siblings=..., index=2, index@entry=3, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5781
#21 0x00007fb7df6c9464 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, siblings=..., index=3, index@entry=4, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5781
#22 0x00007fb7df6c9464 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, siblings=..., index=4, index@entry=5, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5781
#23 0x00007fb7df6c9464 in QWidgetPrivate::paintSiblingsRecursive (this=0x1f468b0, pdev=0x2815d60, siblings=..., index=5, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5781
#24 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1f468b0, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#25 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1f461f0, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#26 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1f461f0, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#27 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e62770, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#28 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e62770, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#29 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e62330, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#30 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e62330, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#31 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e5b280, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#32 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e5b280, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#33 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e4b5f0, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#34 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e4b5f0, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#35 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e4abf0, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#36 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e4abf0, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#37 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e49770, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#38 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e49770, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#39 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e48cf0, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#40 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e48cf0, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#41 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e47b40, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#42 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=this@entry=0x1e47b40, pdev=pdev@entry=0x2815d60, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x1e55a60) at kernel/qwidget.cpp:5638
#43 0x00007fb7df6c961f in QWidgetPrivate::paintSiblingsRecursive (this=0x1e43c40, pdev=0x2815d60, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5794
#44 0x00007fb7df6c86b5 in QWidgetPrivate::drawWidget (this=0x1e43c40, pdev=0x2815d60, rgn=..., offset=..., flags=<optimized out>, sharedPainter=0x0, backingStore=0x1e55a60) at kernel/qwidget.cpp:5638
#45 0x00007fb7df892218 in QWidgetBackingStore::sync (this=0x1e55a60) at painting/qbackingstore.cpp:1373
#46 0x00007fb7df6bd7c0 in QWidgetPrivate::syncBackingStore (this=this@entry=0x1e43c40) at kernel/qwidget.cpp:1891
#47 0x00007fb7df6cd45c in QWidget::event (this=0x1e43ad0, event=0x2940e60) at kernel/qwidget.cpp:8655
#48 0x00007fb7dfa901db in QMainWindow::event (this=0x1e43ad0, event=0x2940e60) at widgets/qmainwindow.cpp:1478
#49 0x00007fb7e1377508 in KXmlGuiWindow::event (this=0x1e43ad0, ev=0x2940e60) at /usr/src/debug/kdelibs-4.8.5/kdeui/xmlgui/kxmlguiwindow.cpp:126
#50 0x00007fb7df67d74c in QApplicationPrivate::notify_helper (this=this@entry=0x1b37480, receiver=receiver@entry=0x1e43ad0, e=e@entry=0x2940e60) at kernel/qapplication.cpp:4554
#51 0x00007fb7df681c7a in QApplication::notify (this=0x7fff06eb1e40, receiver=0x1e43ad0, e=0x2940e60) at kernel/qapplication.cpp:4415
#52 0x00007fb7e1286006 in KApplication::notify (this=0x7fff06eb1e40, receiver=0x1e43ad0, event=0x2940e60) at /usr/src/debug/kdelibs-4.8.5/kdeui/kernel/kapplication.cpp:311
#53 0x00007fb7e04ed73e in QCoreApplication::notifyInternal (this=0x7fff06eb1e40, receiver=receiver@entry=0x1e43ad0, event=event@entry=0x2940e60) at kernel/qcoreapplication.cpp:876
#54 0x00007fb7e04f1091 in sendEvent (event=0x2940e60, receiver=0x1e43ad0) at kernel/qcoreapplication.h:231
#55 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1a692b0) at kernel/qcoreapplication.cpp:1500
#56 0x00007fb7e051b7a3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#57 postEventSourceDispatch (s=0x1b32770) at kernel/qeventdispatcher_glib.cpp:279
#58 0x00007fb7dbbdc3b5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#59 0x00007fb7dbbdc6e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#60 0x00007fb7dbbdc7a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#61 0x00007fb7e051b936 in QEventDispatcherGlib::processEvents (this=0x1b360a0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#62 0x00007fb7df71d8ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x00007fb7e04ec73f in QEventLoop::processEvents (this=this@entry=0x7fff06eb19d0, flags=...) at kernel/qeventloop.cpp:149
#64 0x00007fb7e04ec9c8 in QEventLoop::exec (this=0x7fff06eb19d0, flags=...) at kernel/qeventloop.cpp:204
#65 0x00007fb7e04f13a8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#66 0x00007fb7ceb447fd in kdemain (argc=<optimized out>, argv=0x1acb700) at /usr/src/debug/kate-4.8.5/kate/app/katemain.cpp:377
#67 0x0000000000408892 in _start ()

This bug may be a duplicate of or related to bug 294241.

Possible duplicates by query: bug 315373, bug 311790, bug 311180, bug 309846, bug 308139.

Reported using DrKonqi
Comment 1 Dominik Haumann 2013-03-23 15:32:14 UTC

*** This bug has been marked as a duplicate of bug 294241 ***