Summary: | [steps] Kate crashes in KDirWatcher when files change on disk [QString::operator==, findSubEntry,KDirWatchPrivate::inotifyEventReceived] | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Matthew Woehlke <mwoehlke.floss> |
Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | 81joe81, andresbajotierra, blackravener, bruno.vasselle, chris, dima, doc.evans, domazb, dreibh, faure, groups, kwrite-bugs-null, loose, luke-jr+kdebugs, mannequinZOD, marcel.loose, metamorfozis, phillip.m.jordan, stefan.goetz, superzenky, tobias.hochguertel, zdwiel |
Priority: | NOR | ||
Version: | 4.3 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Matthew Woehlke
2010-01-25 21:48:39 UTC
I believe we have similar reports for KDevelop (where two of our plugins use KDirWatch to watch over changes in the projects). Didn't look into this further, on suggestion was to check wether KDirWatch was maybe used in multiple threads which is not supported by the class. Matthew could you check wether your crashed kate has more threads running? Sorry, I already shut down gdb; I'll check next time (from recent experience I fully expect there to be a "next time"). Meanwhile, maybe a Kate dev can comment on how kdirwatcher is used in Kate? It is most probably bug 165548, which unfortunately isn't fixed by recent commits. Hmm, I am less sure about this being a problem in kdirwatcher now... Here's why: ==9039== Invalid read of size 1 ==9039== at 0x541271A: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:418) ==9039== by 0x541BE5E: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1349) ==9039== by 0x541CA13: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:81) ==9039== by 0x7C6B2F0: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==9039== by 0x7C7D4B6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==9039== by 0x7CD1824: QTimer::timeout() (moc_qtimer.cpp:134) ==9039== by 0x7C856D8: QTimer::timerEvent(QTimerEvent*) (qtimer.cpp:271) ==9039== by 0x7C79434: QObject::event(QEvent*) (qobject.cpp:1212) ==9039== by 0x6525323: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298) ==9039== by 0x652297B: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3702) ==9039== by 0x5F17BD5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302) ==9039== by 0x7C644AC: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704) ==9039== Address 0x13217bb0 is 80 bytes inside a block of size 200 free'd ==9039== at 0x4A04A84: operator delete(void*) (vg_replace_malloc.c:346) ==9039== by 0x66B051A: QScopedPointerDeleter<QPainterPrivate>::cleanup(QPainterPrivate*) (qscopedpointer.h:62) ==9039== by 0x66AFA2C: QScopedPointer<QPainterPrivate, QScopedPointerDeleter<QPainterPrivate> >::~QScopedPointer() (qscopedpointer.h:100) ==9039== by 0x669C3DE: QPainter::~QPainter() (qpainter.cpp:1507) ==9039== by 0x6699EDA: QPainterPrivate::draw_helper(QPainterPath const&, QPainterPrivate::DrawOperation) (qpainter.cpp:485) ==9039== by 0x66A3C24: QPainter::drawLines(QLineF const*, int) (qpainter.cpp:4632) ==9039== by 0x114DEB84: OxygenStyle::renderScrollBarHandle(QPainter*, QRect const&, QPalette const&, Qt::Orientation, bool, double) const (qpainter.h:534) ==9039== by 0x114DEE49: OxygenStyle::drawScrollBarPrimitive(int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.h:288) ==9039== by 0x114D425B: OxygenStyle::drawKStylePrimitive(KStyle::WidgetType, int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.cpp:690) ==9039== by 0x5F2776F: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2260) ==9039== by 0x114E50AE: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:569) ==9039== by 0x688F97B: QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:3236) ==9039== ==9039== Invalid write of size 1 ==9039== at 0x5412720: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:420) ==9039== by 0x541BE5E: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1349) ==9039== by 0x541CA13: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:81) ==9039== by 0x7C6B2F0: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==9039== by 0x7C7D4B6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==9039== by 0x7CD1824: QTimer::timeout() (moc_qtimer.cpp:134) ==9039== by 0x7C856D8: QTimer::timerEvent(QTimerEvent*) (qtimer.cpp:271) ==9039== by 0x7C79434: QObject::event(QEvent*) (qobject.cpp:1212) ==9039== by 0x6525323: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298) ==9039== by 0x652297B: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3702) ==9039== by 0x5F17BD5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302) ==9039== by 0x7C644AC: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704) ==9039== Address 0x13217bb0 is 80 bytes inside a block of size 200 free'd ==9039== at 0x4A04A84: operator delete(void*) (vg_replace_malloc.c:346) ==9039== by 0x66B051A: QScopedPointerDeleter<QPainterPrivate>::cleanup(QPainterPrivate*) (qscopedpointer.h:62) ==9039== by 0x66AFA2C: QScopedPointer<QPainterPrivate, QScopedPointerDeleter<QPainterPrivate> >::~QScopedPointer() (qscopedpointer.h:100) ==9039== by 0x669C3DE: QPainter::~QPainter() (qpainter.cpp:1507) ==9039== by 0x6699EDA: QPainterPrivate::draw_helper(QPainterPath const&, QPainterPrivate::DrawOperation) (qpainter.cpp:485) ==9039== by 0x66A3C24: QPainter::drawLines(QLineF const*, int) (qpainter.cpp:4632) ==9039== by 0x114DEB84: OxygenStyle::renderScrollBarHandle(QPainter*, QRect const&, QPalette const&, Qt::Orientation, bool, double) const (qpainter.h:534) ==9039== by 0x114DEE49: OxygenStyle::drawScrollBarPrimitive(int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.h:288) ==9039== by 0x114D425B: OxygenStyle::drawKStylePrimitive(KStyle::WidgetType, int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.cpp:690) ==9039== by 0x5F2776F: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2260) ==9039== by 0x114E50AE: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:569) ==9039== by 0x688F97B: QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:3236) ==9039== ==9039== Invalid read of size 8 ==9039== at 0x54126C5: KDirWatchPrivate::Entry::propagate_dirty() (qlist.h:114) ==9039== by 0x5412728: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:421) ==9039== by 0x541BE5E: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1349) ==9039== by 0x541CA13: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:81) ==9039== by 0x7C6B2F0: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==9039== by 0x7C7D4B6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==9039== by 0x7CD1824: QTimer::timeout() (moc_qtimer.cpp:134) ==9039== by 0x7C856D8: QTimer::timerEvent(QTimerEvent*) (qtimer.cpp:271) ==9039== by 0x7C79434: QObject::event(QEvent*) (qobject.cpp:1212) ==9039== by 0x6525323: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298) ==9039== by 0x652297B: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3702) ==9039== by 0x5F17BD5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302) ==9039== Address 0x13217b98 is 56 bytes inside a block of size 200 free'd ==9039== at 0x4A04A84: operator delete(void*) (vg_replace_malloc.c:346) ==9039== by 0x66B051A: QScopedPointerDeleter<QPainterPrivate>::cleanup(QPainterPrivate*) (qscopedpointer.h:62) ==9039== by 0x66AFA2C: QScopedPointer<QPainterPrivate, QScopedPointerDeleter<QPainterPrivate> >::~QScopedPointer() (qscopedpointer.h:100) ==9039== by 0x669C3DE: QPainter::~QPainter() (qpainter.cpp:1507) ==9039== by 0x6699EDA: QPainterPrivate::draw_helper(QPainterPath const&, QPainterPrivate::DrawOperation) (qpainter.cpp:485) ==9039== by 0x66A3C24: QPainter::drawLines(QLineF const*, int) (qpainter.cpp:4632) ==9039== by 0x114DEB84: OxygenStyle::renderScrollBarHandle(QPainter*, QRect const&, QPalette const&, Qt::Orientation, bool, double) const (qpainter.h:534) ==9039== by 0x114DEE49: OxygenStyle::drawScrollBarPrimitive(int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.h:288) ==9039== by 0x114D425B: OxygenStyle::drawKStylePrimitive(KStyle::WidgetType, int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.cpp:690) ==9039== by 0x5F2776F: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (kstyle.cpp:2260) ==9039== by 0x114E50AE: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:569) ==9039== by 0x688F97B: QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const (qcommonstyle.cpp:3236) ==9039== ==9039== Invalid read of size 4 ==9039== at 0x54126CD: KDirWatchPrivate::Entry::propagate_dirty() (qatomic_x86_64.h:121) ==9039== by 0x5412728: KDirWatchPrivate::Entry::propagate_dirty() (kdirwatch.cpp:421) ==9039== by 0x541BE5E: KDirWatchPrivate::slotRescan() (kdirwatch.cpp:1349) ==9039== by 0x541CA13: KDirWatchPrivate::qt_metacall(QMetaObject::Call, int, void**) (kdirwatch_p.moc:81) ==9039== by 0x7C6B2F0: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==9039== by 0x7C7D4B6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==9039== by 0x7CD1824: QTimer::timeout() (moc_qtimer.cpp:134) ==9039== by 0x7C856D8: QTimer::timerEvent(QTimerEvent*) (qtimer.cpp:271) ==9039== by 0x7C79434: QObject::event(QEvent*) (qobject.cpp:1212) ==9039== by 0x6525323: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4298) ==9039== by 0x652297B: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3702) ==9039== by 0x5F17BD5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302) ==9039== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==9039== Hopefully this helps! Curious that the free is inside painting code, but maybe that's a red herring. Red herring indeed, the bug is obviously in KDirWatch. You could try with a bigger value for --freelist-vol in valgrind to see if it can track better what the memory was used for. The default value is 10000000, try adding a zero or two ;) No joy; tried with --freelist-vol=400000000, and the free is reported in Kate's HL. Whatever is deleting it, it is loooong gone by the time the SEGV occurs. Interestingly I think I caught this happening on a file creation, at least that's my guess as it actually died when I fired up vim (which I think would have created its swap in a location that this kdirwatcher would have seen). I'm starting to think it might be better for debugging to not actually delete the object but mark it bad and record the trace of where the delete would have occurred. The downside of course is that might use a lot of memory depending on how ephemeral these objects are. Adding two backtraces, which look different while both occured when currently open file was modified by external program (svn). Qt version is 4.6.1 Application: Kate (kdeinit4), signal: Segmentation fault [Current thread is 0 (LWP 18238)] Thread 2 (Thread 0x7fcdbe5f6910 (LWP 18239)): #0 0x00007fcdcdb0e209 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fcdbef5a296 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fcdbf21c1e0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304 #2 0x00007fcdbef5a2b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fcdbf22a2ac) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438 #3 0x00007fcdcdb0a2f0 in start_thread () from /lib/libpthread.so.0 #4 0x00007fcdca606bbd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fcdce27f740 (LWP 18238)): [KCrash Handler] #5 0x00007fcdcdde1586 in QString::operator== (this=0x11c3ef0, other=@0x7fff2ba8f910) at tools/qstring.cpp:2060 #6 0x00007fcdccdabdf3 in KDirWatchPrivate::Entry::findSubEntry (this=<value optimized out>, path=@0x7fff2ba8f910) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kio/kio/kdirwatch_p.h:157 #7 0x00007fcdccda9592 in KDirWatchPrivate::inotifyEventReceived (this=0x79b960) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kio/kio/kdirwatch.cpp:297 #8 0x00007fcdccda9c90 in KDirWatchPrivate::qt_metacall (this=0x79b960, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff2ba8fba0) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5_build/kio/kdirwatch_p.moc:81 #9 0x00007fcdcdeae067 in QMetaObject::activate (sender=0x79be30, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3267 #10 0x00007fcdcdefe90e in QSocketNotifier::activated (this=0x11c3ef0, _t1=12) at .moc/debug-shared/moc_qsocketnotifier.cpp:89 #11 0x00007fcdcdeb51e3 in QSocketNotifier::event (this=0x79be30, e=0x7fff2ba90350) at kernel/qsocketnotifier.cpp:317 #12 0x00007fcdcb1ef766 in QApplicationPrivate::notify_helper (this=0x6a1e50, receiver=0x79be30, e=0x7fff2ba90350) at kernel/qapplication.cpp:4298 #13 0x00007fcdcb1f7b40 in QApplication::notify (this=0x7fff2ba906c0, receiver=0x79be30, e=0x7fff2ba90350) at kernel/qapplication.cpp:4263 #14 0x00007fcdcc2f424a in KApplication::notify (this=0x7fff2ba906c0, receiver=0x79be30, event=0x7fff2ba90350) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kdeui/kernel/kapplication.cpp:302 #15 0x00007fcdcde98823 in QCoreApplication::notifyInternal (this=0x7fff2ba906c0, receiver=0x79be30, event=0x7fff2ba90350) at kernel/qcoreapplication.cpp:704 #16 0x00007fcdcdec5229 in socketNotifierSourceDispatch (source=0x6a5890) at kernel/qcoreapplication.h:215 #17 0x00007fcdc9e7de61 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #18 0x00007fcdc9e813f8 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #19 0x00007fcdc9e815ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #20 0x00007fcdcdec4e7c in QEventDispatcherGlib::processEvents (this=0x615de0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #21 0x00007fcdcb29688f in QGuiEventDispatcherGlib::processEvents (this=0x11c3ef0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #22 0x00007fcdcde971d2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 732497264}) at kernel/qeventloop.cpp:149 #23 0x00007fcdcde975a4 in QEventLoop::exec (this=0x7fff2ba905b0, flags={i = 732497344}) at kernel/qeventloop.cpp:201 #24 0x00007fcdcde99a64 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #25 0x00007fcdc26eef16 in kdemain (argc=1, argv=0x613230) at /mnt/ram/paludis/kde-base-kate-4.3.5/work/kate-4.3.5/kate/app/katemain.cpp:257 #26 0x0000000000406fdb in launch (argc=1, _name=0x661e08 "/usr/bin/kate", args=0x661e16 "\001", cwd=0x0, envc=1, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x661e33 "dseleznyov;1265127073;365212;5981_TIME107694655") at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:670 #27 0x0000000000407d77 in handle_launcher_request (sock=7, who=<value optimized out>) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1162 #28 0x00000000004083c8 in handle_requests (waitForPid=0) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1355 #29 0x0000000000408c03 in main (argc=2, argv=0x7fff2ba921d8, envp=0x7fff2ba921f0) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1786 Application: Kate (kdeinit4), signal: Segmentation fault [Current thread is 0 (LWP 15688)] Thread 2 (Thread 0x7fcdbe5f6910 (LWP 15689)): #0 0x00007fcdcdb0e209 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007fcdbef5a296 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fcdbf21c1e0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304 #2 0x00007fcdbef5a2b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fcdbf22a2ac) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438 #3 0x00007fcdcdb0a2f0 in start_thread () from /lib/libpthread.so.0 #4 0x00007fcdca606bbd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fcdce27f740 (LWP 15688)): [KCrash Handler] #5 QBasicAtomicInt::ref (this=0x21) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121 #6 0x00007fcdccdab8af in QList (this=0x7fff2ba8f740, l=@0x14467d8) at /usr/include/qt4/QtCore/qlist.h:114 #7 0x00007fcdccdab965 in QForeachContainer (this=0x21, t=@0x14467d8) at /usr/include/qt4/QtCore/qglobal.h:2227 #8 0x00007fcdccda4f04 in KDirWatchPrivate::Entry::propagate_dirty (this=<value optimized out>) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kio/kio/kdirwatch.cpp:399 #9 0x00007fcdccda4f16 in KDirWatchPrivate::Entry::propagate_dirty (this=<value optimized out>) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kio/kio/kdirwatch.cpp:404 #10 0x00007fcdccda8915 in KDirWatchPrivate::slotRescan (this=0x79aa10) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kio/kio/kdirwatch.cpp:1275 #11 0x00007fcdccda9c7c in KDirWatchPrivate::qt_metacall (this=0x79aa10, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff2ba8fa90) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5_build/kio/kdirwatch_p.moc:79 #12 0x00007fcdcdeae067 in QMetaObject::activate (sender=0x79aa78, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff2ba8fa90) at kernel/qobject.cpp:3267 #13 0x00007fcdcdea99d3 in QObject::event (this=0x79aa78, e=0x14467d8) at kernel/qobject.cpp:1204 #14 0x00007fcdcb1ef766 in QApplicationPrivate::notify_helper (this=0x6a1e60, receiver=0x79aa78, e=0x7fff2ba90300) at kernel/qapplication.cpp:4298 #15 0x00007fcdcb1f7b40 in QApplication::notify (this=0x7fff2ba906c0, receiver=0x79aa78, e=0x7fff2ba90300) at kernel/qapplication.cpp:4263 #16 0x00007fcdcc2f424a in KApplication::notify (this=0x7fff2ba906c0, receiver=0x79aa78, event=0x7fff2ba90300) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kdeui/kernel/kapplication.cpp:302 #17 0x00007fcdcde98823 in QCoreApplication::notifyInternal (this=0x7fff2ba906c0, receiver=0x79aa78, event=0x7fff2ba90300) at kernel/qcoreapplication.cpp:704 #18 0x00007fcdcdec8adc in QTimerInfoList::activateTimers (this=0x6a5960) at kernel/qcoreapplication.h:215 #19 0x00007fcdcdec5184 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184 #20 0x00007fcdc9e7de61 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #21 0x00007fcdc9e813f8 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #22 0x00007fcdc9e815ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #23 0x00007fcdcdec4e7c in QEventDispatcherGlib::processEvents (this=0x615de0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #24 0x00007fcdcb29688f in QGuiEventDispatcherGlib::processEvents (this=0x21, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #25 0x00007fcdcde971d2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 732497264}) at kernel/qeventloop.cpp:149 #26 0x00007fcdcde975a4 in QEventLoop::exec (this=0x7fff2ba905b0, flags={i = 732497344}) at kernel/qeventloop.cpp:201 #27 0x00007fcdcde99a64 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #28 0x00007fcdc26eef16 in kdemain (argc=1, argv=0x613230) at /mnt/ram/paludis/kde-base-kate-4.3.5/work/kate-4.3.5/kate/app/katemain.cpp:257 #29 0x0000000000406fdb in launch (argc=1, _name=0x65a778 "/usr/bin/kate", args=0x65a786 "\001", cwd=0x0, envc=1, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x65a7a3 "dseleznyov;1265122691;571329;5981_TIME103312904") at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:670 #30 0x0000000000407d77 in handle_launcher_request (sock=7, who=<value optimized out>) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1162 #31 0x00000000004083c8 in handle_requests (waitForPid=0) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1355 #32 0x0000000000408c03 in main (argc=2, argv=0x7fff2ba921d8, envp=0x7fff2ba921f0) at /mnt/ram/paludis/kde-base-kdelibs-4.3.5/work/kdelibs-4.3.5/kinit/kinit.cpp:1786 *** Bug 225482 has been marked as a duplicate of this bug. *** *** Bug 215967 has been marked as a duplicate of this bug. *** From bug 225957: -- What I was doing when the application crashed: Kate crashed while saving a file. The file was mounted with sshfs. I was also listening to music on that mount and had no problems with it. Someone else had the same backtrace and said that they had tried saving a readonly file, but there is no reason why the file should have been in a read only mode. *** Bug 225957 has been marked as a duplicate of this bug. *** *** Bug 225897 has been marked as a duplicate of this bug. *** From bug 225905: -- What I was doing when the application crashed: I had "hu.srt" open and some other files too. The crash happened, while i did "cp hu.srt_backup hu.srt" in terminal. *** Bug 225905 has been marked as a duplicate of this bug. *** *** Bug 226142 has been marked as a duplicate of this bug. *** Steps to reproduce: - Open KWrite - Write some dummy text and save it to a file - Externally delete the file (from Konsole as example) - In the first "file modified" warning in KWrite select "Cancel" - Try to save the file - In the second warning dialog select "Save Nevertheless" - KWrite crashes 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 2.6.32.8 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 *** Bug 226553 has been marked as a duplicate of this bug. *** *** Bug 226277 has been marked as a duplicate of this bug. *** *** Bug 225822 has been marked as a duplicate of this bug. *** *** Bug 222974 has been marked as a duplicate of this bug. *** *** Bug 231852 has been marked as a duplicate of this bug. *** *** Bug 233588 has been marked as a duplicate of this bug. *** *** Bug 237930 has been marked as a duplicate of this bug. *** *** Bug 238024 has been marked as a duplicate of this bug. *** *** Bug 238825 has been marked as a duplicate of this bug. *** *** Bug 238853 has been marked as a duplicate of this bug. *** What was this fix committed directly to 4.4? I can confirm the bug in in 4.3 at least, so it should have been committed there (or earlier) and merged up. *** Bug 256704 has been marked as a duplicate of this bug. *** *** Bug 244741 has been marked as a duplicate of this bug. *** |