Bug 147016

Summary: crashed when I clicked on send
Product: [Unmaintained] kmail Reporter: BORGULYA Gábor <bugs2>
Component: sendingAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.9.7   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description BORGULYA Gábor 2007-06-21 00:53:41 UTC
Version:            (using KDE KDE 3.5.7)
Installed from:    Gentoo Packages
OS:                Linux

crashed when I clicked on send to send the message I composed
Comment 1 BORGULYA Gábor 2007-06-21 00:55:32 UTC
[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1240332624 (LWP 5101)]
[New Thread -1279501408 (LWP 5247)]
[New Thread -1271108704 (LWP 5246)]
[New Thread -1262716000 (LWP 5245)]
[New Thread -1254323296 (LWP 5244)]
[KCrash handler]
#6  0xb5934353 in MessageComposer::emitDone (this=0x965d8c0, b=false)
    at messagecomposer.cpp:364
#7  0xb5934418 in MessageComposer::doNextJob (this=0x965d8c0)
    at messagecomposer.cpp:352
#8  0xb5b0f955 in MessageComposer::applyChanges (this=0x965d8c0, 
    disableCrypto=false) at messagecomposer.cpp:333
#9  0xb5b0fb7f in KMComposeWin::applyChanges (this=0xac8b4a8, 
    dontSignNorEncrypt=false, dontDisable=false) at kmcomposewin.cpp:2219
#10 0xb5b3aa42 in KMComposeWin::doSend (this=0xac8b4a8, 
    method=KMail::MessageSender::SendImmediate, saveIn=KMComposeWin::None)
    at kmcomposewin.cpp:3958
#11 0xb5b3b23a in KMComposeWin::slotSendNow (this=0xac8b4a8)
    at kmcomposewin.cpp:4131
#12 0xb5b3b7c7 in KMComposeWin::qt_invoke (this=0xac8b4a8, _id=81, 
    _o=0xbfbab19c) at kmcomposewin.moc:442
#13 0xb6458a5f in QObject::activate_signal (this=0xac8b928, clist=0xadd61d8, 
    o=0xbfbab19c) at qobject.cpp:2356
#14 0xb64597f8 in QObject::activate_signal (this=0xac8b928, signal=2)
    at qobject.cpp:2325
#15 0xb6eff9be in KAction::activated (this=0xac8b928) at kaction.moc:176
#16 0xb6ff38a1 in KAction::slotActivated (this=0xac8b928) at kaction.cpp:1102
#17 0xb6ff2fbf in KAction::qt_invoke (this=0xac8b928, _id=15, _o=0xbfbab2ec)
    at kaction.moc:218
#18 0xb6ff320b in KActionMenu::qt_invoke (this=0xac8b928, _id=15, 
    _o=0xbfbab2ec) at kactionclasses.moc:1012
#19 0xb6458b8c in QObject::activate_signal (this=0xadcbe90, clist=0xadcc378, 
    o=0xbfbab2ec) at qobject.cpp:2380
#20 0xb64597f8 in QObject::activate_signal (this=0xadcbe90, signal=4)
    at qobject.cpp:2325
#21 0xb68604cf in QButton::clicked (this=0xadcbe90) at moc_qbutton.cpp:152
#22 0xb650d508 in QButton::mouseReleaseEvent (this=0xadcbe90, e=0xbfbab7e4)
    at qbutton.cpp:836
#23 0xb6f71168 in KToolBarButton::mouseReleaseEvent (this=0xadcbe90, 
    e=0xbfbab7e4) at ktoolbarbutton.cpp:472
#24 0xb6499727 in QWidget::event (this=0xadcbe90, e=0xbfbab7e4)
    at qwidget.cpp:4677
#25 0xb6f7357e in KToolBarButton::event (this=0xadcbe90, e=0xbfbab7e4)
    at ktoolbarbutton.cpp:651
#26 0xb63e41eb in QApplication::internalNotify (this=0xbfbac5fc, 
    receiver=0xadcbe90, e=0xbfbab7e4) at qapplication.cpp:2635
#27 0xb63e64e9 in QApplication::notify (this=0xbfbac5fc, receiver=0xadcbe90, 
    e=0xbfbab7e4) at qapplication.cpp:2421
#28 0xb6cceb54 in KApplication::notify (this=0xbfbac5fc, receiver=0xadcbe90, 
    event=0xbfbab7e4) at kapplication.cpp:550
#29 0xb636dd25 in QApplication::sendSpontaneousEvent (receiver=0xadcbe90, 
    event=0xbfbab7e4) at qapplication.h:499
#30 0xb636c986 in QETWidget::translateMouseEvent (this=0xadcbe90, 
    event=0xbfbabc88) at qapplication_x11.cpp:4298
