Bug 69004 - another crash in kacctimap
Summary: another crash in kacctimap
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: IMAP (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 69671 69673 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-11-25 12:38 UTC by Grzegorz Jaskiewicz
Modified: 2007-09-14 12:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
vagrind logs (9.14 KB, application/x-tgz)
2003-12-08 18:19 UTC, Grzegorz Jaskiewicz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Grzegorz Jaskiewicz 2003-11-25 12:38:37 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          debian unstable up2dated gcc/g++ 
OS:          Linux

Seems to crash on attempt to send email ,
two backtraces, rather different.

I tried to figure out what might be wrong:
(kmacctimap.cpp)

  for (it = mMailCheckFolders.begin(); it != mMailCheckFolders.end(); it++)
  {
    KMFolder *folder = *it;
-->   if (folder && !folder->noContent())

Kmail is compiled with enable-debug=full, so i guess gcc won't change order in this if. But it might happend at some stage, when optimization is used. But that's not the case here.
Another thing, is that maybe (but how) *it is not KMFolder pointer ?
I don't have a clue, i am not able to correct this my self :/

Backtraces (two) follow:

[New Thread 16384 (LWP 27972)]
0x02ce7bb8 in waitpid () from /lib/libpthread.so.0
#0  0x02ce7bb8 in waitpid () from /lib/libpthread.so.0
#1  0x0563ade0 in __JCR_LIST__ () from /opt/kde/lib/libkdecore.so.4
#2  0x0557688c in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246
#3  0x02ce67f5 in __pthread_sighandler () from /lib/libpthread.so.0
#4  <signal handler called>
#5  0x003a1442 in KMAcctImap::processNewMail(bool) (this=0x9fa36d0,
    interactive=true) at kmacctimap.cpp:303
#6  0x00350585 in KMAcctMgr::processNextCheck(bool) (this=0x9f7a4e0,
    _newMail=false) at kmacctmgr.cpp:184
#7  0x0034ff16 in KMAcctMgr::singleCheckMail(KMAccount*, bool) (
    this=0x9f7a4e0, account=0x9fa36d0, _interactive=true) at kmacctmgr.cpp:118
#8  0x003509e2 in KMAcctMgr::checkMail(bool) (this=0x9f7a4e0,
    _interactive=true) at kmacctmgr.cpp:286
#9  0x00439a9f in KMMainWidget::slotCheckMail() (this=0x9f67c50)
    at kmmainwidget.cpp:730
#10 0x00437905 in KMMainWidget::readConfig() (this=0x9f67c50)
    at kmmainwidget.cpp:326
#11 0x00436661 in KMMainWidget (this=0x9f67c50, parent=0x9eb7170,
    name=0x485685 "KMMainWidget", actionCollection=0x9fcf400, config=0x9ef6088)
    at kmmainwidget.cpp:116
#12 0x0026e424 in KMMainWin (this=0x9eb7170) at kmmainwin.cpp:19
#13 0x003d4629 in KMKernel::openReader() (this=0xbff20330) at kmkernel.cpp:198
#14 0x003d9380 in KMKernel::action(bool, bool, QString const&, QString const&, QString const&, QString
 const&, QString const&, KURL const&, KURL::List const&)
    (this=0xbff20330, mailto=false, check=false, to=@0xbff1fca0,
    cc=@0xbff1fc90, bcc=@0xbff1fc80, subj=@0xbff1fc70, body=@0xbff1fc60,
    messageFile=@0xbff1fc30, attachURLs=@0xbff1fc20) at kmkernel.cpp:1262
#15 0x0804c5be in KMailApplication::newInstance() (this=0xbff20410)
    at main.cpp:159
#16 0x0559421f in KUniqueApplication::processDelayed() (this=0xbff20410)
    at kuniqueapplication.cpp:398
#17 0x055945bc in KUniqueApplication::qt_invoke(int, QUObject*) (
    this=0xbff20410, _id=18, _o=0xbff1fe10) at kuniqueapplication.moc:86
