Bug 51586 - delete message before OpenPGP info box appears crashes kmail
Summary: delete message before OpenPGP info box appears crashes kmail
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: 1.5
Platform: Compiled Sources FreeBSD
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-06 17:51 UTC by brad
Modified: 2007-09-14 12:17 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 brad 2002-12-06 17:51:09 UTC
Version:           Kmail 1.5 (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc-2.95.3 
OS:          FreeBSD

Running on cvs version as of Dec 4. 2002

If you attempt to delete a signed message before the infomation box appears it will cause kmail to crash.

To reproduce:
 - find a message which is signed and make sure the information box appears (close the info box, by selected 'okay'
 - select another message to change the current message.
 - select the signed message and quickly hit 'delete' (probably need to hit delete from the key board to be fast enough).
 - the message should disappear in the header list view, the info box will pop up. Click 'okay' on the info box, and kmail will crash.


I was unable to create a back trace from this. 
I assume the the problem is since the current message was deleted while another operation took place, when kmail went to display the message, the message was no longer there.
Comment 1 Ingo Klöcker 2002-12-06 22:30:03 UTC
Subject: Re:  New: delete message before OpenPGP info box appears crashes kmail

Which info box do you mean? The one which tells you about the missing 
OpenPGP plugin?

Comment 2 brad 2003-01-02 05:44:30 UTC
(sorry it took me a while to notice the change. i don't get emailed when the bugs is 
altered) 
 
yes.  
Comment 3 T Zachmann 2003-01-29 18:56:05 UTC
I can reproduce a similar Problem:  
  
Have a mail which is encrypted for you and some other mail before and after.  
The messages in the list look like   
  
1. normal mail  
2. normal mail  
3. encrypted mail  
4. normal mail  
  
To reproduce:  
First mail is selected.  
Use the arrow left key to move to message 4.  
Mail 4 is allready selected, before the message box "OpenPGP Security Check"  
popup.  
If you now press escape kmail crashes.  
  
I cannot provide a usefull backtrace as I use the rpms for suse from kde.org of kde 3.1  
which have no debugging symbols.  
  
But the problem should be very easy to reproduce.  
  
Thorsten  
  
  
  
  
Comment 4 T Zachmann 2003-01-30 09:28:28 UTC
I compiled kmail and so I have now backtraces of the problem.  
 
Hope this helps to locate the problem. 
 
Thorsten 
 
bt 1 
----------------------------- 
#0  0x00000000 in ?? () 
#1  0x0814f827 in KMReaderWin::parseMsg(KMMessage*, bool) (this=0x832ab88, 
    aMsg=0x0, onlyProcessHeaders=65) at kmreaderwin.cpp:3307 
#2  0x0814c4ce in KMReaderWin::parseMsg() (this=0x832ab88) 
    at kmreaderwin.cpp:2571 
#3  0x08149c27 in KMReaderWin::updateReaderWin() (this=0x832ab88) 
    at kmreaderwin.cpp:2310 
#4  0x0815b6f9 in KMReaderWin::qt_invoke(int, QUObject*) (this=0x832ab88, 
    _id=46, _o=0xbfffee40) at kmreaderwin.moc:233 
#5  0x40e49309 in QObject::activate_signal(QConnectionList*, QUObject*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#6  0x40e491a7 in QObject::activate_signal(int) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#7  0x4112a5bb in QTimer::timeout() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#8  0x40e6a472 in QTimer::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 
#9  0x40deb2e4 in QApplication::internalNotify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#10 0x40deae4b in QApplication::notify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#11 0x40a6cfc9 in KApplication::notify(QObject*, QEvent*) () 
   from /opt/kde3/lib/libkdecore.so.4 
#12 0x40dc4233 in QEventLoop::activateTimers() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#13 0x40da1be4 in QEventLoop::processEvents(unsigned) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#14 0x40dfefa6 in QEventLoop::enterLoop() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#15 0x40dfee48 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#16 0x40deb511 in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#17 0x081c79b7 in main (argc=2, argv=0xbffff684) at main.cpp:349 
#18 0x414d64a2 in __libc_start_main () from /lib/libc.so. 
 
bt 2 
----------------------------- 
Program received signal SIGSEGV, Segmentation fault. 
[Switching to Thread 1024 (LWP 7393)] 
0x08140646 in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWra 
pper*, partNode*, bool, bool, bool) (reader=0x832a0d8, 
    resultStringPtr=0xbfffe230, useThisCryptPlug=0x0, node=0x95, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:416 
416         if( !curNode->mWasProcessed ) { 
(gdb) bt 
#0  0x08140646 in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlu 
gWrapper*, partNode*, bool, bool, bool) (reader=0x832a0d8, 
    resultStringPtr=0xbfffe230, useThisCryptPlug=0x0, node=0x95, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:416 
#1  0x08144879 in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlu 
gWrapper*, partNode*, bool, bool, bool) (reader=0x832a0d8, 
    resultStringPtr=0x0, useThisCryptPlug=0x0, node=0x8422240, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:1394 
#2  0x0814f7d6 in KMReaderWin::parseMsg(KMMessage*, bool) (this=0x832a0d8, 
    aMsg=0x84285a8, onlyProcessHeaders=false) at kmreaderwin.cpp:3297 
#3  0x0814c4ce in KMReaderWin::parseMsg() (this=0x832a0d8) 
    at kmreaderwin.cpp:2571 
#4  0x08149c27 in KMReaderWin::updateReaderWin() (this=0x832a0d8) 
    at kmreaderwin.cpp:2310 
#5  0x0815b6f9 in KMReaderWin::qt_invoke(int, QUObject*) (this=0x832a0d8, 
    _id=46, _o=0xbfffee40) at kmreaderwin.moc:233 
#6  0x40e49309 in QObject::activate_signal(QConnectionList*, QUObject*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#7  0x40e491a7 in QObject::activate_signal(int) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#8  0x4112a5bb in QTimer::timeout() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#9  0x40e6a472 in QTimer::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 
#10 0x40deb2e4 in QApplication::internalNotify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#11 0x40deae4b in QApplication::notify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#12 0x40a6cfc9 in KApplication::notify(QObject*, QEvent*) () 
   from /opt/kde3/lib/libkdecore.so.4 
#13 0x40dc4233 in QEventLoop::activateTimers() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#14 0x40da1be4 in QEventLoop::processEvents(unsigned) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#15 0x40dfefa6 in QEventLoop::enterLoop() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#16 0x40dfee48 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#17 0x40deb511 in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#18 0x081c79b7 in main (argc=2, argv=0xbffff684) at main.cpp:349 
#19 0x414d64a2 in __libc_start_main () from /lib/libc.so.6 
 
Comment 5 Ingo Klöcker 2003-02-12 00:21:11 UTC
Subject: Re:  New: delete message before OpenPGP info box appears crashes kmail

Thanks for the bug report. This bug has been fixed (-> KDE 3.1.1).


Comment 6 T Zachmann 2003-04-08 18:50:09 UTC
kmail still crashes when you move to the next message before the popup dialog dialog 
is shown. Look at comment 3 to see how to reproduce. 
 
Thorsten 
 
I have attached the backtrace: 
 
Program received signal SIGSEGV, Segmentation fault. 
[Switching to Thread 1024 (LWP 22988)] 
0x08140aa2 in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWrapper*, partNode*, bool, bool, bool) (reader=0x832fd88, 
    resultStringPtr=0xbfffe240, useThisCryptPlug=0x0, node=0x458b0cec, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:406 
406         if( !curNode->mWasProcessed ) { 
(gdb) bt 
#0  0x08140aa2 in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWrapper*, partNode*, bool, bool, bool) (reader=0x832fd88, 
    resultStringPtr=0xbfffe240, useThisCryptPlug=0x0, node=0x458b0cec, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:406 
#1  0x08144dad in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWrapper*, partNode*, bool, bool, bool) (reader=0x832fd88, 
    resultStringPtr=0xbfffe240, useThisCryptPlug=0x0, node=0x8162384, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:1424 
#2  0x08144dad in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWrapper*, partNode*, bool, bool, bool) (reader=0x832fd88, 
    resultStringPtr=0xbfffe240, useThisCryptPlug=0x0, node=0x824ea48, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:1424 
#3  0x08144dad in KMReaderWin::parseObjectTree(KMReaderWin*, QCString*, 
CryptPlugWrapper*, partNode*, bool, bool, bool) (reader=0x832fd88, 
    resultStringPtr=0x0, useThisCryptPlug=0x0, node=0x84344b0, 
    showOneMimePart=false, keepEncryptions=false, includeSignatures=true) 
    at kmreaderwin.cpp:1424 
#4  0x08150652 in KMReaderWin::parseMsg(KMMessage*, bool) (this=0x832fd88, 
    aMsg=0x84142e0, onlyProcessHeaders=false) at kmreaderwin.cpp:3393 
#5  0x0814ca0a in KMReaderWin::parseMsg() (this=0x832fd88) 
    at kmreaderwin.cpp:2602 
#6  0x0814a163 in KMReaderWin::updateReaderWin() (this=0x832fd88) 
    at kmreaderwin.cpp:2341 
#7  0x0815c685 in KMReaderWin::qt_invoke(int, QUObject*) (this=0x832fd88, 
    _id=46, _o=0xbfffee50) at kmreaderwin.moc:235 
#8  0x40e62ef9 in QObject::activate_signal(QConnectionList*, QUObject*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#9  0x40e62d97 in QObject::activate_signal(int) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#10 0x411463bb in QTimer::timeout() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#11 0x40e841f2 in QTimer::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 
#12 0x40e04d94 in QApplication::internalNotify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#13 0x40e0431c in QApplication::notify(QObject*, QEvent*) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#14 0x40a74f09 in KApplication::notify(QObject*, QEvent*) () 
   from /opt/kde3/lib/libkdecore.so.4 
#15 0x40dddba3 in QEventLoop::activateTimers() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#16 0x40dbb304 in QEventLoop::processEvents(unsigned) () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#17 0x40e18b06 in QEventLoop::enterLoop() () 
   from /usr/lib/qt3/lib/libqt-mt.so.3 
#18 0x40e189a8 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#19 0x40e04fc1 in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 
#20 0x081c9130 in main (argc=2, argv=0xbffff694) at main.cpp:353 
 
Comment 7 T Zachmann 2003-04-08 18:51:57 UTC
I use compiled kmail 1.5.1 form KDE 3.1.1. 
Comment 8 Ingo Klöcker 2003-04-09 15:25:58 UTC
@Thorsten: This particular bug report was about the OpenPGP information dialogs which no 
longer exist, so this bug is fixed. You are most likely experiencing bug 53185.