Version: (using KDE KDE 3.2.0) Installed from: SuSE RPMs Compiler: gcc 3.3.1 OS: Linux Using the latest KDE and QT RPM packages from ftp.suse.com the "Slave" thread reproducably locks up when either starting or finishing the second transfer since kget has been started. In the first case only the "Slave" never wakes up from - worker.wait(); (line number 108 of slave.cpp) in the second case the whole application hangs at - m_pSlave->wait(); (line number 168 of transfer.cpp) If the second transfer already hangs at the beginning, all subsequent transfers also hang. KGet locks up completely if one tries to quit it. This is by no means meant offensively ... but I really wonder why KGet needs more than one thread if KIO::GetFileJob already does all the work asynchronously. I was able to solve the problem by removing multi-threading from KGet (see attached diff). The GUI is exactly as responsive as before. Be warned, though: Although it does work for me, I might have overlooked some things ... Well, maybe it's just a bug in Qt or some other library and it isn't even KGet's fault ... however, I still think it's alot cleaner to remove the unneeded threading :)
Created attachment 4579 [details] remove threading
*** Bug 75944 has been marked as a duplicate of this bug. ***
Please see also my patch that doesn't remove threading support, but fix it ! See bug 75737 attachment 4954 [details]. Bye
I can confirm that the patch by i.linty@regione.vda.it as well as my patch at attachement 4860 solve this issue for me. I would combine both patches, but there is still some work left, if you want to keep the threaded version: 1. Is a stack really better than a queue for class slave? 2. One should never call QThread::terminate(). A term command is the correct way to tell class slave to come to an end. Then one has to two options. On the one hand one can wait with QThread::wait() or on the other hand one sets the slave thread to the detached state and forgets it, which is not so easy with Qt as far as I know.
*** Bug 76772 has been marked as a duplicate of this bug. ***
*** Bug 75737 has been marked as a duplicate of this bug. ***
confirm this bug using kde 3.2.1 release
I can confirm that KGet in 3.2.1 (installed via Gentoo ebuild, with kernel version 2.6.3) does tend to hang frequently and it seems to be when I try to download more than one file (i.e. on the second transfer). Also, the patch contributed by i.linty@regione.vda.it (attachment 4954 [details]) fixed the same problem in the 3.2.0 release. After I patched it, KGet worked fine until I upgraded to 3.2.1 and now the problem is back.
Hi, can you verify this behaviour with version CVS. I have committed minimal change two weeks ago. Unfortunately it was to late for 3.2.1. I would too prefer to remove threading from kget, as it is overengineered in my mind.
Sorry about the delay in replying. I've just checked out kdenetwork from CVS and built kget, and can confirm that it seems to be working correctly. At least, I've downloaded several things with it and it hasn't hung like it did previously.
I can't tell you how sick of this bug I am. Glad to see that someone has a patch for it, even though it prevents threading.
*** This bug has been marked as a duplicate of 75429 ***