Version: SVN (using Devel) Installed from: Compiled sources Compiler: gcc 4.1.2-Gentoo OS: Linux I use kmail with imap4 and tls. When I close kmail, the kio_sieve process goes immediately at 100% CPU-Usage and stays there. killing with SIGTERM is not possible, but of course killing with SIGKILL works.
I should add, that it happens regardless of authentication method.
Seem backtrace below: It busy-loops in operationSuccessful(), which calls receiveData() forever in a while loop, which calls readLine which returns -1 all the time. The return value isn't checked in receivedData() and true is returned. Testing a fix now. #0 KIO::TCPSlaveBase::readLine (this=0xbfffedbc, data=0xbfffe9cf "", len=511) at /source/kde/trunk/KDE/kdelibs/kio/kio/tcpslavebase.cpp:234 #1 0x03fd7ae7 in kio_sieveProtocol::receiveData (this=0xbfffedbc, waitForData=true, reparse=@0xbfffec6c) at /source/workspace/kdepimlibs-enterprise4/kioslave/sieve/sieve.cpp:1113 #2 0x03fd78d7 in kio_sieveProtocol::operationSuccessful (this=0xbfffedbc) at /source/workspace/kdepimlibs-enterprise4/kioslave/sieve/sieve.cpp:1189 #3 0x03fd7980 in kio_sieveProtocol::disconnect (this=0xbfffedbc, forcibly=false) at /source/workspace/kdepimlibs-enterprise4/kioslave/sieve/sieve.cpp:383 #4 0x03fd830b in kio_sieveProtocol::closeConnection (this=0xbfffedbc) at /source/workspace/kdepimlibs-enterprise4/kioslave/sieve/sieve.cpp:374 #5 0x005b0395 in KIO::SlaveBase::dispatchLoop (this=0xbfffedbc) at /source/kde/trunk/KDE/kdelibs/kio/kio/slavebase.cpp:292 #6 0x03fd91d0 in kdemain (argc=4, argv=0x40225d0) at /source/workspace/kdepimlibs-enterprise4/kioslave/sieve/sieve.cpp:81 #7 0x0000c7bb in launch (argc=4, _name=0x4016164 "kio_sieve", args=0x4016235 "", cwd=0x0, envc=0, envs=0x4016239 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x10fdc "0") at /source/kde/trunk/KDE/kdelibs/kinit/kinit.cpp:674 #8 0x0000d399 in handle_launcher_request (sock=6) at /source/kde/trunk/KDE/kdelibs/kinit/kinit.cpp:1235 #9 0x0000dc31 in handle_requests (waitForPid=0) at /source/kde/trunk/KDE/kdelibs/kinit/kinit.cpp:1424 #10 0x0000e4ee in main (argc=3, argv=0xbffff4cc, envp=0xbffff4dc) at /source/kde/trunk/KDE/kdelibs/kinit/kinit.cpp:1882
Created attachment 25368 [details] proposed patch
SVN commit 820965 by osterfeld: Check readLine's return value and return false on error, thus do not busy-wait forever when shutting down kio_sieve instances BUG:163695 M +3 -1 sieve.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=820965