#31 0xb636ab1c in QApplication::x11ProcessEvent (this=0xbfbac5fc, 
    event=0xbfbabc88) at qapplication_x11.cpp:3449
#32 0xb638393e in QEventLoop::processEvents (this=0x811c628, flags=4)
    at qeventloop_x11.cpp:192
#33 0xb6402205 in QEventLoop::enterLoop (this=0x811c628) at qeventloop.cpp:198
#34 0xb63e5e2d in QApplication::enter_loop (this=0xbfbac5fc)
    at qapplication.cpp:2793
#35 0xb5b0fe13 in KMComposeWin::autoSaveMessage (this=0xac8b4a8)
    at kmcomposewin.cpp:720
#36 0xb5b3c06e in KMComposeWin::qt_invoke (this=0xac8b4a8, _id=147, 
    _o=0xbfbac00c) at kmcomposewin.moc:508
#37 0xb6458a5f in QObject::activate_signal (this=0x887cc40, clist=0xad3be68, 
    o=0xbfbac00c) at qobject.cpp:2356
#38 0xb64597f8 in QObject::activate_signal (this=0x887cc40, signal=2)
    at qobject.cpp:2325
#39 0xb68588e6 in QTimer::timeout (this=0x887cc40) at moc_qtimer.cpp:82
#40 0xb6487365 in QTimer::event (this=0x887cc40, e=0xbfbac368)
    at qtimer.cpp:219
#41 0xb63e41eb in QApplication::internalNotify (this=0xbfbac5fc, 
    receiver=0x887cc40, e=0xbfbac368) at qapplication.cpp:2635
#42 0xb63e6163 in QApplication::notify (this=0xbfbac5fc, receiver=0x887cc40, 
    e=0xbfbac368) at qapplication.cpp:2358
#43 0xb6cceb54 in KApplication::notify (this=0xbfbac5fc, receiver=0x887cc40, 
    event=0xbfbac368) at kapplication.cpp:550
#44 0xb782d43e in QApplication::sendEvent (receiver=0x887cc40, 
    event=0xbfbac368) at qapplication.h:496
#45 0xb63d4fc0 in QEventLoop::activateTimers (this=0x811c628)
    at qeventloop_unix.cpp:556
#46 0xb63843ab in QEventLoop::processEvents (this=0x811c628, flags=4)
    at qeventloop_x11.cpp:389
#47 0xb6402205 in QEventLoop::enterLoop (this=0x811c628) at qeventloop.cpp:198
#48 0xb6402026 in QEventLoop::exec (this=0x811c628) at qeventloop.cpp:145
#49 0xb63e5eaf in QApplication::exec (this=0xbfbac5fc) at qapplication.cpp:2758
#50 0x0806594d in main (argc=189690280, argv=0x94e1e20) at main.cpp:163
Comment 2 Thomas McGuire 2007-06-22 14:16:19 UTC
Does this happen every time you try to send a message or only under certain circumstances?
Do you have any steps to reliable reproduce this crash?
Comment 3 BORGULYA Gábor 2007-06-22 17:22:57 UTC
I can not reproduce the crash. If it occurs again I will let you know.
Comment 4 BORGULYA Gábor 2007-06-24 15:22:32 UTC
Now I composed a new, long message, and a crash occured again when I clicked on the send button. See the new backtrace below.

I don't know if it matters, but when I upgraded kmail, I did not upgrade the whole  KDE system, I am using the Gentoo portage dependencies of KDE components. So I feel there is a small chance that the crash is related to mixing minor vesions of KDE on my system, although Gentoo claims that it knows what depends on what in KDE.

[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1240140112 (LWP 5216)]
[New Thread -1279308896 (LWP 5321)]
[New Thread -1270916192 (LWP 5320)]
[New Thread -1262523488 (LWP 5319)]
[New Thread -1254130784 (LWP 5318)]
[KCrash handler]
#6  0xe814ec83 in ?? ()
#7  0xb596335b in MessageComposer::emitDone (this=0xadb9740, b=false)
    at messagecomposer.cpp:364
#8  0xb5963418 in MessageComposer::doNextJob (this=0xadb9740)
    at messagecomposer.cpp:352
#9  0xb5b3e955 in MessageComposer::applyChanges (this=0xadb9740, 
    disableCrypto=false) at messagecomposer.cpp:333
#10 0xb5b3eb7f in KMComposeWin::applyChanges (this=0xad75de0, 
    dontSignNorEncrypt=false, dontDisable=false) at kmcomposewin.cpp:2219
#11 0xb5b69a42 in KMComposeWin::doSend (this=0xad75de0, 
    method=KMail::MessageSender::SendImmediate, saveIn=KMComposeWin::None)
    at kmcomposewin.cpp:3958
