Bug 154182

Summary: Kgpg crashed while generating a key pair
Product: [Applications] kgpg Reporter: Luca Venturini <luca.venturini>
Component: generalAssignee: Rolf Eike Beer <kde>
Status: RESOLVED FIXED    
Severity: crash CC: kde, Regnaron
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Valgrind log of kgpg crashing on bug #154182

Description Luca Venturini 2007-12-16 19:24:58 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          cmake 2.4.7-1 
OS:                Linux

Here is the backtrace:

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1249535696 (LWP 9880)]
[New Thread -1275749488 (LWP 9881)]
[KCrash handler]
#6  0xb7f1d7b8 in K3ProcessController::slotDoHousekeeping ()
   from /opt/kde4/lib/libkde3support.so.4
#7  0xb7f1d95b in K3ProcessController::qt_metacall ()
   from /opt/kde4/lib/libkde3support.so.4
#8  0xb7d2bc04 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#9  0xb7d2c079 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#10 0xb7d52444 in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4
#11 0xb7d36709 in QSocketNotifier::event () from /usr/lib/libQtCore.so.4
#12 0xb65e444d in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#13 0xb65e474e in QApplication::notify () from /usr/lib/libQtGui.so.4
#14 0xb787883a in KApplication::notify () from /opt/kde4/lib/libkdeui.so.5
#15 0xb7d1a456 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#16 0xb7d1d81f in ?? () from /usr/lib/libQtCore.so.4
#17 0x0813b030 in ?? ()
#18 0x0812e2a8 in ?? ()
#19 0xbfc7c608 in ?? ()
#20 0xbfc7c5e8 in ?? ()
#21 0x00d448af in ?? ()
#22 0xb7d9fe20 in ?? () from /usr/lib/libQtCore.so.4
#23 0xbfc7c628 in ?? ()
#24 0xb7d43cb2 in ?? () from /usr/lib/libQtCore.so.4
#25 0x0812e2a8 in ?? ()
#26 0xbfc7c608 in ?? ()
#27 0xbfc7c608 in ?? ()
#28 0xb619e1bb in g_static_private_get () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
#0  0xffffe410 in __kernel_vsyscall ()
Comment 1 Bram Schoenmakers 2007-12-16 20:45:00 UTC
Could you try rebuilding KDE 4 with debug symbols please? That would make the backtraces more useful.

Invoke cmake like this:

cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debugfull /path/to/src
Comment 2 Rolf Eike Beer 2007-12-17 00:34:22 UTC
And please give the exact revision number of your checkout.
Comment 3 Oliver Putz 2008-01-28 05:41:58 UTC
I can confirm this bug with kdelibs r766524 and kdeutils r765739. The key generation process crashes at the last step, when I am about to create a revocation certificate and click on "ok". The key however gets correctly created and set up. My backtrace is:

Application: KGpg (kgpg), signal SIGSEGV
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb5ec66d0 (LWP 12191)]
[New Thread 0xb4940b90 (LWP 12192)]
[KCrash handler]
#6  0xb7e94848 in K3ProcessController::slotDoHousekeeping (this=0x8383910)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kde3support/kdecore/k3processcontroller.cpp:254
#7  0xb7e949f3 in K3ProcessController::qt_metacall (this=0x8383910, 
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf8864fc)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs_build/kde3support/k3processcontroller.moc:64
#8  0xb7cab1f4 in QMetaObject::activate (sender=0x836b5a0, 
    from_signal_index=4, to_signal_index=4, argv=<value optimized out>)
    at kernel/qobject.cpp:3081
#9  0xb7cabd94 in QMetaObject::activate (sender=0x836b5a0, m=0xb7d4a990, 
    local_signal_index=0, argv=0xbf8864fc) at kernel/qobject.cpp:3140
#10 0xb7ccbf11 in QSocketNotifier::activated (this=0x836b5a0, _t1=14)
    at .moc/debug-shared/moc_qsocketnotifier.cpp:80
