Bug 122824

Summary: Hang on exit after deleting a file from the list
Product: [Applications] kget Reporter: Christian D. <christiand59>
Component: generalAssignee: KGet authors <kget>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christian D. 2006-02-28 08:46:29 UTC
Version:           v0.8.5 (using KDE 3.5.1, Kubuntu Package 4:3.5.1-0ubuntu7 dapper)
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.15-16-686

I was downloading a large file (> 230MB), and canceled it after ca. 60%. Then I pressed Ctrl+Q to exit KGet but it hanged, hogging the cpu. I attached gdb and made a backtrace but I suspect it's not very useful. Maybe a deadlock?!

0x4c09b443 in memmove () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0  0x4c09b443 in memmove () from /lib/tls/i686/cmov/libc.so.6
#1  0x4cbcbc40 in QString::remove () from /usr/lib/libqt-mt.so.3
#2  0x0806849b in ?? ()
#3  0x7f9f4e78 in ?? ()
#4  0x0000cb2d in ?? ()
#5  0x00000013 in ?? ()
#6  0x00000001 in ?? ()
#7  0x081cea50 in ?? ()
#8  0x4cd5a65c in ?? () from /usr/lib/libqt-mt.so.3
#9  0x7f9f4e38 in ?? ()
#10 0x081ce2f8 in ?? ()
#11 0x081cea50 in ?? ()
#12 0x08189b00 in ?? ()
#13 0x003c003e in ?? ()
#14 0x081519f0 in ?? ()
#15 0x081519f0 in ?? ()
#16 0x7f9f4e78 in ?? ()
#17 0x7f9f4e88 in ?? ()
#18 0x0806ed77 in ?? ()
#19 0x7f9f4e78 in ?? ()
#20 0x081563f8 in ?? ()
#21 0x080b40c0 in ?? ()
#22 0x7f9f4e78 in ?? ()
#23 0x4c09334a in free () from /lib/tls/i686/cmov/libc.so.6
Previous frame inner to this frame (corrupt stack?)
(gdb)
Comment 1 Ariel Garcia 2006-11-05 12:04:04 UTC
I can confirm this bug, on a quite different setup, although still
kget 0.8.5:
KDE_3.5.5, from Debian packages.
QT 3.3.7
Debian's Libc6 2.3.6
Kernel vanilla 2.6.17.6

This bug was also happening with the libc6-xen libraries (instead of the libc6-i686 i currently installed), and was also happening before with other versions of kernel/libc/libqt since kde 3.5.x with x=3 i think (i could be wrong, of course, but it doesn't seem to me that kget was already missbehaving in such an old version of kde3.5.1 for me.... probably i had an earlier version of kget at that time, in any case it was debian's default version for the corresponding KDE).

In my case, it happens quite often (but not always) when quitting kget after having finished a download (opening and closing again w/o downloading does not trigger it), even with a smaller download (5MB). When that happens, kget starts using 100% cpu.

BTW, i get exactly the same stacktrace as the reporter above, although after a while (disconnecting and reconnecting gdb) i get:

(gdb) bt
#0  0xb6e641e0 in QChar::QChar () from /usr/lib/libqt-mt.so.3
#1  0xb7288f41 in QString::find () from /usr/lib/libqt-mt.so.3
#2  0x08078667 in ?? ()
#3  0xbfb1dc88 in ?? ()

or even

(gdb) bt
#0  0xb7288f41 in QString::find () from /usr/lib/libqt-mt.so.3
#1  0x08078667 in ?? ()

Thanks, Ariel
Comment 2 Urs Wolfer 2007-03-30 17:50:57 UTC
Due to the move from the make_kget_cool branch back into kdenetwork, this issue has been resolved.

For more details about the new KGet please have a look at this page (1st article):
http://commit-digest.org/issues/2007-02-25/
Comment 3 Christian D. 2007-03-30 23:13:48 UTC
Verry nice work! ;-) Thank you!!