Bug 103995

Summary: Kate crashes on removing python comment lines
Product: [Applications] kate Reporter: Reto Spoerri <rspoerri>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:

Description Reto Spoerri 2005-04-16 09:42:01 UTC
Version:            (using KDE KDE 3.3.2)
Installed from:    Debian testing/unstable Packages
OS:                Linux

I have had constant reproducable crashes when editing a python file. When removing multiple commented (crtl-d) lines.

The debug output:
(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.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 1095829568 (LWP 12047)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#3  0x40ea7d58 in QGList::find () from /usr/lib/libqt-mt.so.3
#4  0x40ea78d9 in QGList::remove () from /usr/lib/libqt-mt.so.3
#5  0x4183b79c in KateCodeFoldingTree::removeEnding ()
   from /usr/lib/kde3/libkatepart.so
#6  0x4183d8b5 in KateCodeFoldingTree::cleanupUnneededNodes ()
   from /usr/lib/kde3/libkatepart.so
#7  0x4183ab82 in KateCodeFoldingTree::updateLine ()
   from /usr/lib/kde3/libkatepart.so
#8  0x417ce30a in KateBuffer::doHighlight () from /usr/lib/kde3/libkatepart.so
#9  0x417cc095 in KateBuffer::editEnd () from /usr/lib/kde3/libkatepart.so
#10 0x417ef6a6 in KateDocument::editEnd () from /usr/lib/kde3/libkatepart.so
#11 0x417f29ea in KateDocument::removeSelectedText ()
   from /usr/lib/kde3/libkatepart.so
#12 0x417f8ad7 in KateDocument::backspace () from /usr/lib/kde3/libkatepart.so
#13 0x41844b3f in KateViewInternal::doBackspace ()
   from /usr/lib/kde3/libkatepart.so
#14 0x418873e5 in KateView::backspace () from /usr/lib/kde3/libkatepart.so
#15 0x4184afb5 in KateViewInternal::keyPressEvent ()
   from /usr/lib/kde3/libkatepart.so
#16 0x4184a5d0 in KateViewInternal::eventFilter ()
   from /usr/lib/kde3/libkatepart.so
#17 0x40bed04e in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#18 0x40becf7c in QObject::event () from /usr/lib/libqt-mt.so.3
#19 0x40c25aaf in QWidget::event () from /usr/lib/libqt-mt.so.3
#20 0x40b92e1f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#21 0x40b92914 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#22 0x40737e43 in KApplication::notify () from /usr/lib/libkdecore.so.4
#23 0x40b29620 in QETWidget::translateKeyEvent () from /usr/lib/libqt-mt.so.3
#24 0x40b25302 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#25 0x40b3c254 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#26 0x40ba51d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#27 0x40ba5088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#28 0x40b93071 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#29 0x4154f9c4 in kdemain () from /usr/lib/libkdeinit_kate.so
#30 0x4001b906 in kdeinitmain () from /usr/lib/kde3/kate.so
#31 0x0804cd30 in ?? ()
#32 0x00000001 in ?? ()
#33 0x0809a258 in ?? ()
#34 0x00000001 in ?? ()
#35 0x00000000 in ?? ()
#36 0x00000000 in ?? ()
#37 0x0000007b in ?? ()
#38 0x00001f80 in ?? ()
#39 0x0000ffff in ?? ()
#40 0x00000000 in ?? ()
#41 0x00000000 in ?? ()
#42 0x00000000 in ?? ()
#43 0x00000000 in ?? ()
#44 0x00000000 in ?? ()
#45 0x00000000 in ?? ()
#46 0x00000000 in ?? ()
#47 0x00000000 in ?? ()
#48 0x00000000 in ?? ()
#49 0x00000000 in ?? ()
#50 0x00000000 in ?? ()
#51 0x00000000 in ?? ()
#52 0x00000000 in ?? ()
#53 0x00000000 in ?? ()
#54 0x00000000 in ?? ()
#55 0x00000000 in ?? ()
#56 0x0809a8e8 in ?? ()
#57 0x00000000 in ?? ()
#58 0x00000000 in ?? ()
#59 0x00000000 in ?? ()
#60 0x00000000 in ?? ()
#61 0x00000000 in ?? ()
#62 0x00000000 in ?? ()
#63 0x00000000 in ?? ()
#64 0x41036c40 in vtable for QGArray () from /usr/lib/libqt-mt.so.3
#65 0x00000000 in ?? ()
#66 0x00000000 in ?? ()
#67 0x00000000 in ?? ()
#68 0x4130a4c4 in mallopt () from /lib/tls/libc.so.6
#69 0x0804e23b in ?? ()
#70 0x00000001 in ?? ()
#71 0x0809a494 in ?? ()
#72 0x0809a499 in ?? ()
#73 0x00000000 in ?? ()
#74 0x00000001 in ?? ()
#75 0x0809a4aa in ?? ()
#76 0x00000000 in ?? ()
#77 0x00000000 in ?? ()
#78 0x00000000 in ?? ()
#79 0x0809a4ae in ?? ()
#80 0x00000000 in ?? ()
#81 0x00000000 in ?? ()
#82 0x00000000 in ?? ()
#83 0x0809a4ae in ?? ()
#84 0x00000000 in ?? ()
#85 0x00000000 in ?? ()
#86 0x0809a49d in ?? ()
#87 0x00000001 in ?? ()
#88 0x00000000 in ?? ()
#89 0x0809a499 in ?? ()
#90 0x0809a494 in ?? ()
#91 0x00000001 in ?? ()
#92 0x0809a490 in ?? ()
#93 0x00000000 in ?? ()
#94 0x00000000 in ?? ()
#95 0x00000000 in ?? ()
#96 0x0000000a in ?? ()
#97 0x00000046 in ?? ()
#98 0x08052538 in vtable for QCString ()
#99 0x0805b3d8 in ?? ()
#100 0x00000000 in ?? ()
#101 0x00000000 in ?? ()
#102 0x08052538 in vtable for QCString ()
#103 0x0805b3b8 in ?? ()
#104 0x00000000 in ?? ()
#105 0x00000000 in ?? ()
#106 0x00000000 in ?? ()
#107 0x0077b858 in ?? ()
#108 0x80cd0000 in ?? ()
#109 0x00000001 in ?? ()
#110 0xbffffae0 in ?? ()
#111 0x00000e31 in ?? ()
#112 0xbffffbf8 in ?? ()
#113 0x0804e75e in ?? ()
#114 0x00000008 in ?? ()
#115 0xbffffb60 in ?? ()
#116 0xbffffae0 in ?? ()
#117 0xbffffa60 in ?? ()
#118 0x00000000 in ?? ()
#119 0xbffffa00 in ?? ()
#120 0xbffff968 in ?? ()
#121 0x41242d23 in operator delete () from /usr/lib/libstdc++.so.5


The file i have crashes with:

From the end of the file i start removing all commented lines. If multiple lines i select them with shift. 

#-----------------------------------------------------------------------------------------------
# file starts here ....

# aiController.py

#controller.py

import soya, sys
import soya.sdlconst as sdlconst
import random

from actionManager import *
from genericController import *

class Action:
    """An action that the character can do."""
    def __init__(self, action):
        self.action = action

class aiFlockingControllerClass(genericControllerClass):
    """ A controler is an object that gives orders to a character.
    """
    def __init__(self, scene):
        genericControllerClass.__init__(self, scene)
        self.counter = 0
        # target
        self.target = None
        self.master = None
        # list of actions
        self.actions = list()
        # do a first calculations
        self.calculateActions()
        
    def setTargets(self, targets):
        self.targets = targets
        
    def calculateActions(self):
        ''' called from begin_round in character
        '''
        self.move_backwards = self.move_forwards = self.rotate_left = self.rotate_right = False
        # only recalculate actions if list is empty
        if len(self.actions) == 0:
            self.actions = list()
            if self.object and self.targets:
                if self.target == self.object:
                    pass
                else:
                    foundTargets = list()
                    # find targets in front of myself
#                     self.actions.append(ACTION_ADVANCE)
                    for target in self.targets:
                        # if target within 10.0 its within our view
                        targetDistance = self.object.distance_to(target)
                        if targetDistance < 10.0:
                            targetVector = self.object.vector_to(target)
                            targetVector.convert_to(self.object)
                            # create a 270° viewangle where objects are seen
                            if targetVector.z > 0:
                                if targetVector.x > 0:
                                    if targetVector.z < targetVector.x:
#                                         print "in view"
                                        foundTargets.append(target)
#                                     else:
#                                         print "not"
                                else:
                                    if targetVector.z < -targetVector.x:
#                                         print "in view"
                                        foundTargets.append(target)
#                                     else:
#                                         print "not"
                            else:
                                # add to viewable objects
#                                 print "in view"
                                foundTargets.append(target)
                    return


                  
    def next(self):
        ''' Returns the next action
        called as 2nd in begin action of character
        '''
        if len(self.actions) > 0:
            return Action(self.actions.pop())
        else:
            return Action(ACTION_WAIT)
Comment 1 Christoph Cullmann 2005-04-28 12:25:37 UTC
works here with kde 3.4 and head, seems to be fixed by some changes to the folding stuff
Comment 2 Dominik Haumann 2006-04-22 15:41:37 UTC
not fixed, dupe of #103648.
Comment 3 Dominik Haumann 2006-04-22 15:41:50 UTC

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