#18 0x0959222c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#19 0x098afbda in QSignal::signal(QVariant const&) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#20 0x095abcf6 in QSignal::activate() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#21 0x095b3383 in QSingleShotTimer::event(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#22 0x09536a6f in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#23 0x0953607b in QApplication::notify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#24 0x054ebdf3 in KApplication::notify(QObject*, QEvent*) (this=0xbff20410,
    receiver=0x9f6fc98, event=0xbff20180) at kapplication.cpp:509
#25 0x095265d5 in QEventLoop::activateTimers() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#26 0x094e318d in QEventLoop::processEvents(unsigned) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#27 0x0954a248 in QEventLoop::enterLoop() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#28 0x0954a0f8 in QEventLoop::exec() ()
  from /usr/local/qt-copy/lib/libqt-mt.so.3
#29 0x09536cc1 in QApplication::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#30 0x0804c7d4 in main (argc=7, argv=0xbff20584) at main.cpp:212

--------------------------- second ---------------------------------------

[New Thread 16384 (LWP 6865)]
0x063e0bb8 in waitpid () from /lib/libpthread.so.0
#0  0x063e0bb8 in waitpid () from /lib/libpthread.so.0
#1  0x0470cde0 in __JCR_LIST__ () from /opt/kde/lib/libkdecore.so.4
#2  0x0464888c in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246
#3  0x063df7f5 in __pthread_sighandler () from /lib/libpthread.so.0
#4  <signal handler called>
#5  0x01654d15 in QObject::disconnectInternal(QObject const*, int, QObject const*, int, int) () from /
usr/local/qt-copy/lib/libqt-mt.so.3
#6  0x01654b5d in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () fro
m /usr/local/qt-copy/lib/libqt-mt.so.3
#7  0x00bf82f0 in QObject::disconnect(char const*, QObject const*, char const*)
    (this=0xa29ff90, signal=0x0, receiver=0x0, member=0x0) at qobject.h:235
#8  0x00c77f1c in KMAcctImap::ignoreJobsForMessage(KMMessage*) (
    this=0x9172620, msg=0xa3a9028) at kmacctimap.cpp:210
#9  0x00c8d805 in KMFolderImap::ignoreJobsForMessage(KMMessage*) (
    this=0x917c190, msg=0xa3a9028) at kmfolderimap.cpp:922
#10 0x00cfb7e0 in KMCommand::transferSelectedMsgs() (this=0x9390778)
    at kmcommands.cpp:209
#11 0x00cfb487 in KMCommand::preTransfer() (this=0x9390778)
    at kmcommands.cpp:149
#12 0x00cfb263 in KMCommand::start() (this=0x9390778) at kmcommands.cpp:102
#13 0x00d12a20 in KMMainWidget::slotReplyToMsg() (this=0x9192af8)
    at kmmainwidget.cpp:1167
#14 0x00d0cd5c in KMMainWidget::qt_invoke(int, QUObject*) (this=0x9192af8,
    _id=174, _o=0xbfef8060) at kmmainwidget.moc:571
#15 0x0165522c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#16 0x01655064 in QObject::activate_signal(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#17 0x03e03dbe in KAction::activated() (this=0x92174c0) at kaction.moc:157
#18 0x03e03759 in KAction::slotActivated() (this=0x92174c0) at kaction.cpp:1054
#19 0x03e040bf in KAction::qt_invoke(int, QUObject*) (this=0x92174c0, _id=14,
    _o=0xbfef8160) at kaction.moc:181
#20 0x0165522c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#21 0x01655064 in QObject::activate_signal(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#22 0x0463ddb8 in KAccelPrivate::menuItemActivated() (this=0x92898c8)
    at kaccelprivate.moc:110
#23 0x0463c146 in KAccelPrivate::eventFilter(QObject*, QEvent*) (
    this=0x92898c8, pEvent=0xbfef8630) at kaccel.cpp:318
#24 0x01652dbe in QObject::activate_filters(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#25 0x01652cec in QObject::event(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#26 0x0168a1af in QWidget::event(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#27 0x01744162 in QMainWindow::event(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#28 0x015f9a6f in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#29 0x015f956e in QApplication::notify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#30 0x045bddf3 in KApplication::notify(QObject*, QEvent*) (this=0xbfef8b70,
    receiver=0x91fcc88, event=0xbfef8630) at kapplication.cpp:509
#31 0x00461046 in QApplication::sendEvent(QObject*, QEvent*) (
    receiver=0x91fcc88, event=0xbfef8630) at qapplication.h:490
#32 0x0463ad94 in KAccelEventHandler::x11Event(_XEvent*) (this=0x916f9e8,
    pEvent=0xbfef89a0) at kaccel.cpp:108
#33 0x045ce0fc in KAppX11HackWidget::publicx11Event(_XEvent*) (this=0x916f9e8,
    e=0xbfef89a0) at kapplication.cpp:1527
#34 0x045c23cb in KApplication::x11EventFilter(_XEvent*) (this=0xbfef8b70,
    _event=0xbfef89a0) at kapplication.cpp:1582
#35 0x01585cf8 in qt_x11EventFilter(_XEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#36 0x0158f93b in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#37 0x015a6521 in QEventLoop::processEvents(unsigned) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#38 0x0160d248 in QEventLoop::enterLoop() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#39 0x0160d0f8 in QEventLoop::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#40 0x015f9cc1 in QApplication::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#41 0x0804c7d4 in main (argc=7, argv=0xbfef8ce4) at main.cpp:212
Comment 1 Stephan Kulow 2003-11-25 16:16:04 UTC
you better run it in valgrind and stop reporting a duplicate each day :)
Comment 2 Grzegorz Jaskiewicz 2003-11-25 16:58:24 UTC
Subject: Re:  another crash in kacctimap         

On 25 Nov 2003, Stephan Kulow wrote:

> you better run it in valgrind and stop reporting a duplicate each day :)
Can do, i am running kde head for 4 users on the same machine. They are 
really good testers :-)



Comment 3 Stephan Kulow 2003-11-27 09:02:05 UTC
This is the result of the polish jury: Germany 2 points ;)

==7545== Invalid read of size 4
==7545==    at 0x58F3FB: QValueListIterator<QGuardedPtr<KMFolder> >::operator++(int) (qvaluelist.h:121)
==7545==    by 0x69B73C: KMAcctImap::processNewMail(bool) (kmacctimap.cpp:300)
==7545==    by 0x64A784: KMAcctMgr::processNextCheck(bool) (kmacctmgr.cpp:184)
==7545==    by 0x64A115: KMAcctMgr::singleCheckMail(KMAccount*, bool) (kmacctmgr.cpp:118)
==7545==    by 0x64ABE1: KMAcctMgr::checkMail(bool) (kmacctmgr.cpp:286)
==7545==    by 0x733FD6: KMMainWidget::slotCheckMail() (kmmainwidget.cpp:735)
==7545==    by 0x731E3C: KMMainWidget::readConfig() (kmmainwidget.cpp:331)
==7545==    by 0x730B6E: KMMainWidget::KMMainWidget(QWidget*, char const*, KActionCollection*, KConfig*) (kmmainwidget.c
pp:118)
==7545==    by 0x5686C7: KMMainWin::KMMainWin(QWidget*) (kmmainwin.cpp:19)
==7545==    by 0x6CE8A8: KMKernel::openReader() (kmkernel.cpp:198)
==7545==    by 0x6D35FF: KMKernel::action(bool, bool, QString const&, QString const&, QString const&, QString const&, QS
tring const&, KURL const&, KURL::List const&) (kmkernel.cpp:1262)
==7545==    by 0x804C5BD: KMailApplication::newInstance() (main.cpp:159)
==7545==    by 0x678DF65: KUniqueApplication::newInstanceNoFork() (kuniqueapplication.cpp:343)
==7545==    by 0x678E5C8: KUniqueApplication::qt_invoke(int, QUObject*) (kuniqueapplication.moc:87)
==7545==    Address 0x42455838 is 0 bytes inside a block of size 12 free'd
==7545==    at 0xA41DFD: __builtin_delete (vg_replace_malloc.c:244)
==7545==    by 0xA41E28: operator delete(void*) (vg_replace_malloc.c:253)
==7545==    by 0x5AAA87: QValueListPrivate<QGuardedPtr<KMFolder> >::clear() (qvaluelist.h:386)
==7545==    by 0x5A90BC: QValueList<QGuardedPtr<KMFolder> >::clear() (qvaluelist.h:590)
==7545==    by 0x69B82B: KMAcctImap::slotUpdateFolderList() (kmacctimap.cpp:346)
==7545==    by 0x69BD1A: KMAcctImap::qt_invoke(int, QUObject*) (kmacctimap.moc:113)
==7545==    by 0x17441A5: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/local/qt-copy/lib/libqt-mt.so.3
.2.2)
==7545==    by 0x1744063: QObject::activate_signal(int) (in /usr/local/qt-copy/lib/libqt-mt.so.3.2.2)
==7545==    by 0x6558F1: KMFolderMgr::changed() (kmfoldermgr.moc:130)
==7545==    by 0x654E20: KMFolderMgr::contentsChanged() (kmfoldermgr.cpp:347)
==7545==    by 0x654B23: KMFolderMgr::remove(KMFolder*) (kmfoldermgr.cpp:302)
==7545==    by 0x6B3709: KMFolderImap::processNewMail(bool) (kmfolderimap.cpp:1384)
==7545==    by 0x69B705: KMAcctImap::processNewMail(bool) (kmacctimap.cpp:318)
==7545==    by 0x64A784: KMAcctMgr::processNextCheck(bool) (kmacctmgr.cpp:184)
==7545==


