Bug 105258

Summary: Multiple code folding crashs
Product: [Applications] kate Reporter: Ivan Nazarenko <ivan.nazarenko>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: daryld, evilmrhenry, jacob.benoit.1
Priority: VHI    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: example that triggers the crash
output of backtrace windows
Backtrace (nostripped) using KDE 3.3.2

Description Ivan Nazarenko 2005-05-07 23:11:36 UTC
Version:            (using KDE KDE 3.4.0)
Installed from:    SuSE RPMs
Compiler:          seems SuSE9.3 has everything compiled with gcc 3.3.5 20050117 (prerelease) 
OS:                Linux

In the following code, if you try to comment line 6 (go there and hit ctrl-D) kate crash with signal 11.

Perhaps this file is sensitive regarding tab-spaces, so if this bug-report wizard allows me later, I will attach the code.
----------
class k:
    def x(self):
        while True:
#
            if you_try_to_comment_next_line == with_ctrl-D:
                kate_will_crash()
                if True:
                    pass
---------

Some settings that might have some influence:
tabs are transformed to spaces;
tab = 4 spaces
no spaces at end of lines
Comment 1 Ivan Nazarenko 2005-05-08 00:24:22 UTC
Created attachment 10935 [details]
example that triggers the crash
Comment 2 Ivan Nazarenko 2005-05-08 00:25:53 UTC
Created attachment 10936 [details]
output of backtrace windows
Comment 3 Marek Schmidt 2005-05-23 14:08:22 UTC
I have the same problem. That test case does not cause crash with 100% probability, though. To reproduce the bug save the Ivan's attached file with .py suffix, go to line 6 and repeat pressing ctrl-D (comment line) & ctrl-Z (undo) until the crash occurs.

I am using Kate 2.3.2 (KDE 3.3.2) from Debian Sid (kdelibs4_3.3.2-6_i386.deb)

I am attaching my backtrace. Crash occurs on line 433 in file katecodefoldinghelpers.cpp
Comment 4 Marek Schmidt 2005-05-23 14:10:01 UTC
Created attachment 11163 [details]
Backtrace (nostripped) using KDE 3.3.2
Comment 5 Thiago Macieira 2005-05-23 23:42:54 UTC
Pasting the backtrace:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1231130496 (LWP 17227)]
[KCrash handler]
#3  0xb73c2d58 in QGList::find () from /usr/lib/libqt-mt.so.3
#4  0xb73c28d9 in QGList::remove () from /usr/lib/libqt-mt.so.3
#5  0xb66b6eec in QPtrList<KateCodeFoldingNode>::remove (this=0x20,
    d=0x86123d8) at qptrlist.h:85
#6  0xb6672593 in KateCodeFoldingTree::removeEnding (this=0x8302130,
    node=0x86123d8) at katecodefoldinghelpers.cpp:433
#7  0xb6673ee5 in KateCodeFoldingTree::cleanupUnneededNodes (this=0x8302130,
    line=7) at katecodefoldinghelpers.cpp:1126
#8  0xb6672373 in KateCodeFoldingTree::updateLine (this=0x8302130, line=7,
    regionChanges=0xbfea4f00, updated=0xbfea4ea3, changed=true)
    at katecodefoldinghelpers.cpp:369
#9  0xb6613631 in KateBuffer::doHighlight (this=0x83020d8, buf=0x83266b0,
    startLine=4, endLine=6, invalidate=true) at katebuffer.cpp:1006
#10 0xb6611405 in KateBuffer::editEnd (this=0x83020d8) at katebuffer.cpp:331
#11 0xb66324f0 in KateDocument::editEnd (this=0x8325b00)
    at katedocument.cpp:1021
#12 0xb6631a0f in KateDocument::insertText (this=0x8325b00, line=5, col=0,
    s=@0xbfea5100, blockwise=false) at katedocument.cpp:760
#13 0xb663161c in KateDocument::insertText (this=0x8325b00, line=5, col=0,
    s=@0xbfea5100) at katedocument.cpp:693
#14 0xb663b5e0 in KateDocument::addStartLineCommentToSingleLine (
    this=0x8325b00, line=5, attrib=0) at katedocument.cpp:3530
#15 0xb663cc14 in KateDocument::comment (this=0x8325b00, line=5, change=1)
    at katedocument.cpp:3865
