[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 242698] crash when changing mail check interval
From:       Alex Merry <kde () randomguy3 ! me ! uk>
Date:       2010-07-25 0:56:02
Message-ID: 20100725005602.86A764A4FF () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=242698


Alex Merry <kde@randomguy3.me.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |kde@randomguy3.me.uk
         Resolution|WORKSFORME                  |




--- Comment #3 from Alex Merry <kde randomguy3 me uk>  2010-07-25 02:55:55 ---
So... I occasionally get this crash (but only very occasionally).  I'm not sure
where I should set KIMAP_LOGFILE so that it is picked up by the akonadi
resource.

However, I do have it open in GDB, and I'm having trouble figuring out how it
got to that state.

The relevant part of the backtrace is:
#11 0x000000000042785a in QList<long long>::first (this=0xa67e68) at
/usr/include/QtCore/qlist.h:263
#12 0x000000000044fcb4 in QList<long long>::takeFirst (this=0xa67e68) at
/usr/include/QtCore/qlist.h:460
#13 0x000000000044dc01 in SessionPool::declareSessionReady (this=0xa67e20,
session=0xd64810) at
/home/kde-devel/src/KDE/kdepim/runtime/resources/imap/sessionpool.cpp:178
#14 0x000000000044e6b4 in SessionPool::onLoginDone (this=0xa67e20,
job=0xaa08d0) at
/home/kde-devel/src/KDE/kdepim/runtime/resources/imap/sessionpool.cpp:299
#15 0x000000000044f50b in SessionPool::qt_metacall (this=0xa67e20,
_c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fff07eeebe0)
    at
/home/kde-devel/build/KDE/kdepim/runtime/resources/imap/sessionpool.moc:117
#16 0x00007fb8563d2def in QMetaObject::activate (sender=0xaa08d0, m=<value
optimized out>, local_signal_index=<value optimized out>, argv=0x7fff07eeebe0)
at kernel/qobject.cpp:3287
#17 0x00007fb852ba383f in KJob::result (this=0xaa08d0, _t1=0xaa08d0) at
/home/kde-devel/build/KDE/kdelibs/kdecore/kjob.moc:194
#18 0x00007fb852ba2cad in KJob::emitResult (this=0xaa08d0) at
/home/kde-devel/src/KDE/kdelibs/kdecore/jobs/kjob.cpp:312
#19 0x00007fb854e75b6d in KIMAP::LoginJob::handleResponse (this=0xaa08d0,
response=...) at /home/kde-devel/src/KDE/kdepimlibs/kimap/loginjob.cpp:286

OK, so we came from a LoginJob.  That means that onPasswordRequestDone must
have been called, which means that m_passwordRequester->requestPassword() must
have been called from processPendingRequests(), since m_initialConnectDone is
true.  m_idlePool.size() is 0, but m_reservedPool.size() is 3 and m_maxPoolSize
is 2, which doesn't seem to make sense.  The entries in m_reservedPool (in
order) are the ImapResource m_mainSession, the ImapIdleManager m_session (ie:
m_idle->m_session from the ImapResource) and the session that's just been
logged in.

Clearly this last session should never have been requested, which seems to
imply that onPasswordRequestDone is being triggered erroneously.

Anyway, I've put in a bunch of debug statements, so next time I get this crash,
I'll see what information they give.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic