Bug 136413 - Kontact crashed when closing; after having shut down IMAP server before (backtrace with debug-symbols)
Summary: Kontact crashed when closing; after having shut down IMAP server before (back...
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-28 14:41 UTC by Daniel Hahler
Modified: 2007-08-13 15:06 UTC (History)
0 users

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 Daniel Hahler 2006-10-28 14:41:06 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Ubuntu Packages

Kontact crashed, when I've closed it. Before doing so, I've stopped one of the IMAP servers I'm using (for testing).

May be KMail's or Akrekator's fault though. Both appear in the backtrace.


Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1241949392 (LWP 30868)]
[New Thread -1295541344 (LWP 31005)]
[New Thread -1287148640 (LWP 31004)]
[New Thread -1278755936 (LWP 31003)]
[New Thread -1270363232 (LWP 31002)]
[KCrash handler]
#28 0xb730bd7a in QGList::first () from /usr/lib/libqt-mt.so.3
#29 0xb71575d1 in QPtrList<QSplitterLayoutStruct>::first ()
   from /usr/lib/libqt-mt.so.3
#30 0xb7152f7f in QSplitter::sizes () from /usr/lib/libqt-mt.so.3
#31 0xb5563aeb in Akregator::View::saveSettings (this=0x8481b28)
    at /build/buildd/kdepim-3.5.5/./akregator/src/akregator_view.cpp:420
#32 0xb5563ce2 in Akregator::Part::saveSettings (this=0x83f7b68)
    at /build/buildd/kdepim-3.5.5/./akregator/src/akregator_part.cpp:298
#33 0xb5594cd3 in Akregator::Part::slotOnShutdown (this=0x83f7b68)
    at /build/buildd/kdepim-3.5.5/./akregator/src/akregator_part.cpp:261
#34 0xb5594e51 in Akregator::Part::qt_invoke (this=0x83f7b68, _id=16, 
    _o=0xbf988b0c) at ./akregator_part.moc:222
#35 0xb7010a84 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#36 0xb70113fc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#37 0xb75ea8ec in KApplication::shutDown (this=0xbf989300)
    at ./kapplication.moc:234
#38 0xb75ebe8b in KApplication::qt_emit (this=0xbf989300, _id=15, 
    _o=0xbf988c1c) at ./kapplication.moc:278
#39 0xb75ebedb in KUniqueApplication::qt_emit (this=0xbf989300, _id=15, 
    _o=0xbf988c1c) at ./kuniqueapplication.moc:96
#40 0xb7010a58 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#41 0xb70113fc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#42 0xb73955a7 in QApplication::aboutToQuit () from /usr/lib/libqt-mt.so.3
#43 0xb6fc233a in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#44 0xb6fa96af in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3
#45 0xb488aa50 in KMComposeWin::autoSaveMessage (this=0x9e71e80)
    at /build/buildd/kdepim-3.5.5/./kmail/kmcomposewin.cpp:692
#46 0xb49668fb in KMKernel::dumpDeadLetters (this=0x8938590)
    at /build/buildd/kdepim-3.5.5/./kmail/kmkernel.cpp:1796
#47 0xb496e5af in KMKernel::cleanup (this=0x8938590)
    at /build/buildd/kdepim-3.5.5/./kmail/kmkernel.cpp:1585
#48 0xb4b89d60 in ~KMailPart (this=0x9153000)
    at /build/buildd/kdepim-3.5.5/./kmail/kmail_part.cpp:160
#49 0x08060b40 in ~MainWindow (this=0x810f108)
    at /build/buildd/kdepim-3.5.5/./kontact/src/mainwindow.cpp:190
#50 0xb7010020 in QObject::event () from /usr/lib/libqt-mt.so.3
#51 0xb704765b in QWidget::event () from /usr/lib/libqt-mt.so.3
#52 0xb711dc5e in QMainWindow::event () from /usr/lib/libqt-mt.so.3
#53 0xb6fa7b88 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#54 0xb6faa552 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#55 0xb76d0db2 in KApplication::notify (this=0xbf989300, receiver=0x810f108, 
    event=0x9e2b3a8)
    at /build/buildd/kdelibs-3.5.5/./kdecore/kapplication.cpp:550
#56 0xb6f3a389 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#57 0xb6fa8bc0 in QApplication::sendPostedEvents ()
   from /usr/lib/libqt-mt.so.3
#58 0xb6fc234e in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#59 0xb6fc206e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#60 0xb6fa9731 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#61 0x0805ad81 in main (argc=1, argv=0x93d4218)
    at /build/buildd/kdepim-3.5.5/./kontact/src/main.cpp:161
#62 0xb776e8cc in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#63 0x08058311 in _start ()
Comment 1 Bruno Virlet 2007-08-13 15:06:09 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 );