Bug 215967 - Kate crashes when saving a file [QString::operator==, KDirWatchPrivate::Entry::findSubEntry, KDirWatchPrivate::inotifyEventReceived]
Summary: Kate crashes when saving a file [QString::operator==, KDirWatchPrivate::Entry...
Status: RESOLVED DUPLICATE of bug 224229
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
: 220969 224574 225095 228311 228323 229647 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-24 15:45 UTC by Hulahup
Modified: 2010-03-06 09:47 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hulahup 2009-11-24 15:45:46 UTC
Application that crashed: kate
Version of the application: 3.3.3
KDE Version: 4.3.3 (KDE 4.3.3)
Qt Version: 4.5.3
Operating System: Linux 2.6.29.4-167.fc11.x86_64 x86_64
Distribution: "Fedora release 11 (Leonidas)"

 -- Backtrace:
Application: Kate (kate), signal: Segmentation fault
[KCrash Handler]
#5  0x00000035c9c99c68 in QString::operator==(QString const&) const () from /usr/lib64/libQtCore.so.4
#6  0x00000035ccd346a6 in KDirWatchPrivate::Entry::findSubEntry (this=<value optimized out>, path=@0x7fff5d7c7c10) at /usr/src/debug/kdelibs-4.3.3/kio/kio/kdirwatch_p.h:157
#7  0x00000035ccd312cc in KDirWatchPrivate::inotifyEventReceived (this=0xdd6970) at /usr/src/debug/kdelibs-4.3.3/kio/kio/kdirwatch.cpp:296
#8  0x00000035ccd343a4 in KDirWatchPrivate::qt_metacall (this=0xdd6970, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5d7c8e50)
    at /usr/src/debug/kdelibs-4.3.3/x86_64-redhat-linux-gnu/kio/kdirwatch_p.moc:75
#9  0x00000035c9d53dcc in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#10 0x00000035c9d899ce in QSocketNotifier::activated(int) () from /usr/lib64/libQtCore.so.4
#11 0x00000035c9d58713 in QSocketNotifier::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#12 0x00000035caf8f63c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#13 0x00000035caf9689e in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x00000035cc611be6 in KApplication::notify (this=0x7fff5d7c96f0, receiver=0xdd6c50, event=0x7fff5d7c9390) at /usr/src/debug/kdelibs-4.3.3/kdeui/kernel/kapplication.cpp:302
#15 0x00000035c9d3ebac in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#16 0x00000035c9d671ba in ?? () from /usr/lib64/libQtCore.so.4
#17 0x0000003464c3790e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#18 0x0000003464c3b0e8 in ?? () from /lib64/libglib-2.0.so.0
#19 0x0000003464c3b20a in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#20 0x00000035c9d66f36 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#21 0x00000035cb02202e in ?? () from /usr/lib64/libQtGui.so.4
#22 0x00000035c9d3d4b2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#23 0x00000035c9d3d884 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#24 0x00000035c9d3fa19 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#25 0x00000035cd604aed in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdesdk-4.3.1/kate/app/katemain.cpp:257
#26 0x000000346341ea2d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff5d7ca908) at libc-start.c:220
#27 0x00000000004006c9 in _start ()
Warning: the current language does not match this frame.

This bug may be a duplicate of or related to bug 187005

Reported using DrKonqi
Comment 1 Christoph Feck 2009-12-03 21:40:52 UTC

*** This bug has been marked as a duplicate of bug 165548 ***
Comment 2 Dario Andres 2010-01-29 00:21:39 UTC
*** Bug 224574 has been marked as a duplicate of this bug. ***
Comment 3 Dario Andres 2010-02-01 22:38:29 UTC
*** Bug 220969 has been marked as a duplicate of this bug. ***
Comment 4 Dario Andres 2010-02-01 22:38:33 UTC
*** Bug 225095 has been marked as a duplicate of this bug. ***
Comment 5 Dima Ryazanov 2010-02-02 01:37:28 UTC
Here's some output from Valgrind:


==21170== Invalid read of size 1                                                                                                                                                     
==21170==    at 0xAEEF45A: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:401)                                                                                            
==21170==    by 0xAEF6B26: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1275)                                                                                                       
==21170==    by 0xAEF76F3: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:73)                                                                        
==21170==    by 0x7062DDB: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3113)                                                                                      
==21170==    by 0x705CD82: QObject::event(QEvent*) (qobject.cpp:1075)                                                                                                                
==21170==    by 0x5541EFB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4056)                                                                             
==21170==    by 0x55491CD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4021)                                                                                           
==21170==    by 0x689BF45: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)                                                                                            
==21170==    by 0x704DC2B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:610)                                                                            
==21170==    by 0x7078861: QTimerInfoList::activateTimers() (qcoreapplication.h:213)                                                                                                 
==21170==    by 0x707625C: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:165)                                                                     
==21170==    by 0x85D2BCD: g_main_context_dispatch (gmain.c:1960)                                                                                                                    
==21170==  Address 0xe178040 is 64 bytes inside a block of size 96 free'd                                                                                                            
==21170==    at 0x4C24D8C: free (vg_replace_malloc.c:325)                                                                                                                            
==21170==    by 0x56F9D7A: QX11PaintEngine::updateState(QPaintEngineState const&) (qvector.h:425)                                                                                    
==21170==    by 0x5653422: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:908)                                                                                       
==21170==    by 0x5653501: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:936)                                                                                           
==21170==    by 0x5658AE2: QPainter::setClipRect(QRect const&, Qt::ClipOperation) (qpainter.cpp:2639)                                                                                
==21170==    by 0x57F50F5: QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:2260)                           
==21170==    by 0x68ACB21: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2501)                                       
==21170==    by 0xEF31A52: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:400)                                   
==21170==    by 0x5ABE32F: QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (qstyleditemdelegate.cpp:423)                                
==21170==    by 0x5A368E1: QListView::paintEvent(QPaintEvent*) (qlistview.cpp:1190)                                                                                                  
==21170==    by 0x559079F: QWidget::event(QEvent*) (qwidget.cpp:7687)                                                                                                                
==21170==    by 0x58EC2A5: QFrame::event(QEvent*) (qframe.cpp:559)                                                                                                                   
==21170==                                                                                                                                                                            
==21170== Invalid write of size 1                                                                                                                                                    
==21170==    at 0xAEEF462: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:403)                                                                                            
==21170==    by 0xAEF6B26: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1275)                                                                                                       
==21170==    by 0xAEF76F3: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:73)                                                                        
==21170==    by 0x7062DDB: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3113)                                                                                      
==21170==    by 0x705CD82: QObject::event(QEvent*) (qobject.cpp:1075)                                                                                                                
==21170==    by 0x5541EFB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4056)                                                                             
==21170==    by 0x55491CD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4021)                                                                                           
==21170==    by 0x689BF45: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)                                                                                            
==21170==    by 0x704DC2B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:610)                                                                            
==21170==    by 0x7078861: QTimerInfoList::activateTimers() (qcoreapplication.h:213)                                                                                                 
==21170==    by 0x707625C: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:165)                                                                     
==21170==    by 0x85D2BCD: g_main_context_dispatch (gmain.c:1960)                                                                                                                    
==21170==  Address 0xe178040 is 64 bytes inside a block of size 96 free'd                                                                                                            
==21170==    at 0x4C24D8C: free (vg_replace_malloc.c:325)                                                                                                                            
==21170==    by 0x56F9D7A: QX11PaintEngine::updateState(QPaintEngineState const&) (qvector.h:425)                                                                                    
==21170==    by 0x5653422: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:908)                                                                                       
==21170==    by 0x5653501: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:936)                                                                                           
==21170==    by 0x5658AE2: QPainter::setClipRect(QRect const&, Qt::ClipOperation) (qpainter.cpp:2639)                                                                                
==21170==    by 0x57F50F5: QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:2260)                           
==21170==    by 0x68ACB21: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2501)                                       
==21170==    by 0xEF31A52: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:400)                                   
==21170==    by 0x5ABE32F: QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (qstyleditemdelegate.cpp:423)                                
==21170==    by 0x5A368E1: QListView::paintEvent(QPaintEvent*) (qlistview.cpp:1190)                                                                                                  
==21170==    by 0x559079F: QWidget::event(QEvent*) (qwidget.cpp:7687)                                                                                                                
==21170==    by 0x58EC2A5: QFrame::event(QEvent*) (qframe.cpp:559)                                                                                                                   
==21170==                                                                                                                                                                            
==21170== Invalid read of size 8                                                                                                                                                     
==21170==    at 0xAEEF405: KDirWatchPrivate::Entry::propagate_dirty() (qlist.h:111)                                                                                                  
==21170==    by 0xAEEF46A: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:404)                                                                                            
==21170==    by 0xAEF6B26: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1275)                                                                                                       
==21170==    by 0xAEF76F3: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:73)                                                                        
==21170==    by 0x7062DDB: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3113)
==21170==    by 0x705CD82: QObject::event(QEvent*) (qobject.cpp:1075)
==21170==    by 0x5541EFB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4056)
==21170==    by 0x55491CD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4021)
==21170==    by 0x689BF45: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==21170==    by 0x704DC2B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:610)
==21170==    by 0x7078861: QTimerInfoList::activateTimers() (qcoreapplication.h:213)
==21170==    by 0x707625C: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:165)
==21170==  Address 0xe178028 is 40 bytes inside a block of size 96 free'd
==21170==    at 0x4C24D8C: free (vg_replace_malloc.c:325)
==21170==    by 0x56F9D7A: QX11PaintEngine::updateState(QPaintEngineState const&) (qvector.h:425)
==21170==    by 0x5653422: QPainterPrivate::updateStateImpl(QPainterState*) (qpainter.cpp:908)
==21170==    by 0x5653501: QPainterPrivate::updateState(QPainterState*) (qpainter.cpp:936)
==21170==    by 0x5658AE2: QPainter::setClipRect(QRect const&, Qt::ClipOperation) (qpainter.cpp:2639)
==21170==    by 0x57F50F5: QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:2260)
==21170==    by 0x68ACB21: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2501)
==21170==    by 0xEF31A52: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:400)
==21170==    by 0x5ABE32F: QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (qstyleditemdelegate.cpp:423)
==21170==    by 0x5A368E1: QListView::paintEvent(QPaintEvent*) (qlistview.cpp:1190)
==21170==    by 0x559079F: QWidget::event(QEvent*) (qwidget.cpp:7687)
==21170==    by 0x58EC2A5: QFrame::event(QEvent*) (qframe.cpp:559)
==21170==
==21170== Invalid read of size 4
==21170==    at 0xAEEF40D: KDirWatchPrivate::Entry::propagate_dirty() (qatomic_x86_64.h:121)
==21170==    by 0xAEEF46A: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:404)
==21170==    by 0xAEF6B26: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1275)
==21170==    by 0xAEF76F3: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:73)
==21170==    by 0x7062DDB: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3113)
==21170==    by 0x705CD82: QObject::event(QEvent*) (qobject.cpp:1075)
==21170==    by 0x5541EFB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4056)
==21170==    by 0x55491CD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4021)
==21170==    by 0x689BF45: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==21170==    by 0x704DC2B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:610)
==21170==    by 0x7078861: QTimerInfoList::activateTimers() (qcoreapplication.h:213)
==21170==    by 0x707625C: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:165)
==21170==  Address 0x4065200000000000 is not stack'd, malloc'd or (recently) free'd
==21170==
Comment 6 Dario Andres 2010-02-10 13:40:20 UTC

*** This bug has been marked as a duplicate of bug 224229 ***
Comment 7 Dario Andres 2010-02-24 22:37:02 UTC
*** Bug 228323 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2010-02-24 22:39:33 UTC
*** Bug 228311 has been marked as a duplicate of this bug. ***
Comment 9 Andreas Pakulat 2010-03-06 09:47:30 UTC
*** Bug 229647 has been marked as a duplicate of this bug. ***