Bug 208486

Summary: spontaneous crash unknown cause [memcpy, KDirWatchPrivate::Entry::propagate_dirty, KDirWatchPrivate::slotRescan]
Product: [Frameworks and Libraries] kio Reporter: mabrand
Component: generalAssignee: David Faure <faure>
Severity: crash CC: andresbajotierra, dplater, dreibh, gldvorak, kde.20.micorreo, kwrite-bugs-null, magnus, mpartap, vndecid
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description mabrand 2009-09-25 11:58:34 UTC
Application that crashed: kate
Version of the application: 3.3.1
KDE Version: 4.3.1 (KDE 4.3.1) "release 165"
Qt Version: 4.5.2
Operating System: Linux i686
Distribution: "openSUSE 11.1 (i586)"

What I was doing when the application crashed:
Not much to go on, but here are some hints:
--Crash happened when dual core system was very busy
--Had a bunch of text files open in kate. Some of these files had been deleted from disk.
--Crash happened while I was alt-tabbing between apps in KDE

 -- Backtrace:
Application: Kate (kate), signal: Segmentation fault
[KCrash Handler]
#6  0xb66b17c6 in memcpy () from /lib/libc.so.6
#7  0xbf92e5e4 in ?? ()
#8  0xb7e0b82d in QList<KDirWatchPrivate::Entry*>::detach_helper (this=0xbf92e5e4) at /usr/include/QtCore/qlist.h:524
#9  0xb7e008a0 in KDirWatchPrivate::Entry::propagate_dirty (this=0x89f78f4) at /usr/include/QtCore/qlist.h:111
#10 0xb7e0087c in KDirWatchPrivate::Entry::propagate_dirty (this=0x9728eac) at /usr/src/debug/kdelibs-4.3.1/kio/kio/kdirwatch.cpp:403
#11 0xb7e0aa4d in KDirWatchPrivate::slotRescan (this=0x8138808) at /usr/src/debug/kdelibs-4.3.1/kio/kio/kdirwatch.cpp:1274
#12 0xb7e0b5db in KDirWatchPrivate::qt_metacall (this=0x8138808, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf92e828) at /usr/src/debug/kdelibs-4.3.1/build/kio/kdirwatch_p.moc:73
#13 0xb6a37788 in QMetaObject::activate (sender=0x8138850, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#14 0xb6a38412 in QMetaObject::activate (sender=0x8138850, m=0xb6b19904, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#15 0xb6a73fe7 in QTimer::timeout (this=0x8138850) at .moc/release-shared/moc_qtimer.cpp:128
#16 0xb6a3dc0e in QTimer::timerEvent (this=0x8138850, e=0xbf92ecd0) at kernel/qtimer.cpp:261
#17 0xb6a3272f in QObject::event (this=0x8138850, e=0xbf92ecd0) at kernel/qobject.cpp:1075
#18 0xb6f187bc in QApplicationPrivate::notify_helper (this=0x8067db8, receiver=0x8138850, e=0xbf92ecd0) at kernel/qapplication.cpp:4056
#19 0xb6f20aae in QApplication::notify (this=0xbf92f0b8, receiver=0x8138850, e=0xbf92ecd0) at kernel/qapplication.cpp:3603
#20 0xb7afa72d in KApplication::notify (this=0xbf92f0b8, receiver=0x8138850, event=0xbf92ecd0) at /usr/src/debug/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#21 0xb6a2216b in QCoreApplication::notifyInternal (this=0xbf92f0b8, receiver=0x8138850, event=0xbf92ecd0) at kernel/qcoreapplication.cpp:610
#22 0xb6a515f6 in QTimerInfoList::activateTimers (this=0x806ab5c) at kernel/qcoreapplication.h:213
#23 0xb6a4d980 in timerSourceDispatch (source=0x806ab28) at kernel/qeventdispatcher_glib.cpp:165
#24 0xb5d2f9c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0xb5d33083 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xb5d33241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb6a4d8d8 in QEventDispatcherGlib::processEvents (this=0x8050068, flags={i = -1080889736}) at kernel/qeventdispatcher_glib.cpp:327
#28 0xb6fb8ca5 in QGuiEventDispatcherGlib::processEvents (this=0x8050068, flags={i = -1080889688}) at kernel/qguieventdispatcher_glib.cpp:202
#29 0xb6a2078a in QEventLoop::processEvents (this=0xbf92ef20, flags={i = -1080889624}) at kernel/qeventloop.cpp:149
#30 0xb6a20bd2 in QEventLoop::exec (this=0xbf92ef20, flags={i = -1080889560}) at kernel/qeventloop.cpp:201
#31 0xb6a23079 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#32 0xb6f18637 in QApplication::exec () at kernel/qapplication.cpp:3525
#33 0xb80748dd in kdemain (argc=1, argv=0xbf92f634) at /usr/src/debug/kdesdk-4.3.1/kate/app/katemain.cpp:257
#34 0x080486e2 in main (argc=0, argv=0x0) at /usr/src/debug/kdesdk-4.3.1/build/kate/app/kate_dummy.cpp:3

Reported using DrKonqi
Comment 1 Marcel Partap 2010-01-09 04:11:46 UTC
Created attachment 39706 [details]
New crash information added by DrKonqi

Same situation as original report, only much more recent kode...
Comment 2 Johannes Wienke 2010-02-07 18:37:46 UTC
*** Bug 225849 has been marked as a duplicate of this bug. ***
Comment 3 Manuel 2010-02-09 04:23:37 UTC
*** Bug 225987 has been marked as a duplicate of this bug. ***
Comment 4 Michel Ludwig 2010-02-15 10:54:19 UTC
*** Bug 225929 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2010-02-15 22:31:42 UTC
Steps to reproduce:

- Start KWrite
- Write a dummy text and save the file to disk
- Externally remove the file ("rm foobar", from Konsole)
- In the first KWrite warning about the changed file select "Cancel"
- Try to save the file
- In the second KWrite warning select "Cancel"
- Go to the KWrite Settings
- In the third KWrite warning select "Cancel"
- Externally recreate the file ("touch foobar" from Konsole)

Here using:

Qt: 4.6.1 (kde-qt master commit 46ef51d8bf520bda3eea9e996349694ce1ff3959
        Date:   Sat Jan 30 02:23:21 2010 +0100)
KDE Development Platform: 4.4.63 (KDE 4.4.63 (KDE 4.5 >= 20100209))
kdelibs svn rev. 1090634 / kdebase svn rev. 1090635
on ArchLinux i686 - Kernel
Comment 6 Dario Andres 2010-02-15 23:06:57 UTC
SVN commit 1090729 by dfaure:

Fix the "kdirwatch crash on re-entrancy from the slots" by emitting the signals
in a delayed manner.
Fixed for: 4.4.1
BUG: 224229 208486 226674 222547

 M  +21 -9     kdirwatch.cpp
 M  +20 -16    kdirwatch.h
 M  +2 -0      kdirwatch_p.h

WebSVN link: http://websvn.kde.org/?view=rev&revision=1090729
Comment 7 Dario Andres 2010-02-15 23:35:26 UTC
*** Bug 226571 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2010-02-15 23:40:48 UTC

*** This bug has been marked as a duplicate of bug 222547 ***
Comment 9 Michel Ludwig 2010-03-09 14:23:33 UTC
*** Bug 230090 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2010-03-19 13:37:19 UTC
*** Bug 231273 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2010-03-24 13:13:39 UTC
*** Bug 231951 has been marked as a duplicate of this bug. ***