#16 0xb66c7199 in KateView::comment (this=0x8540bf8) at kateview.h:200
#17 0xb665aed1 in KateView::qt_invoke (this=0x8540bf8, _id=126, _o=0xbfea52a0)
    at kateview.moc:606
#18 0xb710a71c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#19 0xb710a544 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#20 0xb7a1b5cc in KAction::activated (this=0x854c1f0) at kaction.moc:157
#21 0xb7a1af5b in KAction::slotActivated (this=0x854c1f0) at kaction.cpp:1057
#22 0xb7a1b8cd in KAction::qt_invoke (this=0x854c1f0, _id=14, _o=0xbfea53a0)
    at kaction.moc:181
#23 0xb710a71c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#24 0xb710a544 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#25 0xb77a2bac in KAccelPrivate::menuItemActivated (this=0x85b8040)
    at kaccelprivate.moc:110
#26 0xb77a0f12 in KAccelPrivate::eventFilter (this=0x85b8040,
    pEvent=0xbfea58e0) at kaccel.cpp:325
#27 0xb710804e in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#28 0xb7107f7c in QObject::event () from /usr/lib/libqt-mt.so.3
#29 0xb7140aaf in QWidget::event () from /usr/lib/libqt-mt.so.3
#30 0xb71ff5b2 in QMainWindow::event () from /usr/lib/libqt-mt.so.3
#31 0xb67ec248 in KMdiMainFrm::event (this=0x830ebe8, e=0xbfea58e0)
    at kmdimainfrm.cpp:1073
#32 0xb70ade1f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#33 0xb70ad914 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#34 0xb7734f47 in KApplication::notify (this=0xbfea5d90, receiver=0x85431b8,
    event=0xbfea58e0) at kapplication.cpp:495
#35 0xb7f6acc6 in QApplication::sendEvent (receiver=0x85431b8,
    event=0xbfea58e0) at qapplication.h:491
#36 0xb779fb5c in KAccelEventHandler::x11Event (this=0x8340558,
    pEvent=0xbfea5c90) at kaccel.cpp:115
#37 0xb78436dc in KAppX11HackWidget::publicx11Event (this=0x8340558,
    e=0xbfea5c90) at kapplication.cpp:1543
#38 0xb7739ba4 in KApplication::x11EventFilter (this=0xbfea5d90,
    _event=0xbfea5c90) at kapplication.cpp:1611
#39 0xb70363c8 in qt_set_x11_event_filter () from /usr/lib/libqt-mt.so.3
#40 0xb70400bb in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#41 0xb7057254 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#42 0xb70c01d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#43 0xb70c0088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#44 0xb70ae071 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#45 0xb69109c4 in kdemain () from /usr/lib/libkdeinit_kate.so
#46 0xb7f90906 in kdeinitmain () from /usr/lib/kde3/kate.so

Comment 6 Thiago Macieira 2005-05-24 00:46:00 UTC
Same backtrace as bug #89042, which is marked FIXED.
Comment 7 Ivan Nazarenko 2005-05-24 16:04:48 UTC
Christoph Cullmann commented, in this bug #09042 thread, that this should be solved with KDE 3.4.

Well, exactly on SuSE9.3 (KDE 3.4) I have 100% probability of crash with the test code on the first try. A similar machine here shows the same behavior. Previous kde versions do not appear problematic, but I did not stress-tested as Marek did.

Seems fixing the DEL issue raised this ctrl-D side-effect.
Comment 8 Christoph Cullmann 2005-09-29 19:35:35 UTC
*** Bug 107866 has been marked as a duplicate of this bug. ***
Comment 9 Christoph Cullmann 2005-09-29 19:39:54 UTC
Change summary
Comment 10 Christoph Cullmann 2005-09-29 20:02:04 UTC
*** Bug 112931 has been marked as a duplicate of this bug. ***
Comment 11 Christoph Cullmann 2005-09-29 20:02:46 UTC
*** Bug 111796 has been marked as a duplicate of this bug. ***
Comment 12 Christoph Cullmann 2005-09-29 20:41:14 UTC
The most prominent Kate crash I guess :/
jowenn, could you look at it, at least for KDE 4.0?
Comment 13 Christoph Cullmann 2005-10-05 18:42:00 UTC

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