Version: (using KDE 4.1.2) OS: Linux Installed from: Ubuntu Packages Aplicación: Servicio de KDE (kded4), señal SIGSEGV (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) [Thread debugging using libthread_db enabled] [New Thread 0xb624f8d0 (LWP 7285)] (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] #6 0xb7652d22 in ?? () from /usr/lib/libQtCore.so.4 #7 0xb764ec09 in QTextCodec::fromUnicode () from /usr/lib/libQtCore.so.4 #8 0xb75723eb in QString::toLocal8Bit () from /usr/lib/libQtCore.so.4 #9 0xb75ac169 in ?? () from /usr/lib/libQtCore.so.4 #10 0xb75abf0a in QFile::encodeName () from /usr/lib/libQtCore.so.4 #11 0xb7d92c46 in ?? () from /usr/lib/libkio.so.5 #12 0xb7d94af3 in ?? () from /usr/lib/libkio.so.5 #13 0xb7d94c9b in ?? () from /usr/lib/libkio.so.5 #14 0xb7633a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #15 0xb76347e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #16 0xb766e633 in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4 #17 0xb7639637 in QSocketNotifier::event () from /usr/lib/libQtCore.so.4 #18 0xb6bb18ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #19 0xb6bb976e in QApplication::notify () from /usr/lib/libQtGui.so.4 #20 0xb7aed72d in KApplication::notify () from /usr/lib/libkdeui.so.5 #21 0xb761ee61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #22 0xb764970a in ?? () from /usr/lib/libQtCore.so.4 #23 0xb65e06f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0xb65e3da3 in ?? () from /usr/lib/libglib-2.0.so.0 #25 0xb65e3f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #26 0xb7649478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #27 0xb6c4bee5 in ?? () from /usr/lib/libQtGui.so.4 #28 0xb761d52a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #29 0xb761d6ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #30 0xb761fda5 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #31 0xb6bb1767 in QApplication::exec () from /usr/lib/libQtGui.so.4 #32 0xb80700a6 in kdemain () from /usr/lib/libkdeinit4_kded4.so #33 0x080485a2 in _start () #0 0xb80af430 in __kernel_vsyscall ()
Hi! Could you explain how to reproduce the crash or does it happens randomly? Moreover you should read this page for the instructions about posting an useful backtrace: http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports Thanks!
I'd say it's probably another duplicate of bug 165548. Frames starting from #11 seem to match with the backtraces in that bug. It crashes in QFile::encodeName (), so it looks like it got a bit further in KDirWatchPrivate::inotifyEventReceived(). In most of the other backtraces, the crash occurred in the line if (sub_entry->path == e->path + '/' + path) break; but this looks like it arrived a few lines further down at QByteArray tpath = QFile::encodeName(path); and crashed in some function called from there. Anyway, it looks like something about the 'path' is going wrong. I don't actually have a clue about KDirWatch, but maybe one could add an assert or some debugging output before the critical line is reached to have a better idea of what goes wrong?
*** Bug 175779 has been marked as a duplicate of this bug. ***
SVN commit 1058169 by cfeck: Fix broken reading in inotifyEventReceived Multiple bugs: * MAX_PATH is 4096 on linux, but inotify_event needs some bytes as well * the "pending" variable was incorrectly abused to mean both pending bytes in buffer as well as pending bytes in stream * the offset was not reset to zero when the next chunk was reading * when an event was larger than what was available in buffer, it was reading beyond the buffer boundaries Many thanks to David for review and help with improving clarity of the code. David, please test for regressions, maybe add a test which changes some 1000 files in one go. CCMAIL:faure@kde.org CCBUG:165548 CCBUG:173696 CCBUG:175005 CCBUG:198692 CCBUG:204178 M +20 -9 kdirwatch.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1058169
*** This bug has been marked as a duplicate of bug 165548 ***