Bug 169111 - Crashes the second time i sign a key
Summary: Crashes the second time i sign a key
Status: RESOLVED FIXED
Alias: None
Product: kgpg
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Rolf Eike Beer
URL:
Keywords:
: 169551 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-08-14 11:00 UTC by Albert Astals Cid
Modified: 2008-08-21 22:08 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Astals Cid 2008-08-14 11:00:13 UTC
Version:            (using KDE 4.1.0)
Installed from:    SuSE RPMs

The second time i sign a key it crashes

Backtrace:
Thread 2 (Thread 0xb4704b90 (LWP 6518)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6364ef1 in select () from /lib/libc.so.6
#2  0xb73445c7 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb72869b7 in ?? () from /usr/lib/libQtCore.so.4
#4  0xb722a175 in start_thread () from /lib/libpthread.so.0
#5  0xb636bdce in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5daf6d0 (LWP 6517)):
#0  0x00000000 in ?? ()
#1  0x080e5bee in KGpgItemModel::refreshKey (this=0x81c3a28, nd=0x8601c18) at /usr/src/debug/kdeutils-4.1.0/kgpg/kgpgitemmodel.cpp:320
#2  0x08084aca in KeysManager::signLoop (this=0x81aca68) at /usr/src/debug/kdeutils-4.1.0/kgpg/keysmanager.cpp:1923
#3  0x080852c8 in KeysManager::signatureResult (this=0x81aca68, success=2, keyId=@0x869a400, interface=0x869a3b0) at /usr/src/debug/kdeutils-4.1.0/kgpg/keysmanager.cpp:1946
#4  0x0809861f in KeysManager::qt_metacall (this=0x81aca68, _c=QMetaObject::InvokeMetaMethod, _id=64, _a=0xbfd06fb8) at /usr/src/debug/kdeutils-4.1.0/build/kgpg/keysmanager.moc:275
#5  0xb737245a in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#6  0xb73729d2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#7  0x080adc81 in KgpgInterface::signKeyFinished (this=0x869a3b0, _t1=2, _t2=@0x869a400, _t3=0x869a3b0) at /usr/src/debug/kdeutils-4.1.0/build/kgpg/kgpginterface.moc:390
#8  0x080b026d in KgpgInterface::signKeyFin (this=0x869a3b0) at /usr/src/debug/kdeutils-4.1.0/kgpg/kgpginterface.cpp:979
#9  0x080c2705 in KgpgInterface::qt_metacall (this=0x869a3b0, _c=QMetaObject::InvokeMetaMethod, _id=44, _a=0xbfd07228) at /usr/src/debug/kdeutils-4.1.0/build/kgpg/kgpginterface.moc:314
#10 0xb737245a in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#11 0xb73729d2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#12 0xb7307b79 in QProcess::finished () from /usr/lib/libQtCore.so.4
#13 0xb730d39a in ?? () from /usr/lib/libQtCore.so.4
#14 0xb730d49b in QProcess::qt_metacall () from /usr/lib/libQtCore.so.4
#15 0xb75893fa in KProcess::qt_metacall () from /usr/lib/libkdecore.so.5
#16 0xb737245a in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#17 0xb73729d2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#18 0xb73a7883 in QSocketNotifier::activated () from /usr/lib/libQtCore.so.4
#19 0xb7378f07 in QSocketNotifier::event () from /usr/lib/libQtCore.so.4
#20 0xb6a6decc in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#21 0xb6a7431e in QApplication::notify () from /usr/lib/libQtGui.so.4
#22 0xb7c3266d in KApplication::notify () from /usr/lib/libkdeui.so.5
#23 0xb7360bc1 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#24 0xb7388264 in QEventDispatcherUNIX::activateSocketNotifiers () from /usr/lib/libQtCore.so.4
#25 0xb7388584 in QEventDispatcherUNIXPrivate::doSelect () from /usr/lib/libQtCore.so.4
#26 0xb73893f1 in QEventDispatcherUNIX::processEvents () from /usr/lib/libQtCore.so.4
#27 0xb6af80a2 in ?? () from /usr/lib/libQtGui.so.4
#28 0xb735f33a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#29 0xb735f4fa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#30 0xb73616dd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#31 0xb6a6dd47 in QApplication::exec () from /usr/lib/libQtGui.so.4
#32 0x080aa227 in main (argc=2, argv=0xbfd07d64) at /usr/src/debug/kdeutils-4.1.0/kgpg/main.cpp:58





Valgrind:
After signing the first key i get
==7264== Invalid read of size 4
==7264==    at 0x80E7C0C: KGpgRootNode::findKeyRow(QString const&) (qstring.h:648)
==7264==    by 0x80E7CBD: KGpgRootNode::findKey(QString const&) (kgpgitemnode.cpp:139)
==7264==    by 0x8085297: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1931)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)          
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)      
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)      
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE2B78: QProcess::finished(int, QProcess::ExitStatus) (in /usr/lib/libQtCore.so.4.4.0)
==7264==  Address 0x74537c0 is 80 bytes inside a block of size 264 free'd
==7264==    at 0x402371A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==7264==    by 0x808527A: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1929)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE2B78: QProcess::finished(int, QProcess::ExitStatus) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE8399: (within /usr/lib/libQtCore.so.4.4.0)
==7264==
==7264== Invalid read of size 4
==7264==    at 0x4B9DD9F: QString::operator==(QString const&) const (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80E7C4A: KGpgRootNode::findKeyRow(QString const&) (kgpgitemnode.cpp:159)
==7264==    by 0x80E7CBD: KGpgRootNode::findKey(QString const&) (kgpgitemnode.cpp:139)
==7264==    by 0x8085297: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1931)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==  Address 0x74537c0 is 80 bytes inside a block of size 264 free'd
==7264==    at 0x402371A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==7264==    by 0x808527A: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1929)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE2B78: QProcess::finished(int, QProcess::ExitStatus) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE8399: (within /usr/lib/libQtCore.so.4.4.0)


