[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 203715] kio_imap4 eats randomly too much cpu
From: Tomas Trnka <TomTrnka () seznam ! cz>
Date: 2010-01-06 23:23:19
Message-ID: 20100106232319.DAA742F9FB () immanuel ! kde ! org
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=203715
Tomas Trnka <TomTrnka@seznam.cz> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |TomTrnka@seznam.cz
--- Comment #3 from Tomas Trnka <TomTrnka seznam cz> 2010-01-07 00:23:17 ---
I had recently been hitting this bug few times a day and today I finally found
time to investigate it.
kio_imap4 falls into an infinite loop if any connection error occurs during
authentication (e.g. connection is suddenly lost). The backtrace looks like
this:
#0 0x00007f86a8bdd91e in IMAP4Protocol::parseReadLine (this=0xdea4e0,
buffer=<value optimized out>, relay=0)
at /usr/src/debug/kdepimlibs-4.3.4/kioslave/imap4/imap4.cpp:766
#1 0x00007f86a8c08ef2 in imapParser::parseLoop (this=0xdea510)
at /usr/src/debug/kdepimlibs-4.3.4/kioslave/imap4/imapparser.cpp:1725
#2 0x00007f86a8c0b863 in imapParser::clientAuthenticate (this=0xdea510,
slave=<value optimized out>,
ai=<value optimized out>, aFQDN=<value optimized out>, aAuth=<value
optimized out>, isSSL=<value optimized out>,
resultInfo=<value optimized out>) at
/usr/src/debug/kdepimlibs-4.3.4/kioslave/imap4/imapparser.cpp:268
#3 0x00007f86a8be15fd in IMAP4Protocol::makeLogin (this=0xdea4e0)
at /usr/src/debug/kdepimlibs-4.3.4/kioslave/imap4/imap4.cpp:2133
When IMAP4Protocol::parseReadLine detects it's not connected, it returns false.
This causes imapParser::parseLoop to return -1. However,
imapParser::clientAuthenticate doesn't check for this and (using a while(true)
loop) keeps retrying indefinitely.
This should be trivial to fix (properly check the return value of
imapParser::parseLoop and bail out if -1). However, I do not currently have
time to test the fix properly, so it will have to wait for a week or so...
--
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