#12 0xb5b6a23a in KMComposeWin::slotSendNow (this=0xad75de0)
    at kmcomposewin.cpp:4131
#13 0xb5b6a7c7 in KMComposeWin::qt_invoke (this=0xad75de0, _id=81, 
    _o=0xbfdd946c) at kmcomposewin.moc:442
#14 0xb6487a5f in QObject::activate_signal (this=0x949c050, clist=0x949da60, 
    o=0xbfdd946c) at qobject.cpp:2356
#15 0xb64887f8 in QObject::activate_signal (this=0x949c050, signal=2)
    at qobject.cpp:2325
#16 0xb6f2e9be in KAction::activated (this=0x949c050) at kaction.moc:176
#17 0xb70228a1 in KAction::slotActivated (this=0x949c050) at kaction.cpp:1102
#18 0xb7021fbf in KAction::qt_invoke (this=0x949c050, _id=15, _o=0xbfdd95bc)
    at kaction.moc:218
#19 0xb702220b in KActionMenu::qt_invoke (this=0x949c050, _id=15, 
    _o=0xbfdd95bc) at kactionclasses.moc:1012
#20 0xb6487b8c in QObject::activate_signal (this=0xadcf5c8, clist=0xadcfab0, 
    o=0xbfdd95bc) at qobject.cpp:2380
#21 0xb64887f8 in QObject::activate_signal (this=0xadcf5c8, signal=4)
    at qobject.cpp:2325
#22 0xb688f4cf in QButton::clicked (this=0xadcf5c8) at moc_qbutton.cpp:152
#23 0xb653c508 in QButton::mouseReleaseEvent (this=0xadcf5c8, e=0xbfdd9ab4)
    at qbutton.cpp:836
#24 0xb6fa0168 in KToolBarButton::mouseReleaseEvent (this=0xadcf5c8, 
    e=0xbfdd9ab4) at ktoolbarbutton.cpp:472
#25 0xb64c8727 in QWidget::event (this=0xadcf5c8, e=0xbfdd9ab4)
    at qwidget.cpp:4677
#26 0xb6fa257e in KToolBarButton::event (this=0xadcf5c8, e=0xbfdd9ab4)
    at ktoolbarbutton.cpp:651
#27 0xb64131eb in QApplication::internalNotify (this=0xbfdda8cc, 
    receiver=0xadcf5c8, e=0xbfdd9ab4) at qapplication.cpp:2635
#28 0xb64154e9 in QApplication::notify (this=0xbfdda8cc, receiver=0xadcf5c8, 
    e=0xbfdd9ab4) at qapplication.cpp:2421
#29 0xb6cfdb54 in KApplication::notify (this=0xbfdda8cc, receiver=0xadcf5c8, 
    event=0xbfdd9ab4) at kapplication.cpp:550
#30 0xb639cd25 in QApplication::sendSpontaneousEvent (receiver=0xadcf5c8, 
    event=0xbfdd9ab4) at qapplication.h:499
#31 0xb639b986 in QETWidget::translateMouseEvent (this=0xadcf5c8, 
    event=0xbfdd9f58) at qapplication_x11.cpp:4298
#32 0xb6399b1c in QApplication::x11ProcessEvent (this=0xbfdda8cc, 
    event=0xbfdd9f58) at qapplication_x11.cpp:3449
#33 0xb63b293e in QEventLoop::processEvents (this=0x811b9a8, flags=4)
    at qeventloop_x11.cpp:192
#34 0xb6431205 in QEventLoop::enterLoop (this=0x811b9a8) at qeventloop.cpp:198
#35 0xb6414e2d in QApplication::enter_loop (this=0xbfdda8cc)
    at qapplication.cpp:2793
#36 0xb5b3ee13 in KMComposeWin::autoSaveMessage (this=0xad75de0)
    at kmcomposewin.cpp:720
#37 0xb5b6b06e in KMComposeWin::qt_invoke (this=0xad75de0, _id=147, 
    _o=0xbfdda2dc) at kmcomposewin.moc:508
#38 0xb6487a5f in QObject::activate_signal (this=0x96f50a8, clist=0xad9a368, 
    o=0xbfdda2dc) at qobject.cpp:2356
#39 0xb64887f8 in QObject::activate_signal (this=0x96f50a8, signal=2)
    at qobject.cpp:2325
#40 0xb68878e6 in QTimer::timeout (this=0x96f50a8) at moc_qtimer.cpp:82
#41 0xb64b6365 in QTimer::event (this=0x96f50a8, e=0xbfdda638)
    at qtimer.cpp:219
#42 0xb64131eb in QApplication::internalNotify (this=0xbfdda8cc, 
    receiver=0x96f50a8, e=0xbfdda638) at qapplication.cpp:2635
#43 0xb6415163 in QApplication::notify (this=0xbfdda8cc, receiver=0x96f50a8, 
    e=0xbfdda638) at qapplication.cpp:2358
#44 0xb6cfdb54 in KApplication::notify (this=0xbfdda8cc, receiver=0x96f50a8, 
    event=0xbfdda638) at kapplication.cpp:550
#45 0xb785c43e in QApplication::sendEvent (receiver=0x96f50a8, 
    event=0xbfdda638) at qapplication.h:496
#46 0xb6403fc0 in QEventLoop::activateTimers (this=0x811b9a8)
    at qeventloop_unix.cpp:556
#47 0xb63b33ab in QEventLoop::processEvents (this=0x811b9a8, flags=4)
    at qeventloop_x11.cpp:389
#48 0xb6431205 in QEventLoop::enterLoop (this=0x811b9a8) at qeventloop.cpp:198
#49 0xb6431026 in QEventLoop::exec (this=0x811b9a8) at qeventloop.cpp:145
#50 0xb6414eaf in QApplication::exec (this=0xbfdda8cc) at qapplication.cpp:2758
#51 0x0806594d in main (argc=152696784, argv=0x919fc40) at main.cpp:163
Comment 5 Thomas McGuire 2007-06-24 15:30:20 UTC
> I don't know if it matters, but when I upgraded kmail, I did not upgrade
> the whole 
Comment 6 Thomas McGuire 2007-06-24 15:59:26 UTC
*** Bug 147166 has been marked as a duplicate of this bug. ***
Comment 7 Bruno Virlet 2007-08-13 15:06:13 UTC
SVN commit 699554 by bvirlet:

Fixes event loop bug. Credit goes to Dirk.


BUG: 108312
BUG: 148700
BUG: 143003
BUG: 136365
BUG: 90467

Most probably closed:
BUG: 143776
BUG: 147016
BUG: 137279
BUG: 136413

https://bugzilla.novell.com/show_bug.cgi?id=226462


 M  +10 -17    kmcomposewin.cpp  
 M  +1 -1      kmcomposewin.h  


--- branches/KDE/3.5/kdepim/kmail/kmcomposewin.cpp #699553:699554
@@ -709,16 +709,22 @@
 
   if ( mAutoSaveTimer )
     mAutoSaveTimer->stop();
+
   connect( this, SIGNAL( applyChangesDone( bool ) ),
-           this, SLOT( slotContinueAutoSave( bool ) ) );
+           this, SLOT( slotContinueAutoSave() ) );
   // This method is called when KMail crashed, so don't try signing/encryption
   // and don't disable controls because it is also called from a timer and
   // then the disabling is distracting.
   applyChanges( true, true );
 
   // Don't continue before the applyChanges is done!
-  qApp->enter_loop();
+}
 
+void KMComposeWin::slotContinueAutoSave()
+{
+  disconnect( this, SIGNAL( applyChangesDone( bool ) ),
+              this, SLOT( slotContinueAutoSave( bool ) ) );
+
   // Ok, it's done now - continue dead letter saving
   if ( mComposedMessages.isEmpty() ) {
     kdDebug(5006) << "Composing the message failed." << endl;
@@ -761,16 +767,9 @@
   }
 
   if ( autoSaveInterval() > 0 )
-    mAutoSaveTimer->start( autoSaveInterval() );
+    updateAutoSave();
 }
 
-void KMComposeWin::slotContinueAutoSave( bool )
-{
-  disconnect( this, SIGNAL( applyChangesDone( bool ) ),
-              this, SLOT( slotContinueAutoSave( bool ) ) );
-  qApp->exit_loop();
-}
-
 //-----------------------------------------------------------------------------
 void KMComposeWin::slotView(void)
 {
@@ -2193,18 +2192,12 @@
 {
   kdDebug(5006) << "entering KMComposeWin::applyChanges" << endl;
 
-  if(!mMsg) {
+  if(!mMsg || mComposer) {
     kdDebug(5006) << "KMComposeWin::applyChanges() : mMsg == 0!\n" << endl;
     emit applyChangesDone( false );
     return;
   }
 
-  if( mComposer ) {
-    kdDebug(5006) << "KMComposeWin::applyChanges() : applyChanges called twice"
-                  << endl;
-    return;
-  }
-
   // Make new job and execute it
   mComposer = new MessageComposer( this );
   connect( mComposer, SIGNAL( done( bool ) ),
--- branches/KDE/3.5/kdepim/kmail/kmcomposewin.h #699553:699554
@@ -780,7 +780,7 @@
 
   void slotContinueDoSend( bool );
   void slotContinuePrint( bool );
-  void slotContinueAutoSave( bool );
+  void slotContinueAutoSave();
 
   void slotEncryptChiasmusToggled( bool );