After signing the second key i get
==7264==
==7264== Invalid read of size 4
==7264==    at 0x80E5BDF: KGpgItemModel::refreshKey(KGpgKeyNode*) (kgpgitemmodel.cpp:320)
==7264==    by 0x8084AC9: KeysManager::signLoop() (keysmanager.cpp:1923)
==7264==    by 0x80852C7: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1946)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE2B78: QProcess::finished(int, QProcess::ExitStatus) (in /usr/lib/libQtCore.so.4.4.0)
==7264==  Address 0x6f03a58 is not stack'd, malloc'd or (recently) free'd
==7264==
==7264== Invalid read of size 4
==7264==    at 0x80E5BEB: KGpgItemModel::refreshKey(KGpgKeyNode*) (kgpgitemmodel.cpp:320)
==7264==    by 0x8084AC9: KeysManager::signLoop() (keysmanager.cpp:1923)
==7264==    by 0x80852C7: KeysManager::signatureResult(int, QString const&, KgpgInterface*) (keysmanager.cpp:1946)
==7264==    by 0x809861E: KeysManager::qt_metacall(QMetaObject::Call, int, void**) (keysmanager.moc:275)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x80ADC80: KgpgInterface::signKeyFinished(int, QString const&, KgpgInterface*) (kgpginterface.moc:390)
==7264==    by 0x80B026C: KgpgInterface::signKeyFin() (kgpginterface.cpp:979)
==7264==    by 0x80C2704: KgpgInterface::qt_metacall(QMetaObject::Call, int, void**) (kgpginterface.moc:314)
==7264==    by 0x4C4D459: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4C4D9D1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/libQtCore.so.4.4.0)
==7264==    by 0x4BE2B78: QProcess::finished(int, QProcess::ExitStatus) (in /usr/lib/libQtCore.so.4.4.0)
==7264==  Address 0x64 is not stack'd, malloc'd or (recently) free'd

And then it crashes
Comment 1 Rolf Eike Beer 2008-08-17 01:03:01 UTC
SVN commit 848099 by dakon:

When keys are signed clear the list of items to refresh. After next keysigning the old items would be tried to refresh again.

BUG:169111


 M  +1 -1      branches/KDE/4.1/kdeutils/kgpg/keysmanager.cpp  
 M  +1 -1      trunk/KDE/kdeutils/kgpg/keysmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=848099
Comment 2 Rolf Eike Beer 2008-08-21 22:08:12 UTC
*** Bug 169551 has been marked as a duplicate of this bug. ***