Summary: | Kgpg crashes when contacting the server | ||
---|---|---|---|
Product: | [Applications] kgpg | Reporter: | Alessandro Nurnberg <alex> |
Component: | general | Assignee: | Rolf Eike Beer <kde> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, echidnaman, jenslang, rasasi78, wjeremy |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | Add some debug messages |
Description
Alessandro Nurnberg
2009-01-15 08:50:57 UTC
If you can reproduce the crash at will, may you read http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports and post a complete backtrace here? Also, what KDE version are you using? Thanks :) I've looked a bit on the backtrace but currently do not see a way that this could go wrong. So a backtrace with line numbers and the SVN revision you are using would be very helpful. To reproduce this you should delete the keys you downloaded that time, expand all keys and groups you expanded before and download them again. Here's a more complete backtrace we received from KDE 4.2.1: https://launchpad.net/bugs/348519 #0 0x000000000043b7f3 in KGpgRefNode::keyUpdated (this=0x1c59d40, nkey=0x27f8950) at /build/buildd/kdeutils-4.2.1/kgpg/model/kgpgitemnode.h:107 pt = (KGpgExpandableNode *) 0x1 #1 0x0000000000422a0a in KGpgRefNode::qt_metacall (this=0x1c59d40, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffd598b280) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/moc_kgpgitemnode.cpp:229 No locals. #2 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #3 0x0000000000422a5d in KGpgRootNode::newKeyNode (this=0x1c59d40, _t1=0x27f8950) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/moc_kgpgitemnode.cpp:181 _a = {0x0, 0x7fffd598b278} #4 0x000000000043ca02 in KGpgRootNode::addKeys (this=0x17b36e0, ids=<value optimized out>) at /build/buildd/kdeutils-4.2.1/kgpg/model/kgpgitemnode.cpp:228 key = {<> = {<No data fields>}, static staticMetaObject = {d = { superdata = 0x6e7700, stringdata = 0x4b9cd0 "KgpgCore::KgpgKey", data = 0x4ba7c0, extradata = 0x0}}, d = {d = 0x27d3480}} index = 1 i = <value optimized out> interface = <value optimized out> publiclist = {<QList<KgpgCore::KgpgKey>> = {{p = { static shared_null = {ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x2802360}, d = 0x2802360}}, <> = {<No data fields>}, <No data fields>} secretlist = {<QList<KgpgCore::KgpgKey>> = {{p = { static shared_null = {ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x27c4e20}, d = 0x27c4e20}}, <> = {<No data fields>}, <No data fields>} issec = {<QList<QString>> = {{p = {static shared_null = {ref = { _q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x27ff2d0}, d = 0x27ff2d0}}, <No data fields>} #5 0x00000000004384c2 in KGpgItemModel::refreshKeyIds (this=0x17b50a0, ids=@0x7fffd598b720) at /build/buildd/kdeutils-4.2.1/kgpg/model/kgpgitemmodel.cpp:371 No locals. #6 0x000000000042322c in KGpgItemModel::qt_metacall (this=0x17b50a0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffd598b540) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/moc_kgpgitemmodel.cpp:101 No locals. #7 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #8 0x0000000000494cc0 in KeyServer::importFinished (this=0x1c59d40, _t1=<value optimized out>) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/keyservers.moc:183 _a = {0x0, 0x7fffd598b720} #9 0x0000000000497c3f in KeyServer::slotDownloadKeysFinished ( this=0x279b3c0, result= {{p = {static shared_null = {ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fffd598b9a0}, d = 0x7fffd598b9a0}}, keys= {<QList<QString>> = {{p = {static shared_null = {ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fffd598b990}, d = 0x7fffd598b990}}, <No data fields>}, imported=<value optimized out>, log= {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 12227}, alloc = 0, size = 0, data = 0x6e793a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 63}, alloc = 0, size = 0, data = 0x7f2dca8c743a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7fffd598b980, static codecForCStrings = 0x0}, interface=<value optimized out>) at /build/buildd/kdeutils-4.2.1/kgpg/keyservers.cpp:195 resultmessage = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 12227}, alloc = 0, size = 0, data = 0x6e793a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 63}, alloc = 0, size = 0, data = 0x7f2dca8c743a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x27de050, static codecForCStrings = 0x0} #10 0x00000000004990e3 in KeyServer::qt_metacall (this=0x279b3c0, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/keyservers.moc:166 No locals. #11 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #12 0x000000000047c884 in KgpgInterface::downloadKeysFinished ( this=0x7f2dc9ccda70, _t1=<value optimized out>, _t2=<value optimized out>, _t3=true, _t4= {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 12227}, alloc = 0, size = 0, data = 0x6e793a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 63}, alloc = 0, size = 0, data = 0x7f2dca8c743a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x27d79a0, static codecForCStrings = 0x0}, _t5=0x27c4030) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/kgpginterface.moc:317 _a = {0x0, 0x7fffd598bb50, 0x7fffd598bb40, 0x7fffd598badc, 0x7fffd598bb30, 0x7fffd598bad0} #13 0x0000000000482d60 in KgpgInterface::downloadKeysFin (this=0x27c4030, p=<value optimized out>) at /build/buildd/kdeutils-4.2.1/kgpg/kgpginterface.cpp:1348 importedkeys = {<QList<QString>> = {{p = {static shared_null = { ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x27e4750}, d = 0x27e4750}}, <No data fields>} parsedoutput = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 12227}, alloc = 0, size = 0, data = 0x6e793a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 63}, alloc = 0, size = 0, data = 0x7f2dca8c743a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x27fedf0, static codecForCStrings = 0x0} nbs = {<QList<QString>> = {{p = {static shared_null = {ref = { _q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x27ff380}, d = 0x27ff380}}, <No data fields>} result = {{p = {static shared_null = {ref = {_q_value = 26126}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x2806bb0}, d = 0x2806bb0}} key = <value optimized out> #14 0x000000000048cffa in KgpgInterface::qt_metacall (this=0x27c4030, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffd598c170) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/kgpginterface.moc:257 No locals. #15 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #16 0x0000000000493c30 in GPGProc::processExited (this=0x1c59d40, _t1=0x27ddd90) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/gpgproc.moc:95 _a = {0x0, 0x7fffd598c168} #17 0x0000000000493d28 in GPGProc::qt_metacall (this=0x27ddd90, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffd598c2a0) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/gpgproc.moc:75 No locals. #18 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #19 0x00007f2dca571c5f in QProcess::finished () from /usr/lib/libQtCore.so.4 #20 0x00007f2dca577b3e in ?? () from /usr/lib/libQtCore.so.4 #21 0x00007f2dca577bf1 in QProcess::qt_metacall () from /usr/lib/libQtCore.so.4 #22 0x00007f2dcac17afd in KProcess::qt_metacall (this=0x1c59d40, _c=41912656, _id=4, _a=0x7fffd598b280) at /build/buildd/kde4libs-4.2.1a/obj-x86_64-linux-gnu/kdecore/kprocess.moc:63 No locals. #23 0x00000000004949fd in KLineBufferedProcess::qt_metacall (this=0x1c59d40, _c=41912656, _id=4, _a=0x7fffd598b280) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/klinebufferedprocess.moc:68 No locals. #24 0x0000000000493cc6 in GPGProc::qt_metacall (this=0x1c59d40, _c=41912656, _id=4, _a=0x7fffd598b280) at /build/buildd/kdeutils-4.2.1/obj-x86_64-linux-gnu/kgpg/gpgproc.moc:68 No locals. #25 0x00007f2dca5e71f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #26 0x00007f2dca61e44e in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4 #27 0x00007f2dca5ebe53 in QSocketNotifier::event () from /usr/lib/libQtCore.so.4 #28 0x00007f2dcb17983d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #29 0x00007f2dcb181a2a in QApplication::notify () from /usr/lib/libQtGui.so.4 #30 0x00007f2dcc040e5b in KApplication::notify (this=0x162b530, receiver=0x26cb6d0, event=0x7fffd598ca60) at /build/buildd/kde4libs-4.2.1a/kdeui/kernel/kapplication.cpp:307 No locals. #31 0x00007f2dca5d175c in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #32 0x00007f2dca5fb0e9 in ?? () from /usr/lib/libQtCore.so.4 #33 0x00007f2dc5ff10ca in IA__g_main_context_dispatch (context=0x1636140) at /build/buildd/glib2.0-2.20.0/glib/gmain.c:1814 No locals. #34 0x00007f2dc5ff47a0 in g_main_context_iterate (context=0x1636140, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.20.0/glib/gmain.c:2448 max_priority = 2147483647 timeout = 9 some_ready = 1 nfds = 5 allocated_nfds = <value optimized out> fds = (GPollFD *) 0x26bf210 __PRETTY_FUNCTION__ = "g_main_context_iterate" #35 0x00007f2dc5ff493c in IA__g_main_context_iteration (context=0x1636140, may_block=1) at /build/buildd/glib2.0-2.20.0/glib/gmain.c:2511 retval = <value optimized out> #36 0x00007f2dca5fae8e in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #37 0x00007f2dcb211c9f in ?? () from /usr/lib/libQtGui.so.4 #38 0x00007f2dca5d0002 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #39 0x00007f2dca5d03cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #40 0x00007f2dca5d2694 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #41 0x0000000000479619 in main (argc=1, argv=0x7fffd598d158) at /build/buildd/kdeutils-4.2.1/kgpg/main.cpp:59 about = {d = 0x161eb60} options = {d = 0x1622e50} Created attachment 33113 [details]
Add some debug messages
Please do the following two steps:
-test the latest version from KDE 4.2 branch. There is a bug fix in there that will be in 4.2.3 that might be related.
-if the bug still exists try this patch so I can see what is going on there. Looks like the tree of key objects somehow got corrupted.
If you also turn all static_cast<> in model/kgpgitemnode.cpp to dynamic_cast<> we should get a backtrace there if anything with those casts goes wrong.
I am using kgpg that comes with Ubuntu Jaunty Jackalope. When I am trying to refresh a key from the key server or when I am trying to import a new key from the key server kgpg crashes. For a short time there appears a popup with a progress bar ("connecting to server"). subkeys.pgp.net does not work, other servers seem to do fine. Unfortunately I cannot provide a better crash report than this: Anwendung: KGpg (kgpg), Signal SIGSEGV 0x00007f548d599d21 in nanosleep () from /lib/libc.so.6 [Current thread is 0 (LWP 21080)] Thread 2 (Thread 0x7f5484635950 (LWP 21081)): #0 0x00007f548d5d0742 in select () from /lib/libc.so.6 #1 0x00007f548e141f06 in ?? () from /usr/lib/libQtCore.so.4 #2 0x00007f548e07a952 in ?? () from /usr/lib/libQtCore.so.4 #3 0x00007f548ad373ba in start_thread () from /lib/libpthread.so.0 #4 0x00007f548d5d7fcd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f54914e6750 (LWP 21080)): [KCrash Handler] #5 0x0000000000436a17 in _start () On minute of Google showed that "Jaunty Jackalope" has KDE 4.2.2. Please test with 4.2.3. I have this crash on 4.2.4, BT included for convenience: Aplicación: KGpg (kgpg), señal SIGSEGV 0x00007feefcb874e1 in nanosleep () from /lib/libc.so.6 Current language: auto; currently c [Current thread is 1 (Thread 0x7feeff8e5760 (LWP 16762))] Thread 2 (Thread 0x7feef2a9e950 (LWP 16763)): #0 0x00007feefcbafef2 in select () from /lib/libc.so.6 #1 0x00007feefd27a526 in QProcessManager::run (this=0xec6780) at io/qprocess_unix.cpp:296 #2 0x00007feefd1b53f5 in QThreadPrivate::start (arg=0xec6780) at thread/qthread_unix.cpp:188 #3 0x00007feef8f08f9a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007feefcbb655d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7feeff8e5760 (LWP 16762)): [KCrash Handler] #5 0x000000000043b3c3 in KGpgNode::getParentKeyNode (this=0x1bdbd80, nkey=0x1b9c1e0) at ../../kgpg/model/kgpgitemnode.h:107 #6 KGpgRefNode::keyUpdated (this=0x1bdbd80, nkey=0x1b9c1e0) at ../../kgpg/model/kgpgitemnode.cpp:803 #7 0x00000000004229ea in KGpgRefNode::qt_metacall (this=0x1bdbd80, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff02992030) at moc_kgpgitemnode.cpp:229 #8 0x00007feefd2b0602 in QMetaObject::activate (sender=0xfd2b80, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x7fff02992030) at kernel/qobject.cpp:3112 #9 0x0000000000422a3d in KGpgRootNode::newKeyNode (this=0x1bdbd80, _t1=0x1b9c1e0) at moc_kgpgitemnode.cpp:181 #10 0x000000000043c5d2 in KGpgRootNode::addKeys (this=0xfd2b80, ids=<value optimized out>) at ../../kgpg/model/kgpgitemnode.cpp:228 #11 0x0000000000437052 in KGpgItemModel::refreshKeyIds (this=0xfd44d0, ids=...) at ../../kgpg/model/kgpgitemmodel.cpp:371 #12 0x00000000004587a0 in KeysManager::refreshkey (this=0xfadb80) at ../../kgpg/keysmanager.cpp:2440 #13 0x000000000045889f in KeysManager::showKeyServer (this=0xfadb80) at ../../kgpg/keysmanager.cpp:1142 #14 0x000000000046dedd in KeysManager::qt_metacall (this=0xfadb80, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff029923c0) at ./keysmanager.moc:233 #15 0x00007feefd2b0602 in QMetaObject::activate (sender=0xfb8a40, from_signal_index=<value optimized out>, to_signal_index=6, argv=0x7fff02992030) at kernel/qobject.cpp:3112 #16 0x00007feefde458d7 in QAction::triggered (this=0x1bdbd80, _t1=false) at .moc/release-shared/moc_qaction.cpp:236 #17 0x00007feefde46d50 in QAction::activate (this=0xfb8a40, event=<value optimized out>) at kernel/qaction.cpp:1160 #18 0x00007feefe1bf21a in QAbstractButtonPrivate::click (this=0x11e41c0) at widgets/qabstractbutton.cpp:525 #19 0x00007feefe1bf4b5 in QAbstractButton::mouseReleaseEvent (this=0x11d5a30, e=0x7fff02992d20) at widgets/qabstractbutton.cpp:1115 #20 0x00007feefe28eaaa in QToolButton::mouseReleaseEvent (this=0x1bdbd80, e=0x1b9c1e0) at widgets/qtoolbutton.cpp:709 #21 0x00007feefde9baef in QWidget::event (this=0x11d5a30, event=0x7fff02992d20) at kernel/qwidget.cpp:7549 #22 0x00007feefde4b7ad in QApplicationPrivate::notify_helper (this=0xebec60, receiver=0x11d5a30, e=0x7fff02992d20) at kernel/qapplication.cpp:4056 #23 0x00007feefde53f5a in QApplication::notify (this=<value optimized out>, receiver=0x11d5a30, e=0x7fff02992d20) at kernel/qapplication.cpp:3758 #24 0x00007feefeaa238b in KApplication::notify (this=0xeba250, receiver=0x11d5a30, event=0x7fff02992d20) at ../../kdeui/kernel/kapplication.cpp:307 #25 0x00007feefd29b49c in QCoreApplication::notifyInternal (this=0xeba250, receiver=0x11d5a30, event=0x7fff02992d20) at kernel/qcoreapplication.cpp:610 #26 0x00007feefde53208 in QCoreApplication::sendSpontaneousEvent (receiver=0x11d5a30, event=0x7fff02992d20, alienWidget=0x11d5a30, nativeWidget=0xfadb80, buttonDown=<value optimized out>, lastMouseReceiver=...) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216 #27 QApplicationPrivate::sendMouseEvent (receiver=0x11d5a30, event=0x7fff02992d20, alienWidget=0x11d5a30, nativeWidget=0xfadb80, buttonDown=<value optimized out>, lastMouseReceiver=...) at kernel/qapplication.cpp:2924 #28 0x00007feefdebbd99 in QETWidget::translateMouseEvent (this=0xfadb80, event=<value optimized out>) at kernel/qapplication_x11.cpp:4409 #29 0x00007feefdebab4f in QApplication::x11ProcessEvent (this=0xeba250, event=0x7fff029946f0) at kernel/qapplication_x11.cpp:3550 #30 0x00007feefdee2e3c in x11EventSourceDispatch (s=0xec2240, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #31 0x00007feef91567aa in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #32 0x00007feef9159df8 in ?? () from /usr/lib/libglib-2.0.so.0 #33 0x00007feef9159fac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #34 0x00007feefd2c3b7f in QEventDispatcherGlib::processEvents (this=0xe9e5a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327 #35 0x00007feefdee25ef in QGuiEventDispatcherGlib::processEvents (this=0x1bdbd80, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #36 0x00007feefd299d62 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #37 0x00007feefd29a134 in QEventLoop::exec (this=0x7fff02994a20, flags=...) at kernel/qeventloop.cpp:201 #38 0x00007feefd29c3a4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #39 0x00000000004791a9 in main (argc=1, argv=0x7fff02994eb8) at ../../kgpg/main.cpp:59 Regards, Could someone please try the debug messages patch out so I can see what's actually going on? I have no idea how this could ever happen. Additionally you may replace the "KGpgExpandableNode *pt = m_parent->getParentKeyNode();" in line 803 of model/kgpgitemnode.cpp by just "pt = m_parent" and see if that changes anything. Still noone with debug info ... This bug has been fixed in 2.2.1 for certain. I no longer receive this error as of that version. I strongly believe that this has finally been fixed with r1049727 which will be in KDE SC 4.3.4. |