[Bug 149132] New: Crash when deselecting message while dialog for GPG is open
Alexis Papadopoulos
iacp at free.fr
Thu Aug 23 14:53:25 BST 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=149132
Summary: Crash when deselecting message while dialog for GPG is
open
Product: kmail
Version: unspecified
Platform: Debian testing
OS/Version: Linux
Status: UNCONFIRMED
Severity: crash
Priority: NOR
Component: general
AssignedTo: kdepim-bugs kde org
ReportedBy: iacp free fr
Version: 1.9.7 (compiled from svn) (using KDE KDE 3.5.7)
Installed from: Debian testing/unstable Packages
Compiler: gcc 4.1.3
OS: Linux
Hello,
I just found a bug in KMail when playing around with GPG. If no gpg-agent is running you will be asked for a passphrase to be able to decrypt your message.
Once this dialog is open, select a different folder in your folder list (choosing a different mail should do the trick too) and click CANCEL in the gpg passphrase dialog.
You end up with a crash, here is the backtrace:
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 48000762883616 (LWP 10488)]
[New Thread 1107310928 (LWP 10492)]
[New Thread 1098918224 (LWP 10491)]
[New Thread 1090525520 (LWP 10490)]
[New Thread 1082132816 (LWP 10489)]
[KCrash handler]
#5 0x0000000000000021 in ?? ()
#6 0x00002ba801b4e0f6 in KMReaderWin::parseMsg (this=0x8d5600, aMsg=0xaceb90)
at kmreaderwin.cpp:1562
#7 0x00002ba801b47060 in KMReaderWin::displayMessage (this=0x8d5600)
at kmreaderwin.cpp:1484
#8 0x00002ba801b471c1 in KMReaderWin::updateReaderWin (this=0x8d5600)
at kmreaderwin.cpp:1420
#9 0x00002ba801b49e9d in KMReaderWin::qt_invoke (this=0x8d5600, _id=48,
_o=0x7fffa9583ed0) at kmreaderwin.moc:282
#10 0x00002ba80897b4ee in QObject::activate_signal ()
from /usr/lib/libqt-mt.so.3
#11 0x00002ba80897c088 in QObject::activate_signal ()
from /usr/lib/libqt-mt.so.3
#12 0x00002ba808ceb0e2 in QTimer::timeout () from /usr/lib/libqt-mt.so.3
#13 0x00002ba8089a19a3 in QTimer::event () from /usr/lib/libqt-mt.so.3
#14 0x00002ba808916842 in QApplication::internalNotify ()
from /usr/lib/libqt-mt.so.3
#15 0x00002ba8089185f0 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#16 0x00002ba8076943f8 in KApplication::notify ()
from /usr/lib/libkdecore.so.4
#17 0x00002ba8088a97f2 in QApplication::sendEvent ()
from /usr/lib/libqt-mt.so.3
#18 0x00002ba808909b28 in QEventLoop::activateTimers ()
from /usr/lib/libqt-mt.so.3
#19 0x00002ba8088bd865 in QEventLoop::processEvents ()
from /usr/lib/libqt-mt.so.3
#20 0x00002ba80892fe27 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#21 0x00002ba80892fc2f in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#22 0x00002ba808918324 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#23 0x0000000000403576 in main (argc=1, argv=0x7fffa9584c58) at main.cpp:110
This is actually in KMReaderWin::parseMsg (kmreaderwin.cpp). The message is parsed:
ObjectTreeParser otp( this );
otp.parseObjectTree( mRootNode );
Selecting a different folder in the meanwhile means that aMsg has been (I think) freed, and this line causes the crash:
aMsg->setEncryptionState( encryptionState );
My C++ knowledge is far from perfect, therefore I don't know of a way to check if the memory is still valid or not.
Cheers,
acp
More information about the Kdepim-bugs
mailing list