Summary: | searching for file content using kfind crashed the application | ||
---|---|---|---|
Product: | [Applications] kfind | Reporter: | Gianmarco Galletto <jian1505> |
Component: | general | Assignee: | Eric Coquelle <coquelle> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, ashl1future, echidnaman, patriotyk, wg3w |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Gianmarco Galletto
2009-08-10 16:45:08 UTC
- Can you reproduce the crash at will ? - Does this happen with every Path and string for subsearch ? - Do you use any non-default option ? This could be related to bug 193560. Thanks (In reply to comment #1) > - Can you reproduce the crash at will ? > - Does this happen with every Path and string for subsearch ? > - Do you use any non-default option ? > > This could be related to bug 193560. > > Thanks Yes i can reproduce the crash even searching for an ordinary string. The crash happens when trying to stop the search before it finishes. No non-defualt options were used. Thanks. Please install the "kdebase-apps-dbg" package and try to get a new backtrace (using the Developer Information tab in the crash handler dialog) Also, in which path are you searching ? Thanks I installed package kdebase-dbg as i haven't found in ubuntu repos the package kdebase-apps-dbg. I can reproduce the crash at will by pressing stop button only when the search shows no results. The search path is the home folder. Here's the backtrace with the debug package installed. Thank you. Application: KFind (kfind), signal: Segmentation fault [KCrash Handler] #6 KIO::Slave::deref (this=0x8f69ed8) at /build/buildd/kde4libs-4.3.0/kio/kio/slave.cpp:242 #7 0xb7ce9e7c in KIO::Slave::gotInput (this=0x8f69ed8) at /build/buildd/kde4libs-4.3.0/kio/kio/slave.cpp:335 #8 0xb7cec303 in KIO::Slave::qt_metacall (this=0x8f69ed8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf806988) at /build/buildd/kde4libs-4.3.0/obj-i486-linux-gnu/kio/slave.moc:76 #9 0xb69111b8 in QMetaObject::activate (sender=0x8f6f928, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113 #10 0xb6911e42 in QMetaObject::activate (sender=0x8f6f928, m=0xb7dd7880, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187 #11 0xb7bf61d7 in KIO::Connection::readyRead (this=0x8f6f928) at /build/buildd/kde4libs-4.3.0/obj-i486-linux-gnu/kio/connection.moc:86 #12 0xb7bf7b43 in KIO::ConnectionPrivate::dequeue (this=0x8f67b78) at /build/buildd/kde4libs-4.3.0/kio/kio/connection.cpp:82 #13 0xb7bf7f26 in KIO::Connection::qt_metacall (this=0x8f6f928, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x8f68e18) at /build/buildd/kde4libs-4.3.0/obj-i486-linux-gnu/kio/connection.moc:73 #14 0xb690a8cb in QMetaCallEvent::placeMetaCall (this=0x909e878, object=0x8f6f928) at kernel/qobject.cpp:477 #15 0xb690c3b0 in QObject::event (this=0x8f6f928, e=0x909e878) at kernel/qobject.cpp:1111 #16 0xb6dbbd3c in QApplicationPrivate::notify_helper (this=0x8b16a30, receiver=0x8f6f928, e=0x909e878) at kernel/qapplication.cpp:4056 #17 0xb6dc403e in QApplication::notify (this=0xbf807158, receiver=0x8f6f928, e=0x909e878) at kernel/qapplication.cpp:3603 #18 0xb79b55cd in KApplication::notify (this=0xbf807158, receiver=0x8f6f928, event=0x909e878) at /build/buildd/kde4libs-4.3.0/kdeui/kernel/kapplication.cpp:302 #19 0xb68fbbcb in QCoreApplication::notifyInternal (this=0xbf807158, receiver=0x8f6f928, event=0x909e878) at kernel/qcoreapplication.cpp:610 #20 0xb68fc825 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8b00b38) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213 #21 0xb68fca1d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140 #22 0xb69276af in postEventSourceDispatch (s=0x8b18f18) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218 #23 0xb610ab88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0xb610e0eb in ?? () from /usr/lib/libglib-2.0.so.0 #25 0xb610e268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #26 0xb69272f8 in QEventDispatcherGlib::processEvents (this=0x8b00d10, flags={i = -1082101736}) at kernel/qeventdispatcher_glib.cpp:327 #27 0xb6e5da75 in QGuiEventDispatcherGlib::processEvents (this=0x8b00d10, flags={i = -1082101688}) at kernel/qguieventdispatcher_glib.cpp:202 #28 0xb68fa1fa in QEventLoop::processEvents (this=0xbf8070bc, flags={i = -1082101624}) at kernel/qeventloop.cpp:149 #29 0xb68fa642 in QEventLoop::exec (this=0xbf8070bc, flags={i = -1082101564}) at kernel/qeventloop.cpp:201 #30 0xb72ad723 in QDialog::exec (this=0xbf807124) at dialogs/qdialog.cpp:498 #31 0x08060f54 in main (argc=2, argv=0xbf807374) at /build/buildd/kdebase-4.3.0/apps/kfind/main.cpp:74 Mh, the new backtrace seems to be a different one.. (In reply to comment #5) > Mh, the new backtrace seems to be a different one.. Well, I reproduced the crash just as described in my previous comments and copied the output from the crash handler dialog that appears for submitting the bug... Please ask if more info are needed. Thank you. I think we received a crash at https://launchpad.net/bugs/439844 that has the 3 missing lines the original backtrace has. It was also reported as happening when canceling an ongoing search, as in this case. #0 *__GI___libc_free (mem=0x616d2d78) at malloc.c:3687 ar_ptr = <value optimized out> p = (mchunkptr) 0x616d2d70 #1 0x07bf376d in invalidateEngine (priv=0xa580498) at tools/qregexp.cpp:877 No locals. #2 0x07bf3934 in ~QRegExp (this=0xa57de28) at tools/qregexp.cpp:3421 No locals. #3 0x08071e98 in KQuery::checkEntries (this=0xa3b5558) at ../../../apps/kfind/kquery.cpp:195 processingCount = <value optimized out> #4 0x08071fe5 in KQuery::slotListEntries (this=0xa3b5558, list=@0xbfab2bec) at ../../../apps/kfind/kquery.cpp:157 No locals. #5 0x08072173 in KQuery::qt_metacall (this=0xa3b5558, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfab28f4) at ./kquery.moc:85 No locals. #6 0x07cc2253 in QMetaObject::activate (sender=0xa4c4b28, from_signal_index=40, to_signal_index=40, argv=0xbfab28f4) at kernel/qobject.cpp:3113 c = <value optimized out> method = 7 currentSender = {sender = 0xa4c4b28, signal = 40, ref = 1} previousSender = (QObjectPrivate::Sender *) 0x0 i = 0 count = 1 signal = 40 empty_argv = {0x0} locker = {{mtx = 0xa05e834, val = 168159284}} currentThreadData = <value optimized out> connectionLists = (QObjectConnectionListVector *) 0xa4f21f0 #7 0x07cc2eb2 in QMetaObject::activate (sender=0xa4c4b28, m=0xc2c3a0, local_signal_index=0, argv=0xbfab28f4) at kernel/qobject.cpp:3187 signal_index = 173436504 #8 0x00a46139 in KIO::ListJob::entries (this=0xa4c4b28, _t1=0xa4c4b28, _t2=@0xbfab2bec) at ./jobclasses.moc:781 _a = {0x0, 0xbfab2914, 0xbfab2bec} #9 0x00a54e3b in KIO::ListJobPrivate::slotListEntries (this=0xa4d0978, list=@0xbfab2bec) at ../../kio/kio/job.cpp:2333 q = (KIO::ListJob * const) 0xa4c4b28 #10 0x00a551e8 in KIO::ListJob::qt_metacall (this=0xa4c4b28, _c=QMetaObject::InvokeMetaMethod, _id=46, _a=0xbfab2af8) at ./jobclasses.moc:767 No locals. #11 0x07cc2253 in QMetaObject::activate (sender=0xa4ca908, from_signal_index=10, to_signal_index=10, argv=0xbfab2af8) at kernel/qobject.cpp:3113 c = <value optimized out> method = 46 currentSender = {sender = 0xa4ca908, signal = 10, ref = 0} previousSender = (QObjectPrivate::Sender *) 0x0 i = 0 count = 1 signal = 10 empty_argv = {0x0} locker = {{mtx = 0xa05e834, val = 168159284}} currentThreadData = <value optimized out> connectionLists = (QObjectConnectionListVector *) 0xa4fc480 #12 0x07cc2eb2 in QMetaObject::activate (sender=0xa4ca908, m=0xc2ef64, local_signal_index=6, argv=0xbfab2af8) at kernel/qobject.cpp:3187 signal_index = 173436504 #13 0x00b18033 in KIO::SlaveInterface::listEntries (this=0xa4ca908, _t1=@0xbfab2bec) at ./slaveinterface.moc:179 _a = {0x0, 0xbfab2bec} #14 0x00b1bf27 in KIO::SlaveInterface::dispatch (this=0xa4ca908, _cmd=106, rawdata=@0xbfab2c48) at ../../kio/kio/slaveinterface.cpp:193 count = 243 list = {{p = {static shared_null = {ref = {_q_value = 7257}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xa5288b0}, d = 0xa5288b0}} entry = {d = {d = 0xa536d38}} stream = {_vptr.QDataStream = 0x7d9ce18, d = 0x2, dev = 0xa4fc6a8, owndev = true, noswap = false, byteorder = QDataStream::BigEndian, ver = 11, q_status = QDataStream::Ok} str1 = {static null = {<No data fields>}, static shared_null = { ref = {_q_value = 6929}, alloc = 0, size = 0, data = 0x807bbfa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 72}, alloc = 0, size = 0, data = 0x7d9f46e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x807bbe8, static codecForCStrings = 0x0} i = <value optimized out> __PRETTY_FUNCTION__ = "virtual bool KIO::SlaveInterface::dispatch(int, const QByteArray&)" d = (KIO::SlaveInterfacePrivate * const) 0xbfab2bec b = <value optimized out> ul = <value optimized out> #15 0x00b185a3 in KIO::SlaveInterface::dispatch (this=0xa4ca908) at ../../kio/kio/slaveinterface.cpp:91 d = <value optimized out> cmd = 106 data = {static shared_null = {ref = {_q_value = 2281}, alloc = 0, size = 0, data = 0x807bcb8 "", array = ""}, static shared_empty = {ref = { _q_value = 3}, alloc = 0, size = 0, data = 0x7d9f398 "", array = ""}, d = 0xa50caf0} ret = <value optimized out> #16 0x00b0a67a in KIO::Slave::gotInput (this=0xa4ca908) at ../../kio/kio/slave.cpp:322 __PRETTY_FUNCTION__ = "void KIO::Slave::gotInput()" #17 0x00b0ca73 in KIO::Slave::qt_metacall (this=0xa4ca908, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfab2d8c) at ./slave.moc:76 No locals. #18 0x07cc2253 in QMetaObject::activate (sender=0xa4fa2b8, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113 c = <value optimized out> method = 30 currentSender = {sender = 0xa4fa2b8, signal = 4, ref = 1} previousSender = (QObjectPrivate::Sender *) 0x0 i = 0 count = 1 signal = 4 empty_argv = {0x0} locker = {{mtx = 0xa05e834, val = 168159284}} currentThreadData = <value optimized out> connectionLists = (QObjectConnectionListVector *) 0xa4fb360 #19 0x07cc2eb2 in QMetaObject::activate (sender=0xa4fa2b8, m=0xc2b8a0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187 signal_index = 173436504 #20 0x00a14d27 in KIO::Connection::readyRead (this=0xa4fa2b8) at ./connection.moc:86 No locals. #21 0x00a16aee in KIO::ConnectionPrivate::dequeue (this=0xa4fa2c8) at ../../kio/kio/connection.cpp:82 No locals. #22 0x00a16c1e in KIO::Connection::qt_metacall (this=0xa4fa2b8, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xa4fa2a8) at ./connection.moc:73 No locals. #23 0x07cbaefb in QMetaCallEvent::placeMetaCall (this=0xa4fadf8, object=0xa4fa2b8) at kernel/qobject.cpp:477 No locals. #24 0x07cbc5ee in QObject::event (this=0xa4fa2b8, e=0xa4fadf8) at kernel/qobject.cpp:1111 currentSender = {sender = 0x0, signal = -1, ref = 1} previousSender = (QObjectPrivate::Sender * const) 0x0 #25 0x00f46f44 in QApplicationPrivate::notify_helper (this=0xa074710, receiver=0xa4fa2b8, e=0xa4fadf8) at kernel/qapplication.cpp:4056 consumed = <value optimized out> #26 0x00f4e66c in QApplication::notify (this=0xbfab3640, receiver=0xa4fa2b8, e=0xa4fadf8) at kernel/qapplication.cpp:3603 res = true #27 0x00671f8a in KApplication::notify (this=0xbfab3640, receiver=0xa4fa2b8, event=0xa4fadf8) at ../../kdeui/kernel/kapplication.cpp:302 No locals. #28 0x07cac6bb in QCoreApplication::notifyInternal (this=0xbfab3640, receiver=0xa4fa2b8, event=0xa4fadf8) at kernel/qcoreapplication.cpp:610 result = false cbdata = {0xa4fa2b8, 0xa4fadf8, 0xbfab323f} threadData = (QThreadData *) 0xa05e800 returnValue = <value optimized out> #29 0x07cad2a2 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xa05e800) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213 pe = (const QPostEvent &) @0xa4c3af0: {receiver = 0x3c34e8, event = 0xa5d6ec8, priority = 32} e = (class QEvent *) 0xa4fadf8 r = (class QObject *) 0xa4fa2b8 locker = {{mtx = 0xa05e828, val = 168159272}} startOffset = 0 i = (int &) @0xa05e820: 0 #30 0x07cad46d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140 data = <value optimized out> #31 0x07cd73ef in postEventSourceDispatch (s=0xa076b20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218 No locals. #32 0x0615de78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 No symbol table info available. #33 0x06161720 in ?? () from /lib/libglib-2.0.so.0 No symbol table info available. #34 0x06161853 in g_main_context_iteration () from /lib/libglib-2.0.so.0 No symbol table info available. #35 0x07cd701c in QEventDispatcherGlib::processEvents (this=0xa05e9d8, flags= {i = 100}) at kernel/qeventdispatcher_glib.cpp:327 d = (QEventDispatcherGlibPrivate * const) 0xa074878 canWait = true result = <value optimized out> #36 0x00fe7ad5 in QGuiEventDispatcherGlib::processEvents (this=0xa05e9d8, flags={i = 100}) at kernel/qguieventdispatcher_glib.cpp:202 d = (QGuiEventDispatcherGlibPrivate * const) 0xa074878 returnValue = false #37 0x07caac69 in QEventLoop::processEvents (this=0xbfab3580, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at kernel/qeventloop.cpp:149 d = (QEventLoopPrivate * const) 0xa3d5148 #38 0x07cab0ba in QEventLoop::exec (this=0xbfab3580, flags={i = 64}) at kernel/qeventloop.cpp:201 d = (QEventLoopPrivate * const) 0xa3d5148 app = <value optimized out> #39 0x01433a13 in QDialog::exec (this=0xbfab360c) at dialogs/qdialog.cpp:498 guard = {o = 0xbfab360c} d = (QDialogPrivate * const) 0xa199890 deleteOnClose = false wasShowModal = <value optimized out> eventLoop = {<QObject> = {_vptr.QObject = 0x7d9e7a8, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7d45b20 "QObject", data = 0x7d45bc0, extradata = 0x7d9a1b8}}, d_ptr = 0xa3d5148, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7d4f300 "Qt", data = 0x7d52680, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x807bb50, stringdata = 0x7d57720 "QEventLoop", data = 0x7d57740, extradata = 0x0}}} res = <value optimized out> #40 0x08060f58 in main (argc=1, argv=0xbfab3884) at ../../../apps/kfind/main.cpp:74 aboutData = {d = 0xa060bc0} app = {<QApplication> = {<QCoreApplication> = {<QObject> = { _vptr.QObject = 0x86bbe8, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7d45b20 "QObject", data = 0x7d45bc0, extradata = 0x7d9a1b8}}, d_ptr = 0xa074710, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7d4f300 "Qt", data = 0x7d52680, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x807bb50, stringdata = 0x7d577a0 "QCoreApplication", data = 0x7d57840, extradata = 0x0}}, static self = 0xbfab3640}, static staticMetaObject = {d = {superdata = 0x7d9e7e4, stringdata = 0x15df4c0 "QApplication", data = 0x15df6c0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x17a8f48, stringdata = 0x7f88c0 "KApplication", data = 0x7f8a60, extradata = 0x0}}, static loadedByKdeinit = false, static KApp = 0xbfab3640, d = 0xa0a4fc8} url = {<QUrl> = {d = 0xa19d7b0}, d = 0x0} options = {d = 0xa074500} args = (KCmdLineArgs *) 0xa0745f8 kfinddlg = {<KDialog> = {<QDialog> = {<QWidget> = {<QObject> = { _vptr.QObject = 0x8075a08, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7d45b20 "QObject", data = 0x7d45bc0, extradata = 0x7d9a1b8}}, d_ptr = 0xa199890, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7d4f300 "Qt", data = 0x7d52680, extradata = 0x0}}}, <QPaintDevice> = { _vptr.QPaintDevice = 0x8075b04, painters = 0}, static staticMetaObject = {d = {superdata = 0x807bb50, stringdata = 0x15e3120 "QWidget", data = 0x15e3660, extradata = 0x0}}, data = 0xa1998d8}, static staticMetaObject = { d = {superdata = 0x807bcd8, stringdata = 0x161dc00 "QDialog", data = 0x161dca0, extradata = 0x0}}}, static staticMetaObject = { d = {superdata = 0x17b2484, stringdata = 0x7ee2a0 "KDialog", data = 0x7ee6e0, extradata = 0x0}}, d_ptr = 0xa1a6b50}, static staticMetaObject = {d = {superdata = 0x807bbcc, stringdata = 0x8075720 "KfindDlg", data = 0x80758c0, extradata = 0x0}}, tabWidget = 0xa19b2b0, win = 0xa1c5e58, isResultReported = true, query = 0xa3b5558, mStatusBar = 0xa3b25e0, dirlister = 0xed, dirwatch = 0xa4bc8b0} SVN commit 1030054 by darioandres: - Until we redesign the logic to avoid a bad re-entrancy caused by processEvents while searching into file contents, try to not crash at least. (metaKeyRx could be already deleted) BUG: 193560 BUG: 203325 M +4 -1 kfinddlg.cpp M +5 -8 kquery.cpp M +1 -1 kquery.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1030054 SVN commit 1030059 by darioandres: Backport to 4.3 of: SVN commit 1030054 by darioandres: - Until we redesign the logic to avoid a bad re-entrancy caused by processEvents while searching into file contents, try to not crash at least. (metaKeyRx could be already deleted) - Fix a memleak CCBUG: 193560 CCBUG: 203325 M +4 -1 kfinddlg.cpp M +5 -8 kquery.cpp M +1 -1 kquery.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1030059 *** Bug 209836 has been marked as a duplicate of this bug. *** *** Bug 210516 has been marked as a duplicate of this bug. *** *** Bug 214344 has been marked as a duplicate of this bug. *** |