#11 0xb7cb3ed8 in QSocketNotifier::event (this=0x836b5a0, e=0xbf886970)
    at kernel/qsocketnotifier.cpp:317
#12 0xb647ae8a in QApplicationPrivate::notify_helper (this=0x810cb00, 
    receiver=0x836b5a0, e=0xbf886970) at kernel/qapplication.cpp:3556
#13 0xb647c77a in QApplication::notify (this=0x81085c0, receiver=0x836b5a0, 
    e=0xbf886970) at kernel/qapplication.cpp:3115
#14 0xb781acb3 in KApplication::notify (this=0x81085c0, receiver=0x836b5a0, 
    event=0xbf886970)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314
#15 0xb7c97d7b in QCoreApplication::notifyInternal (this=0x81085c0, 
    receiver=0x836b5a0, event=0xbf886970) at kernel/qcoreapplication.cpp:530
#16 0xb7cc12bd in QEventDispatcherUNIX::activateSocketNotifiers (
    this=0x8106998) at kernel/qcoreapplication.h:200
#17 0xb7cc15da in QEventDispatcherUNIXPrivate::doSelect (this=0x810cc20, 
    flags=@0xbf886ae8, timeout=0xbf886ae0)
    at kernel/qeventdispatcher_unix.cpp:243
#18 0xb7cc198b in QEventDispatcherUNIX::processEvents (this=0x8106998, 
    flags=@0xbf886bf8) at kernel/qeventdispatcher_unix.cpp:886
#19 0xb6504cce in QEventDispatcherX11::processEvents (this=0x8106998, 
    flags=@0xbf886c24) at kernel/qeventdispatcher_x11.cpp:145
#20 0xb7c97191 in QEventLoop::processEvents (this=0xbf886c9c, 
    flags=@0xbf886c58) at kernel/qeventloop.cpp:140
#21 0xb7c9729a in QEventLoop::exec (this=0xbf886c9c, flags=@0xbf886ca8)
    at kernel/qeventloop.cpp:186
#22 0xb68e5c87 in QDialog::exec (this=0x8281f80) at dialogs/qdialog.cpp:433
#23 0x08088b57 in KeysManager::slotGenerateKey (this=0x81aec40)
    at /var/tmp/portage/kde-base/kdeutils-9999.4/work/kdeutils-9999.4/kgpg/keysmanager.cpp:446
#24 0x08088f43 in KeysManager::qt_metacall (this=0x81aec40, 
    _c=QMetaObject::InvokeMetaMethod, _id=48, _a=0xbf88728c)
    at /var/tmp/portage/kde-base/kdeutils-9999.4/work/kdeutils_build/kgpg/keysmanager.moc:219
#25 0xb7cab1f4 in QMetaObject::activate (sender=0x8235660, 
    from_signal_index=5, to_signal_index=6, argv=<value optimized out>)
    at kernel/qobject.cpp:3081
#26 0xb7cab5e2 in QMetaObject::activate (sender=0x8235660, m=0xb6bc94c0, 
    from_local_signal_index=1, to_local_signal_index=2, argv=0xbf88728c)
    at kernel/qobject.cpp:3160
#27 0xb64739c3 in QAction::triggered (this=0x8235660, _t1=false)
    at .moc/debug-shared/moc_qaction.cpp:208
#28 0xb64744bd in QAction::activate (this=0x8235660, event=QAction::Trigger)
    at kernel/qaction.cpp:1114
#29 0xb685b264 in QMenuPrivate::activateAction (this=0x8238bb8, 
    action=0x8235660, action_e=QAction::Trigger, self=true)
    at widgets/qmenu.cpp:915
#30 0xb685d8e2 in QMenu::mouseReleaseEvent (this=0x8223f78, e=0xbf887b04)
    at widgets/qmenu.cpp:2054