==7545== Invalid read of size 4
==7545==    at 0x58F7D4: QGuardedPtrPrivate::object() const (qguardedptr.h:136)
==7545==    by 0x69B62B: KMAcctImap::processNewMail(bool) (kmacctimap.cpp:302)
==7545==    by 0x64A784: KMAcctMgr::processNextCheck(bool) (kmacctmgr.cpp:184)
==7545==    by 0x64A115: KMAcctMgr::singleCheckMail(KMAccount*, bool) (kmacctmgr.cpp:118)
==7545==    by 0x64ABE1: KMAcctMgr::checkMail(bool) (kmacctmgr.cpp:286)
==7545==    by 0x733FD6: KMMainWidget::slotCheckMail() (kmmainwidget.cpp:735)
==7545==    by 0x731E3C: KMMainWidget::readConfig() (kmmainwidget.cpp:331)
==7545==    by 0x730B6E: KMMainWidget::KMMainWidget(QWidget*, char const*, KActionCollection*, KConfig*) (kmmainwidget.cpp:118)
==7545==    by 0x5686C7: KMMainWin::KMMainWin(QWidget*) (kmmainwin.cpp:19)
==7545==    by 0x6CE8A8: KMKernel::openReader() (kmkernel.cpp:198)
==7545==    by 0x6D35FF: KMKernel::action(bool, bool, QString const&, QString const&, QString const&, QString const&, QString const&, KURL const&, KURL::List const&) (kmkernel.cpp:1262)
==7545==    by 0x804C5BD: KMailApplication::newInstance() (main.cpp:159)
==7545==    by 0x678DF65: KUniqueApplication::newInstanceNoFork() (kuniqueapplication.cpp:343)
==7545==    by 0x678E5C8: KUniqueApplication::qt_invoke(int, QUObject*) (kuniqueapplication.moc:87)
==7545==    Address 0x424589B4 is 44 bytes inside a block of size 48 free'd
==7545==    at 0xA41DFD: __builtin_delete (vg_replace_malloc.c:244)
==7545==    by 0xA41E28: operator delete(void*) (vg_replace_malloc.c:253)
==7545==    by 0x170E6C4: QGuardedPtrPrivate::~QGuardedPtrPrivate() (in /usr/local/qt-copy/lib/libqt-mt.so.3.2.2)
==7545==    by 0x59057D: QGuardedPtr<KMFolder>::deref() (qguardedptr.h:125)
==7545==    by 0x590532: QGuardedPtr<KMFolder>::~QGuardedPtr() (qguardedptr.h:82)
==7545==    by 0x590479: QValueListNode<QGuardedPtr<KMFolder> >::~QValueListNode() (qvaluelist.h:280)
==7545==    by 0x5AAA7C: QValueListPrivate<QGuardedPtr<KMFolder> >::clear() (qvaluelist.h:386)
==7545==    by 0x5A90BC: QValueList<QGuardedPtr<KMFolder> >::clear() (qvaluelist.h:590)
==7545==    by 0x69B82B: KMAcctImap::slotUpdateFolderList() (kmacctimap.cpp:346)
==7545==    by 0x69BD1A: KMAcctImap::qt_invoke(int, QUObject*) (kmacctimap.moc:113)
==7545==    by 0x17441A5: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/local/qt-copy/lib/libqt-mt.so.3.2.2)
==7545==    by 0x1744063: QObject::activate_signal(int) (in /usr/local/qt-copy/lib/libqt-mt.so.3.2.2)
==7545==    by 0x6558F1: KMFolderMgr::changed() (kmfoldermgr.moc:130)
==7545==    by 0x654E20: KMFolderMgr::contentsChanged() (kmfoldermgr.cpp:347)
==7545==
Comment 4 Till Adam 2003-11-27 15:01:54 UTC
Subject: Re:  another crash in kacctimap

On Thursday 27 November 2003 09:02, Stephan Kulow wrote:

> ------- Additional Comments From coolo@kde.org  2003-11-27 09:02 -------
> This is the result of the polish jury: Germany 2 points ;)

[snip backtraces]

Thanks, Coolo, this shows that while iterating over the list of folders to 
check mail in that list is modified because a folder is no longer present on 
the server. This leads to the iterator currently in use becoming invalid and 
a crash.

Folks, what's the cleanest way to fix this? Is there a safer way to work with 
QValueList iterators? maybe while(!end) and then immediate increment, before 
the list is potentially changed? Would that be safe?

Till



Comment 5 Till Adam 2003-11-27 15:21:22 UTC
And it looks like #68934 is another symptom of the same problem. Different backtrace, but same issue, I would guess.
Comment 6 Grzegorz Jaskiewicz 2003-11-27 17:00:35 UTC
Subject: Re:  another crash in kacctimap         

> ... this shows that while iterating over the list of folders to 
> check mail in that list is modified because a folder is no longer present on 
> the server. This leads to the iterator currently in use becoming invalid and 
> a crash.

Hang on, this happends on normal basis usage of email client. No folders 
are removed/added/moved whatsoever. Guy has 3 accounts, one pop3 and 2 
imap ones. Pop3 one is pasword proteced, and if he won't unlock it on 
kmail start, but later it won't crash (well, it still does but more 
randomly). That is all information i could get from him.

--
GJ 

Comment 7 Carsten Burghardt 2003-11-27 20:33:22 UTC
Subject: kdepim/kmail

CVS commit by burghard: 

This should fix 69004, 69157, 68992
Can anybody confirm this?

CCMAIL: 69004@bugs.kde.org
CCMAIL: 69157@bugs.kde.org
CCMAIL: 68992@bugs.kde.org


  M +5 -6      kmacctimap.cpp   1.146


--- kdepim/kmail/kmacctimap.cpp  #1.145:1.146
@@ -207,8 +207,5 @@ void KMAcctImap::ignoreJobsForMessage( K
     {
       if ( job->mJob )
-      {
-        job->mJob->disconnect();
         removeJob( job->mJob );
-      }
       mJobList.remove( job );
       delete job;
@@ -297,4 +294,5 @@ void KMAcctImap::processNewMail(bool int
     }
   }
+  bool gotError = false;
   // then check for new mails
   for (it = mMailCheckFolders.begin(); it != mMailCheckFolders.end(); it++)
@@ -321,11 +319,12 @@ void KMAcctImap::processNewMail(bool int
             // there was an error so cancel
             mCountRemainChecks--;
-            // just in case the folder is gone
-            slotUpdateFolderList();
-          }
+            gotError = true;
         }
       }
     }
   }
+  } // end for
+  if ( gotError )
+    slotUpdateFolderList();
 }
 


Comment 8 Grzegorz Jaskiewicz 2003-11-29 21:40:47 UTC
it still segfaults *g*

germany -3 points,  hehe

backtrace:
[New Thread 16384 (LWP 32609)]
0x030eebb8 in waitpid () from /lib/libpthread.so.0
#0  0x030eebb8 in waitpid () from /lib/libpthread.so.0
#1  0x06881d00 in __JCR_LIST__ () from /opt/kde/lib/libkdecore.so.4
#2  0x067bd748 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246
#3  0x030ed7f5 in __pthread_sighandler () from /lib/libpthread.so.0
#4  <signal handler called>
#5  0x01812180 in QGList::QGList(QGList const&) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#6  0x00c6e898 in QPtrList (this=0xbffa0f90, l=@0xa6526c8) at qptrlist.h:69
#7  0x00d07ef0 in KMail::FolderJob::msgList() const (this=0xa6526a0)
    at folderjob.cpp:86
#8  0x00c54b0a in KMAcctImap::ignoreJobsForFolder(KMFolder*) (this=0x9ff9cd8,
    folder=0x9fdd198) at kmacctimap.cpp:224
#9  0x00c65a8f in KMFolderImap::close(bool) (this=0x9fdd198, aForced=true)
    at kmfolderimap.cpp:88
#10 0x00bd257b in KMFolder::remove() (this=0x9fdd198) at kmfolder.cpp:721
#11 0x00c0e5bb in KMFolderMgr::removeFolderAux(KMFolder*) (this=0x9fdf3b0,
    aFolder=0x9fdd198) at kmfoldermgr.cpp:314
#12 0x00c0e456 in KMFolderMgr::remove(KMFolder*) (this=0x9fdf3b0,
    aFolder=0x9fdd198) at kmfoldermgr.cpp:300
#13 0x00c67cae in KMFolderImap::slotListResult(QStringList, QStringList, QStringList, KMail::ImapAccountBase::jobData const&) (this=0x9fda160, mSubfolderNames=
        {<QValueList<QString>> = {sh = 0xa0e4248}, <No data fields>},
    mSubfolderPaths=
        {<QValueList<QString>> = {sh = 0xa0e4220}, <No data fields>},
    mSubfolderMimeTypes=
        {<QValueList<QString>> = {sh = 0xa240d28}, <No data fields>},
    jobData=@0xa5e3328) at kmfolderimap.cpp:553
#14 0x00c6e0f0 in KMFolderImap::qt_invoke(int, QUObject*) (this=0x9fda160,
    _id=18, _o=0xbffa12e0) at kmfolderimap.moc:272
#15 0x015701a6 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#16 0x00c4e4b5 in KMail::ImapAccountBase::receivedFolders(QStringList, QStringList, QStringList, KMail::ImapAccountBase::jobData const&) (this=0x9ff9cd8, t0=
        {<QValueList<QString>> = {sh = 0xa0e4248}, <No data fields>}, t1=
        {<QValueList<QString>> = {sh = 0xa0e4220}, <No data fields>}, t2=
        {<QValueList<QString>> = {sh = 0xa240d28}, <No data fields>},
    t3=@0xa5e3328) at imapaccountbase.moc:164
#17 0x00c4d198 in KMail::ImapAccountBase::slotListResult(KIO::Job*) (
    this=0x9ff9cd8, job=0xb399e28) at imapaccountbase.cpp:397
#18 0x00c4e6d9 in KMail::ImapAccountBase::qt_invoke(int, QUObject*) (
    this=0x9ff9cd8, _id=6, _o=0xbffa14d0) at imapaccountbase.moc:185
#19 0x00c55734 in KMAcctImap::qt_invoke(int, QUObject*) (this=0x9ff9cd8,
    _id=6, _o=0xbffa14d0) at kmacctimap.moc:120
#20 0x0157022c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#21 0x01136547 in KIO::Job::result(KIO::Job*) (this=0xb399e28, t0=0xb399e28)
    at jobclasses.moc:156
#22 0x0112470c in KIO::Job::emitResult() (this=0xb399e28) at job.cpp:206
#23 0x01125e71 in KIO::SimpleJob::slotFinished() (this=0xb399e28)
    at job.cpp:530
#24 0x0112bf63 in KIO::ListJob::slotFinished() (this=0xb399e28) at job.cpp:1815
#25 0x01139a5d in KIO::ListJob::qt_invoke(int, QUObject*) (this=0xb399e28,
    _id=16, _o=0xbffa1750) at jobclasses.moc:1370
#26 0x0157022c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#27 0x01570064 in QObject::activate_signal(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#28 0x0111762f in KIO::SlaveInterface::finished() (this=0xb292520)
    at slaveinterface.moc:226
#29 0x01115df8 in KIO::SlaveInterface::dispatch(int, QMemArray<char> const&) (
    this=0xb292520, _cmd=104, rawdata=@0xbffa1930) at slaveinterface.cpp:255
#30 0x01115a9a in KIO::SlaveInterface::dispatch() (this=0xb292520)
    at slaveinterface.cpp:191
#31 0x011136cb in KIO::Slave::gotInput() (this=0xb292520) at slave.cpp:294
#32 0x01114fe7 in KIO::Slave::qt_invoke(int, QUObject*) (this=0xb292520,
    _id=4, _o=0xbffa1a50) at slave.moc:113
#33 0x0157022c in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#34 0x0157038d in QObject::activate_signal(int, int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#35 0x0188e9e2 in QSocketNotifier::activated(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#36 0x0158c1b0 in QSocketNotifier::event(QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#37 0x01514a6f in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#38 0x0151407b in QApplication::notify(QObject*, QEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#39 0x06732e63 in KApplication::notify(QObject*, QEvent*) (this=0xbffa2000,
    receiver=0xb3956c0, event=0xbffa1d70) at kapplication.cpp:509
#40 0x015047aa in QEventLoop::activateSocketNotifiers() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#41 0x014c1148 in QEventLoop::processEvents(unsigned) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#42 0x01528248 in QEventLoop::enterLoop() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#43 0x015280f8 in QEventLoop::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#44 0x01514cc1 in QApplication::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#45 0x0804c7d4 in main (argc=7, argv=0xbffa2174) at main.cpp:212

Comment 9 Carsten Burghardt 2003-11-30 13:14:20 UTC
Subject: kdepim/kmail

CVS commit by burghard: 

A little more security, this should also fix the very latest crash of #69004 and get germany 1 point back.

CCMAIL: 69004@bugs.kde.org


  M +1 -4      kmacctimap.cpp   1.147


--- kdepim/kmail/kmacctimap.cpp  #1.146:1.147
@@ -222,11 +222,8 @@ void KMAcctImap::ignoreJobsForFolder( KM
     ImapJob *job = it.current();
     ++it;
-    if ( job->msgList().first()->parent() == folder ) 
+    if ( !job->msgList().isEmpty() && job->msgList().first()->parent() == folder ) 
     {
       if ( job->mJob )
-      {
-        job->mJob->disconnect();
         removeJob( job->mJob );
-      }
       mJobList.remove( job );
       delete job;


Comment 10 Till Adam 2003-12-05 23:00:41 UTC
*** Bug 69671 has been marked as a duplicate of this bug. ***
Comment 11 Till Adam 2003-12-05 23:01:51 UTC
*** Bug 69673 has been marked as a duplicate of this bug. ***
Comment 12 Grzegorz Jaskiewicz 2003-12-08 18:19:38 UTC
Created attachment 3617 [details]
vagrind logs

just few valgrind logs. Those might help you guys.
Comment 13 Carsten Burghardt 2004-01-27 23:27:18 UTC
Do you still encounter this crash?
Comment 14 Grzegorz Jaskiewicz 2004-01-28 13:51:07 UTC
Subject: Re:  another crash in kacctimap

Nope, at least not in the same area :-)
i think it is safe to clos this bug

Comment 15 Carsten Burghardt 2004-01-28 14:27:22 UTC
As requested