[Bug 238708] New: Crash viewing a signed message

Olivier Trichet nive at nivalis.org
Mon May 24 17:39:38 BST 2010


https://bugs.kde.org/show_bug.cgi?id=238708

           Summary: Crash viewing a signed message
           Product: Akonadi
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Linux
            Status: NEW
          Severity: crash
          Priority: NOR
         Component: general
        AssignedTo: vkrause at kde.org
        ReportedBy: nive at nivalis.org
                CC: kdepim-bugs at kde.org


Application: akonadiconsole (0.99)
KDE Platform Version: 4.4.80 (KDE 4.4.80 (KDE 4.5 Beta1)) (Compiled from
sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.33-2-amd64 x86_64
Distribution: Debian GNU/Linux testing (squeeze)

-- Information about the crash:
The Akonadi console immediatly crash when I open the message which I'll attach
later to this report. This is also reproducible in KNode.
The crash happens every time this specific message is displayed. The key that
signed the message is in my keyring.

In the method BaseG::publicKeys( const QStringList & ), changing
"std::sort(...)" to "qSort(...)" works around this issue.

If you need more information, feel free to ask.


kDebug trace:
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Module::checkForPGP: Kpgp: gpg
found
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Module::assignPGPBase: Kpgp:
assign pgp - auto
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Module::assignPGPBase: Kpgp:
assign pgp - default
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Module::assignPGPBase: Kpgp:
pgpBase is gpg
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: GnuPG exited with
exit status 0
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: gpg stderr:
"akonadiconsole(4261)/kdepimlibs (kpgp) Kpgp::Base::runGpg: pgp cmd =
LANGUAGE=C gpg --version
"
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::BaseG: found GnuPG "1.4.10"
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: GnuPG exited with
exit status 1
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: gpg stderr:
"akonadiconsole(4263)/kdepimlibs (kpgp) Kpgp::Base::runGpg: pgp cmd =
LANGUAGE=C gpg --batch --decrypt
gpg: Signature made lun. 17 mai 2010 20:00:01 CEST using DSA key ID 9B7C328D
gpg: BAD signature from "Luk Claes <luk at debian.org>"
"
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::decrypt: Message was signed
on ' "lun. 17 mai 2010 20:00:01 CEST" '
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::decrypt: Message was signed
with key ' "9B7C328D" '
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: GnuPG exited with
exit status 0
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::Base::runGpg: gpg stderr:
"akonadiconsole(4265)/kdepimlibs (kpgp) Kpgp::Base::runGpg: pgp cmd =
LANGUAGE=C gpg --batch --list-public-keys --with-fingerprint --with-colons
--fixed-list-mode --no-expensive-trust-checks
"
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::parseKeyData: Unknown key
capability
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::parseKeyData: Unknown key
capability
[.......]
akonadiconsole(4255)/kdepimlibs (kpgp) Kpgp::BaseG::parseKeyData: Unknown key
capability
KCrash: Application 'akonadiconsole' crashing...

The crash can be reproduced every time.

-- Backtrace:
Application: Akonadi Console (akonadiconsole), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7f5de7d9c750 (LWP 4111))]

Thread 2 (Thread 0x7f5dcd4e9910 (LWP 4114)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f5dddbba606 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f5dddbba649 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f5de22be73a in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#4  0x00007f5de0ba869d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5de7d9c750 (LWP 4111)):
[KCrash Handler]
#6  0x00007f5ddfaa3e2a in QListData::isEmpty (this=0x4337423922003031) at
/usr/include/qt4/QtCore/qlist.h:91
#7  0x00007f5ddfaa5392 in QList<Kpgp::UserID*>::isEmpty
(this=0x4337423922003031) at /usr/include/qt4/QtCore/qlist.h:134
#8  0x00007f5ddfaa411c in Kpgp::Key::primaryUserID (this=0x4337423922003021) at
/home/kde/dev/src/kdepim/libkpgp/kpgpkey.h:779
#9  0x00007f5ddfab32f9 in Kpgp::KeyCompare (left=0x29861b0,
right=0x4337423922003021) at /home/kde/dev/src/kdepim/libkpgp/kpgpkey.h:847
#10 0x00007f5ddfabcb0d in
std::__unguarded_linear_insert<QList<Kpgp::Key*>::iterator, Kpgp::Key*, bool
(*)(Kpgp::Key*, Kpgp::Key*)> (__last=..., __val=0x29861b0, 
    __comp=0x7f5ddfab32d5 <Kpgp::KeyCompare(Kpgp::Key*, Kpgp::Key*)>) at
/usr/include/c++/4.4/bits/stl_algo.h:2084
#11 0x00007f5ddfabc71b in
std::__unguarded_insertion_sort<QList<Kpgp::Key*>::iterator, bool
(*)(Kpgp::Key*, Kpgp::Key*)> (__first=..., __last=..., 
    __comp=0x7f5ddfab32d5 <Kpgp::KeyCompare(Kpgp::Key*, Kpgp::Key*)>) at
/usr/include/c++/4.4/bits/stl_algo.h:2161
#12 0x00007f5ddfabc20b in
std::__final_insertion_sort<QList<Kpgp::Key*>::iterator, bool (*)(Kpgp::Key*,
Kpgp::Key*)> (__first=..., __last=..., 
    __comp=0x7f5ddfab32d5 <Kpgp::KeyCompare(Kpgp::Key*, Kpgp::Key*)>) at
/usr/include/c++/4.4/bits/stl_algo.h:2194
#13 0x00007f5ddfabbec8 in std::sort<QList<Kpgp::Key*>::iterator, bool
(*)(Kpgp::Key*, Kpgp::Key*)> (__first=..., __last=..., __comp=0x7f5ddfab32d5
<Kpgp::KeyCompare(Kpgp::Key*, Kpgp::Key*)>)
    at /usr/include/c++/4.4/bits/stl_algo.h:5260
#14 0x00007f5ddfab97b8 in Kpgp::BaseG::publicKeys (this=0x294f410,
patterns=...) at /home/kde/dev/src/kdepim/libkpgp/kpgpbaseG.cpp:442
#15 0x00007f5ddfab1d67 in Kpgp::Module::readPublicKeys (this=0x294cea0,
reread=false) at /home/kde/dev/src/kdepim/libkpgp/kpgp.cpp:1532
#16 0x00007f5ddfaaddf0 in Kpgp::Module::publicKey (this=0x294cea0, keyID=...)
at /home/kde/dev/src/kdepim/libkpgp/kpgp.cpp:742
#17 0x00007f5ddfaae233 in Kpgp::Module::keyTrust (this=0x294cea0, keyID=...) at
/home/kde/dev/src/kdepim/libkpgp/kpgp.cpp:783
#18 0x00007f5de6266257 in MessageViewer::ObjectTreeParser::writeBodyStr
(this=0x7fffd3503910, aStr=..., aCodec=0x1f8ecd0, fromAddress=...,
inlineSignatureState=@0x7fffd350352c, 
    inlineEncryptionState=@0x7fffd3503528, decorate=true) at
/home/kde/dev/src/kdepim/messageviewer/objecttreeparser.cpp:2932
#19 0x00007f5de625eee1 in MessageViewer::ObjectTreeParser::writeBodyString
(this=0x7fffd3503910, bodyString=..., fromAddress=..., codec=0x1f8ecd0,
result=..., decorate=true)
    at /home/kde/dev/src/kdepim/messageviewer/objecttreeparser.cpp:2087
#20 0x00007f5de625785e in
MessageViewer::ObjectTreeParser::processTextPlainSubtype (this=0x7fffd3503910,
curNode=0x28ee4a0, result=...)
    at /home/kde/dev/src/kdepim/messageviewer/objecttreeparser.cpp:1241
#21 0x00007f5de626e71d in process (this=0x2921ef0, otp=0x7fffd3503910,
node=0x28ee4a0, result=...) at
/home/kde/dev/src/kdepim/messageviewer/bodypartformatter.cpp:106
#22 0x00007f5de6250c45 in
MessageViewer::ObjectTreeParser::parseObjectTreeInternal (this=0x7fffd3503910,
node=0x28ee4a0) at
/home/kde/dev/src/kdepim/messageviewer/objecttreeparser.cpp:308
#23 0x00007f5de62503bd in MessageViewer::ObjectTreeParser::parseObjectTree
(this=0x7fffd3503910, node=0x28ee4a0) at
/home/kde/dev/src/kdepim/messageviewer/objecttreeparser.cpp:223
#24 0x00007f5de6214d3a in MessageViewer::ViewerPrivate::parseContent
(this=0x230b600, content=0x28ee4a0) at
/home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:982
#25 0x00007f5de6213b77 in MessageViewer::ViewerPrivate::displayMessage
(this=0x230b600) at /home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:847
#26 0x00007f5de621ecce in MessageViewer::ViewerPrivate::updateReaderWin
(this=0x230b600) at /home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:2060
#27 0x00007f5de621dd39 in MessageViewer::ViewerPrivate::update (this=0x230b600,
updateMode=MessageViewer::Viewer::Force) at
/home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:1907
#28 0x00007f5de6216aa5 in MessageViewer::ViewerPrivate::setMessageInternal
(this=0x230b600, message=..., updateMode=MessageViewer::Viewer::Force)
    at /home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:1316
#29 0x00007f5de6216e50 in MessageViewer::ViewerPrivate::setMessageItem
(this=0x230b600, item=..., updateMode=MessageViewer::Viewer::Force) at
/home/kde/dev/src/kdepim/messageviewer/viewer_p.cpp:1337
#30 0x00007f5de622fc8c in MessageViewer::Viewer::setMessageItem
(this=0x230b2a0, item=..., updateMode=MessageViewer::Viewer::Force) at
/home/kde/dev/src/kdepim/messageviewer/viewer.cpp:84
#31 0x0000000000427e72 in BrowserWidget::setItem (this=0x2294860, item=...) at
/home/kde/dev/src/kdepim/akonadiconsole/browserwidget.cpp:274
#32 0x0000000000427c40 in BrowserWidget::itemFetchDone (this=0x2294860,
job=0x2694d20) at /home/kde/dev/src/kdepim/akonadiconsole/browserwidget.cpp:256
#33 0x000000000042ae29 in BrowserWidget::qt_metacall (this=0x2294860,
_c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x285bd50) at
/home/kde/dev/build/kdepim/akonadiconsole/browserwidget.moc:93
#34 0x00007f5de2661b59 in QObject::event (this=0x2294860, e=0x29175f0) at
kernel/qobject.cpp:1248
#35 0x00007f5de182a29f in QWidget::event (this=0x2294860, event=0x29175f0) at
kernel/qwidget.cpp:8455
#36 0x00007f5de17d48fc in QApplicationPrivate::notify_helper (this=0x1fa25c0,
receiver=0x2294860, e=0x29175f0) at kernel/qapplication.cpp:4300
#37 0x00007f5de17daddb in QApplication::notify (this=0x7fffd35050b0,
receiver=0x2294860, e=0x29175f0) at kernel/qapplication.cpp:4183
#38 0x00007f5de355e7a6 in KApplication::notify (this=0x7fffd35050b0,
receiver=0x2294860, event=0x29175f0) at
/home/kde/dev/src/kdelibs/kdeui/kernel/kapplication.cpp:302
#39 0x00007f5de2651f1c in QCoreApplication::notifyInternal
(this=0x7fffd35050b0, receiver=0x2294860, event=0x29175f0) at
kernel/qcoreapplication.cpp:704
#40 0x00007f5de2654697 in QCoreApplication::sendEvent (receiver=0x0,
event_type=<value optimized out>, data=0x1f881a0) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#41 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value
optimized out>, data=0x1f881a0) at kernel/qcoreapplication.cpp:1345
#42 0x00007f5de267b833 in QCoreApplication::sendPostedEvents (s=<value
optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#43 postEventSourceDispatch (s=<value optimized out>) at
kernel/qeventdispatcher_glib.cpp:276
#44 0x00007f5dd8ffa6c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x00007f5dd8ffe538 in ?? () from /lib/libglib-2.0.so.0
#46 0x00007f5dd8ffe6ec in g_main_context_iteration () from
/lib/libglib-2.0.so.0
#47 0x00007f5de267b373 in QEventDispatcherGlib::processEvents (this=0x1f87870,
flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#48 0x00007f5de18843de in QGuiEventDispatcherGlib::processEvents
(this=0x4337423922003031, flags=<value optimized out>) at
kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007f5de2650842 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#50 0x00007f5de2650c1c in QEventLoop::exec (this=0x7fffd3505020, flags=) at
kernel/qeventloop.cpp:201
#51 0x00007f5de265495b in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:981
#52 0x00000000004421fe in main (argc=1, argv=0x7fffd3505328) at
/home/kde/dev/src/kdepim/akonadiconsole/main.cpp:48
The current source language is "auto; currently asm".
The current source language is "auto; currently c".

Reported using DrKonqi

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the Kdepim-bugs mailing list