#31 0xb78d7308 in KMenu::mouseReleaseEvent (this=0x8223f78, e=0xbf887b04)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/widgets/kmenu.cpp:423
#32 0xb64cd9a5 in QWidget::event (this=0x8223f78, event=0xbf887b04)
    at kernel/qwidget.cpp:6138
#33 0xb6858ccf in QMenu::event (this=0x8223f78, e=0xbf887b04)
    at widgets/qmenu.cpp:2149
#34 0xb647ae8a in QApplicationPrivate::notify_helper (this=0x810cb00, 
    receiver=0x8223f78, e=0xbf887b04) at kernel/qapplication.cpp:3556
#35 0xb647ca2c in QApplication::notify (this=0x81085c0, receiver=0x8223f78, 
    e=0xbf887b04) at kernel/qapplication.cpp:3255
#36 0xb781acb3 in KApplication::notify (this=0x81085c0, receiver=0x8223f78, 
    event=0xbf887b04)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:314
#37 0xb7c97d7b in QCoreApplication::notifyInternal (this=0x81085c0, 
    receiver=0x8223f78, event=0xbf887b04) at kernel/qcoreapplication.cpp:530
#38 0xb64e0e89 in QETWidget::translateMouseEvent (this=0x8223f78, 
    event=0xbf887ec8)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:203
#39 0xb64dee8e in QApplication::x11ProcessEvent (this=0x81085c0, 
    event=0xbf887ec8) at kernel/qapplication_x11.cpp:2913
#40 0xb6504c45 in QEventDispatcherX11::processEvents (this=0x8106998, 
    flags=@0xbf887fb4) at kernel/qeventdispatcher_x11.cpp:125
#41 0xb7c97191 in QEventLoop::processEvents (this=0xbf888020, 
    flags=@0xbf887fe8) at kernel/qeventloop.cpp:140
#42 0xb7c9729a in QEventLoop::exec (this=0xbf888020, flags=@0xbf888028)
    at kernel/qeventloop.cpp:186
#43 0xb7c99626 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:759
#44 0xb647a487 in QApplication::exec () at kernel/qapplication.cpp:3053
#45 0x080a0c74 in main (argc=1, argv=0xbf888204)
    at /var/tmp/portage/kde-base/kdeutils-9999.4/work/kdeutils-9999.4/kgpg/main.cpp:59
#46 0xb6140fdc in __libc_start_main (main=0x80a04e0 <main>, argc=1, 
    ubp_av=0xbf888204, init=0x80e0880 <__libc_csu_init>, 
    fini=0x80e0870 <__libc_csu_fini>, rtld_fini=0xb7f09100 <_dl_fini>, 
    stack_end=0xbf8881fc) at libc-start.c:229
#47 0x08064ad1 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 4 Oliver Putz 2008-01-28 05:49:55 UTC
Created attachment 23325 [details]
Valgrind log of kgpg crashing on bug #154182
Comment 5 Rolf Eike Beer 2008-01-28 08:47:33 UTC
I will port this over to KProcess tonight, that should help.
Comment 6 Rolf Eike Beer 2008-01-28 21:56:43 UTC
SVN commit 767815 by dakon:

Port key revoking to KProcess

Fixes another obscure crash in K3ProcessController

BUG:154182


 M  +46 -57    kgpginterface.cpp  
 M  +2 -2      kgpginterface.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=767815
Comment 7 Rolf Eike Beer 2008-01-28 21:58:03 UTC
The fix is in trunk as r767815. Please check so I can backport it for 4.0.1
Comment 8 Oliver Putz 2008-01-28 22:49:49 UTC
Hi, I just checked with kdeutils r767828 and can confirm that this bug is resolved. So you can backport.
Comment 9 Rolf Eike Beer 2008-01-29 00:17:33 UTC
SVN commit 767887 by dakon:

Port key revoking to KProcess 
 
Fixes another obscure crash in K3ProcessController 
 
CCBUG:154182 

Backport of r767815


 M  +46 -57    kgpginterface.cpp  
 M  +2 -2      kgpginterface.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=767887