Bug 245589

Summary: Crash when trying to resume stuck download
Product: [Applications] kget Reporter: squan
Component: generalAssignee: KGet authors <kget>
Status: RESOLVED FIXED    
Severity: crash CC: bo.s.petersen, mat69
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description squan 2010-07-24 00:11:12 UTC
Application: kget (2.4.4)
KDE Platform Version: 4.4.4 (KDE 4.4.4) "release 2"
Qt Version: 4.6.3
Operating System: Linux 2.6.34-12-default i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
A  download stuck at 57% (status "Stehengeblieben").
Because resuming was not possible I quit kget and restarted it.
The state was now shown as stopped ("Angehalten").
When trying to resume it kget crashed.
The crash was reproducable two times (two restarts).
On third restart kget completely forgot all its configuration settings and its download histor.y.


The crash can be reproduced every time.

 -- Backtrace:
Application: KGet (kget), signal: Segmentation fault
[KCrash Handler]
#6  KIO::FileJob::close (this=0x82a8a68) at /usr/src/debug/kdelibs-4.4.4/kio/kio/filejob.cpp:112
#7  0xb70e805c in DataSourceFactory::killPutJob (this=0x82d89c8) at /usr/src/debug/kdenetwork-4.4.4/kget/core/datasourcefactory.cpp:810
#8  0xb70e9e77 in DataSourceFactory::~DataSourceFactory (this=0x82d89c8, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/datasourcefactory.cpp:74
#9  0xb70ea032 in DataSourceFactory::~DataSourceFactory (this=0x82d89c8, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/datasourcefactory.cpp:77
#10 0xb6911d64 in QObjectPrivate::deleteChildren (this=0x82e00c8) at kernel/qobject.cpp:1986
#11 0xb691652e in QObject::~QObject (this=0x82baa38, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#12 0xb70c7026 in Job::~Job (this=0x82baa38, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/job.cpp:29
#13 0xb70ddfb0 in Transfer::~Transfer (this=0x82baa38, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/transfer.cpp:64
#14 0xb331327a in ~TransferMultiSegKio (this=0x82baa38, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/transfer-plugins/multisegmentkio/transfermultisegkio.h:29
#15 TransferMultiSegKio::~TransferMultiSegKio (this=0x82baa38, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/transfer-plugins/multisegmentkio/transfermultisegkio.h:29
#16 0xb6911d64 in QObjectPrivate::deleteChildren (this=0x81fdc50) at kernel/qobject.cpp:1986
#17 0xb691652e in QObject::~QObject (this=0x81c3c40, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#18 0xb70c7688 in JobQueue::~JobQueue (this=0x81c3c40, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/jobqueue.cpp:25
#19 0xb70e0703 in TransferGroup::~TransferGroup (this=0x81c3c40, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/transfergroup.cpp:39
#20 0xb70e07b2 in TransferGroup::~TransferGroup (this=0x81c3c40, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/transfergroup.cpp:41
#21 0xb6911d64 in QObjectPrivate::deleteChildren (this=0x8129ba0) at kernel/qobject.cpp:1986
#22 0xb691652e in QObject::~QObject (this=0x8129b70, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#23 0xb70d5f87 in Scheduler::~Scheduler (this=0x8129b70, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/scheduler.cpp:30
#24 0xb70e608a in ~TransferGroupScheduler (this=0x8129b70, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/transfergroupscheduler.cpp:23
#25 TransferGroupScheduler::~TransferGroupScheduler (this=0x8129b70, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/transfergroupscheduler.cpp:25
#26 0xb70c8504 in KGet::~KGet (this=0x81d74f0, __in_chrg=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/core/kget.cpp:757
#27 0x080da41d in MainWindow::~MainWindow (this=0x81775f8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/mainwindow.cpp:115
#28 0x080da540 in MainWindow::~MainWindow (this=0x81775f8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /usr/src/debug/kdenetwork-4.4.4/kget/mainwindow.cpp:116
#29 0x080e3f30 in ~KGetApp (argc=) at /usr/src/debug/kdenetwork-4.4.4/kget/main.cpp:39
#30 main (argc=) at /usr/src/debug/kdenetwork-4.4.4/kget/main.cpp:182

Reported using DrKonqi
Comment 1 squan 2010-07-24 10:53:55 UTC
It's a bit confusing for me but after another kget restart I found the download history properly restored.
The stuck download was still shown as cancelled ("Angehalten").

So I tried to restart the download from the browser.
This resulted in kget showing the usual popup to delete the incomplete file an to start over and at the same time continuing the stuck download!
I did not confirm the popup dialog.

Thus beside the crash I would consider the precedent stuck download situation a bug on its own.
Comment 2 Matthias Fuchs 2010-08-10 19:53:37 UTC
SVN commit 1161727 by mfuchs:

Checks if the putjob deletes itself.
BUG:245589

 M  +6 -0      datasourcefactory.cpp  
 M  +1 -0      datasourcefactory.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1161727
Comment 3 Matthias Fuchs 2010-08-10 19:57:07 UTC
SVN commit 1161729 by mfuchs:

Fowardport r1161727
Checks if the putjob deletes itself.
CCBUG:245589

 M  +6 -0      datasourcefactory.cpp  
 M  +1 -0      datasourcefactory.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1161729
Comment 4 Matthias Fuchs 2010-08-10 20:07:28 UTC
The crash should not appear anymore with KDE 4.5.1.
Please create an own bug report for the issue of the stuck download, also detailing the url (if there are no privacy issues) if it happens often etc.
Comment 5 Matthias Fuchs 2010-11-13 17:19:10 UTC
*** Bug 256788 has been marked as a duplicate of this bug. ***