Bug 664579

Summary: kio_imap4 endless loop
Product: [Fedora] Fedora Reporter: Paul Ezvan <paul>
Component: kdepimAssignee: Than Ngo <than>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: jreznik, kevin, ltinkl, rdieter, rnovacek, ry, smparrish, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-16 21:09:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Paul Ezvan 2010-12-20 20:05:16 UTC
Description of problem:
While using Kmail to grab mails from my imap4 account, the process kio_imap4 take all cpu after a few seconds and then kmail wait indefinitely for getting new mail. It happens when I try to open folder containing large amount of mail (more than a few thousands). 

Version-Release number of selected component (if applicable):

kdepim-4.4.8-1.fc14.x86_64

How reproducible:

Each time for big folders.

Steps to Reproduce:
1. Open Kmail
2. Open big folder on imap account
3.
  
Actual results:

Kmail is blocked, kio_imap4 taking all cpu.

Expected results:
Mail refreshed.

Additional info:

I tried to get a backtrace of kio_imap4, using gdb kio_imap4 29404 (is this the correct way ? ), here it is :

#0  0x00007fec550e6fd8 in ref (inWords=..., stopAtBracket=false) at /usr/include/QtCore/qatomic_x86_64.h:121
#1  QByteArray (inWords=..., stopAtBracket=false) at /usr/include/QtCore/qbytearray.h:382
#2  imapParser::parseOneWord (inWords=..., stopAtBracket=false) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1981
#3  0x00007fec550ef6a5 in imapParser::parseBody (this=0x27fc080, inWords=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1328
#4  0x00007fec550f01d2 in imapParser::parseFetch (this=0x27fc080, inWords=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1490
#5  0x00007fec550f0f85 in imapParser::parseUntagged (this=0x27fc080, result=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:495
#6  0x00007fec550f14fe in imapParser::parseLoop (this=0x27fc080) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1743
#7  0x00007fec550dffd8 in IMAP4Protocol::get (this=0x27fc050, _url=<value optimized out>) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:338
#8  0x0000003ffd3928a5 in KIO::SlaveBase::dispatch (this=0x27fc050, command=67, data=...) at /usr/src/debug/kdelibs-4.5.4/kio/kio/slavebase.cpp:1013
#9  0x00007fec550ca844 in IMAP4Protocol::dispatch (this=0x27fc050, command=67, data=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:1828
#10 0x0000003ffd38cbc3 in KIO::SlaveBase::dispatchLoop (this=0x27fc050) at /usr/src/debug/kdelibs-4.5.4/kio/kio/slavebase.cpp:282
#11 0x00007fec550cb558 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:131
#12 0x0000000000406bf9 in launch (argc=4, _name=0x27e28c8 "kio_imap4", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, 
    envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40ac76 "0")
    at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:723
#13 0x00000000004077a0 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>)
    at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1215
#14 0x0000000000407ec5 in handle_requests (waitForPid=<value optimized out>) at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1408
#15 0x0000000000408b10 in main (argc=4, argv=0x7fff2d6d5d48, envp=0x7fff2d6d5d70) at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1892

An another one on the same process, 30 minutes later :
#0  0x00007fec550c2f06 in deref (this=0x7fff2d6d38b0, __in_chrg=<value optimized out>) at /usr/include/QtCore/qatomic_x86_64.h:133
#1  QByteArray::~QByteArray (this=0x7fff2d6d38b0, __in_chrg=<value optimized out>) at /usr/include/QtCore/qbytearray.h:383
#2  0x00007fec550ef6b8 in imapParser::parseBody (this=0x27fc080, inWords=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1328
#3  0x00007fec550f01d2 in imapParser::parseFetch (this=0x27fc080, inWords=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1490
#4  0x00007fec550f0f85 in imapParser::parseUntagged (this=0x27fc080, result=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:495
#5  0x00007fec550f14fe in imapParser::parseLoop (this=0x27fc080) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imapparser.cpp:1743
#6  0x00007fec550dffd8 in IMAP4Protocol::get (this=0x27fc050, _url=<value optimized out>) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:338
#7  0x0000003ffd3928a5 in KIO::SlaveBase::dispatch (this=0x27fc050, command=67, data=...) at /usr/src/debug/kdelibs-4.5.4/kio/kio/slavebase.cpp:1013
#8  0x00007fec550ca844 in IMAP4Protocol::dispatch (this=0x27fc050, command=67, data=...) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:1828
#9  0x0000003ffd38cbc3 in KIO::SlaveBase::dispatchLoop (this=0x27fc050) at /usr/src/debug/kdelibs-4.5.4/kio/kio/slavebase.cpp:282
#10 0x00007fec550cb558 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepimlibs-4.5.4/kioslave/imap4/imap4.cpp:131
#11 0x0000000000406bf9 in launch (argc=4, _name=0x27e28c8 "kio_imap4", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, 
    envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40ac76 "0")
    at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:723
#12 0x00000000004077a0 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>)
    at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1215
#13 0x0000000000407ec5 in handle_requests (waitForPid=<value optimized out>) at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1408
#14 0x0000000000408b10 in main (argc=4, argv=0x7fff2d6d5d48, envp=0x7fff2d6d5d70) at /usr/src/debug/kdelibs-4.5.4/kinit/kinit.cpp:1892

Comment 1 Rex Dieter 2010-12-20 20:21:46 UTC
This would be best sent upstream to bugs.kde.org or even mailing list 
https://mail.kde.org/mailman/listinfo/kdepim-users
for feedback.

Comment 2 Fedora End Of Life 2012-08-16 21:09:58 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping