Bug 178255

Summary: kget not downloading any file
Product: [Unmaintained] kio Reporter: Ruchir Brahmbhatt <ruchir.brahmbhatt>
Component: generalAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: normal CC: diogo, dplater, finex, gwynned, jimhuyiwei, mat69, paulo.miguel.dias, steven_w_levine
Priority: NOR    
Version: SVN   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Unspecified   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ruchir Brahmbhatt 2008-12-20 08:08:00 UTC
Version:            (using Devel)
Installed from:    Compiled sources

OS: opensuse 11.0
KDE: 4.2 beta 2

Description:
Kget is not downloading any file I try to download from it. It always stays as delayed and doesn't start at all.

Steps to reproduce:
1. Add new download and enter url of file.

Expected result:
Download should start

Actual result:
Download status stays delayed and download doesn't start at all.
Comment 1 Lukas Appelhans 2008-12-20 11:41:14 UTC
Can u try to delete all kio* configs in .kde4/share/config (probably .kde even)?

Lukas
Comment 2 Ruchir Brahmbhatt 2008-12-20 11:51:47 UTC
I moved all kio* configs from .kde4/share/config but same. Do I need to restart kde after removing the files?
Comment 3 Lukas Appelhans 2008-12-20 12:03:10 UTC
Normally not, but KGet...
This is strange anyway, it occured for me *sometimes*, but not anymore since some time already.

Lukas
Comment 4 Ruchir Brahmbhatt 2008-12-20 12:27:18 UTC
I rebooted my laptop and tried again but no luck.

Downloading file: http://ftp.daum.net/opensuse/distribution/11.1/iso/openSUSE-11.1-DVD-i586.iso

I can reproduce every time. 
Comment 5 FiNeX 2008-12-21 00:12:20 UTC
@Ruchir: does the download start if you open kget, select the transfer and click on the button "start/resume" ?
Comment 6 Ruchir Brahmbhatt 2008-12-21 07:20:15 UTC
@FiNeX: I tried to click start/resume selected and all. Also tried stop and resume but no luck.
Comment 7 Diogo 2008-12-21 14:59:26 UTC
This problem happens here also. Apparently the download doesn't start (the files stay on the delayed status) if I use the kio multi segmented plugin. When I disable the plugin and then choose to redownload selected files the download starts. 
Comment 8 Urs Wolfer 2008-12-22 20:44:21 UTC
Comment by Manolo Valdes:
I get lost here.

did you have multi-segmented plugin enabled when you create the transfer?
if so, please run kget from konsole and send us the debuging info

thanks in advance
manolito
Comment 9 Diogo 2008-12-22 23:43:44 UTC
Yes, the plugin is already enable when I create the transfer. The debug info when I execute Kget from konsole is: 

kget(8172) GenericModelObserver::addedTransferGroupEvent: OBSERVER :: Adding group  0x9bfe678
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
kget(8172) NewTransferDialog::showDialog: SET SOURCES  (KUrl("") )   MULTIPLE  false
kget(8172) NewTransferDialog::Private::setDestination: Seting destination :multiple= false  and filename= ""

I hope these helps.
Diogo Nardelli Siebert
Comment 10 Paulo Dias 2009-01-01 23:12:54 UTC
i can confirm too. activating kio multi segmented plugin makes kget unable to download any files or torrents. disabling it reactivates the normal behaviour.

kubuntu 8.10 and kde 4.2 beta 2.

best regards
Comment 11 Diogo 2009-01-14 15:52:34 UTC
The bug still happens in 4.2 RC 2.
The kio mult segmented plugin just doesn't work.

It would be very interesting to fix this bug before 4.2 because I think it is a very important feature.

Diogo
Comment 12 Lukas Appelhans 2009-01-14 18:21:45 UTC
I cannot reproduce it here... might be a Distro/Hardware-specific problem...

Lukas
Comment 13 Diogo 2009-01-14 19:02:22 UTC
(In reply to comment #12)
> I cannot reproduce it here... might be a Distro/Hardware-specific problem...
> 
> Lukas
> 

Lukas

I doubt that because it was reported using both Kubuntu and Opensuse.
What version are you running? 
In my laptop with the kio multi-segmented plugin enable I can't download anything. 

Diogo
Comment 14 Lukas Appelhans 2009-01-14 19:24:42 UTC
Using RC1+ (aka Branch-Updates) here...

Lukas
Comment 15 Diogo 2009-01-14 20:56:13 UTC
(In reply to comment #14)
> Using RC1+ (aka Branch-Updates) here...
> 
> Lukas
> 

I made some test with kde4 live cd (opensuse)

To repruce the bug:
- Open Kget
- Go to Settings -> Configure Kget -> Plugins 
- Click on the preferences of KIO Multi Segmeted plugin
- Choose: Number of Threads = 2
- Close Kget
- Start Kget
- Add a new download

Result:
Status of the new download = Delayed

Actually I use Kubuntu, but I wanted to see if the bug was distro related.
If there anything i can do to help, just ask.



Comment 16 Lukas Appelhans 2009-01-14 21:20:30 UTC
Works for me with 2 Segments as well...
Anyway, I have not the slightest clue about what is going wrong, the normal KIO plugin is working?

Lukas
Comment 17 Diogo 2009-01-15 00:43:44 UTC
(In reply to comment #16)
> Works for me with 2 Segments as well...
> Anyway, I have not the slightest clue about what is going wrong, the normal KIO
> plugin is working?
> 
> Lukas
> 

Yes, the normal KIO plugin work fine for me. 
I did the test I have told you using my Laptop with Kubuntu Intrepid (4.2 RC 1 experimental packages) and using virtualbox with kde4 live (opensuse) and bug appeared on both cases.

Maybe if you erase your kget config file in ~/.kde/ before trying the steps I posted you can reproduce the bug. (It's just a crazy guess). 

If that won't work you could try with the kde4 live.



Comment 18 Lukas Appelhans 2009-01-15 01:17:42 UTC
Well actually I had that problem somewhere within KDE 4.1-devel stuff, but was fixed then... anyway will test with the LiveCD...

Lukas
Comment 19 Manolo Valdes 2009-01-20 16:17:04 UTC
I cant reproduce this bug here.
any way the problems seems to be when kdebug function is used.

so its outside kget.

please use a fresh instalation of kde or create a new user on your box with a clean .kde4 dir and let us know

thanks
Manolito
Comment 20 Diogo 2009-01-20 16:47:07 UTC
The bug still happens with a new user (clen .kde dir) .

Diogo
Comment 21 Manolo Valdes 2009-01-20 17:36:09 UTC
sorry to request you this again but can you pleasa run kget from konsole and send us the hole debug info. :)
because the former debug info says nothing to me
thanks in advance
Manolito
Comment 22 Diogo 2009-01-20 18:06:16 UTC
No problem, I'm glad I can help.
Sorry for the previous debug info, I did not know that I had to setup for more debug info.
If there is something I can help, just say so.

Diogo N. Siebert

kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  40                                                  
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  200                                                 
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  90                                                  
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  110                                                 
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  70                                                  
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins:  TransferFactory plugin found:
rank =  50                                                  
plugintype =  QVariant(QString, "TransferFactory")          
kget(7981) KGet::loadPlugins: TransferFactory plugin ( "kget_mirrorsearchfactory" ) found and added to the list of available plugins
kget(7981) KGet::loadPlugins: TransferFactory plugin ( "kget_kiofactory" ) found and added to the list of available plugins         
kget(7981) KGet::loadPlugins: TransferFactory plugin ( "kget_multisegkiofactory" ) found and added to the list of available plugins 
kget(7981) KGet::loadPlugins: TransferFactory plugin ( "kget_metalinkfactory" ) found and added to the list of available plugins    
kget(7981) KGet::loadPlugins: TransferFactory plugin ( "kget_contentfetchfactory" ) found, but not enabled                          
kget(7981): KPluginFactory could not load the plugin: "kget_bittorrentfactory"                                                      
kget(7981) KGet::loadPlugins: Error loading TransferFactory plugin ( "kget_bittorrentfactory" )                                     
kget(7981) KGet::loadPlugins: Number of factories =  4                                                                              
kget(7981) KGet::addGroup:                                                                                                          
kget(7981) TransferGroupHandler::addObserver: TransferGroupHandler::addObserver                                                     
kget(7981) TransferGroupHandler::addObserver:    Now we have  1  observers                                                          
kget(7981) KGet::postAddedTransferGroupEvent:                                                                                       
kget(7981) ButtonBase::slotToggled:                                                                                                 
kget(7981) TransfersView::setModel: openEditor for row  0                                                                           
kget(7981) ViewsContainer::showDownloadsWindow: ViewsContainer::showDownloadsWindow                                                 
kget(7981) KGet::addObserver:                                                                                                       
kget(7981) KGet::postAddedTransferGroupEvent:                                                                                       
kget(7981) TransferGroupHandler::addObserver: TransferGroupHandler::addObserver                                                     
kget(7981) TransferGroupHandler::addObserver:    Now we have  2  observers                                                          
kget(7981) KGet::addObserver:  >>> EXITING                                                                                          
kget(7981) KGet::addObserver:                                                                                                       
kget(7981) KGet::postAddedTransferGroupEvent:                                                                                       
kget(7981) TransferGroupHandler::addObserver: TransferGroupHandler::addObserver                                                     
kget(7981) TransferGroupHandler::addObserver:    Now we have  3  observers                                                          
kget(7981) KGet::addObserver:  >>> EXITING                                                                                          
kget(7981) KGet::load: ( "/home/diogo/.kde/share/apps/kget/transfers.kgt" )                                                         
kget(7981) KGet::load: file: "/home/diogo/.kde/share/apps/kget/transfers.kgt"                                                       
kget(7981) KGet::load: KGet::load  -> group =  "Meus downloads"                                                                     
kget(7981) KGet::load: KGet::load  -> group found                                                                                   
kget(7981) TransferGroup::load: TransferGroup::load                                                                                 
kget(7981) KGet::addObserver:                                                                                                       
kget(7981) KGet::postAddedTransferGroupEvent:                                                                                       
kget(7981) GenericModelObserver::addedTransferGroupEvent: OBSERVER :: Adding group  0x9692df8                                       
kget(7981) TransferGroupHandler::addObserver: TransferGroupHandler::addObserver                                                     
kget(7981) TransferGroupHandler::addObserver:    Now we have  4  observers                                                          
diogo@diogo-laptop:~$ kget(7981) TransferGroup::save:  -->   "Meus downloads"                                                       
kget(7981) KGet::addObserver:  >>> EXITING                                                                                          
QWidget::insertAction: Attempt to insert null action                                                                                
QWidget::insertAction: Attempt to insert null action                                                                                
kget(7981) TransferGroup::calculateDownloadLimit: "Calculate new DownloadLimit of 0"                                                
kget(7981) TransferGroup::calculateDownloadLimit: "Calculate new DownloadLimit of 0"                                                
kget(7981) TransferGroupScheduler::calculateUploadLimit: 1                                                                          
kget(7981) TransferGroup::calculateUploadLimit: "Calculate new Upload Limit of 0"                                                   
kget(7981) TransferGroupScheduler::calculateUploadLimit: 1                                                                          
kget(7981) TransferGroup::calculateUploadLimit: "Calculate new Upload Limit of 0"                                                   
kget(7981) NewTransferDialog::showDialog: SET SOURCES  (KUrl("") )   MULTIPLE  false                                                
kget(7981) KGet::defaultFolders: KUrl("") "Meus downloads"                                                                          
kget(7981) NewTransferDialog::Private::setDestination: ("/home/diogo/Downloads", "/home/diogo/Downloads/")                          
kget(7981) NewTransferDialog::Private::setDestination: Seting destination :multiple= false  and filename= ""                        
kget(7981) NewTransferDialog::Private::setDestination: ("/home/diogo/Downloads/jaunty-desktop-i386.iso", "/home/diogo/Downloads/jaunty-desktop-i386.iso")                                                                                                                                 
kget(7981) NewTransferDialog::prepareDialog: (KUrl("http://cdimage.ubuntu.com/kubuntu/releases/jaunty/alpha-3/jaunty-desktop-i386.iso") )    
kget(7981) KGet::addTransfer: Source: "http://cdimage.ubuntu.com/kubuntu/releases/jaunty/alpha-3/jaunty-desktop-i386.iso"                    
kget(7981) KGet::isValidDestDirectory: "/home/diogo/Downloads/jaunty-desktop-i386.iso"                                                       
kget(7981) KGet::isValidDestDirectory: "/home/diogo/Downloads/jaunty-desktop-i386.iso"                                                       
kget(7981) KSharedUiServerProxy::KSharedUiServerProxy: kuiserver registered                                                                  
kget(7981) KGet::createTransfer: srcUrl=  "http://cdimage.ubuntu.com/kubuntu/releases/jaunty/alpha-3/jaunty-desktop-i386.iso"    destUrl=  "file:///home/diogo/Downloads/jaunty-desktop-i386.iso" group= _ "Meus downloads" _                                                             
kget(7981) KGet::createTransfer: Trying plugin   n.plugins= 4                                                                                
kget(7981) metalinkFactory::createTransfer: metalinkFactory::createTransfer                                                                  
kget(7981) KGet::createTransfer: Trying plugin   n.plugins= 4                                                                                
kget(7981) TransferMultiSegKioFactory::createTransfer:                                                                                       
kget(7981) TransferMultiSegKioFactory::createTransfer: Protocol =  "http"                                                                    
kget(7981) TransferMultiSegKio::TransferMultiSegKio:                                                                                         
kget(7981) TransferGroup::append: TransferGroup::append                                                                                      
kget(7981) Scheduler::updateQueue: Scheduler: Evaluating job  0                                                                              
kget(7981) TransferGroup::calculateSpeedLimits: We will calculate the new SpeedLimits now                                                    
kget(7981) TransferGroup::calculateDownloadLimit: "Calculate new DownloadLimit of 0"                                                         
kget(7981) TransferGroup::calculateUploadLimit: "Calculate new Upload Limit of 0"                                                            
kget(7981) TransferGroupHandler::postAddedTransferEvent: TransferGroupHandler::postAddedTransferEvent                                        
kget(7981) TransferGroupHandler::postAddedTransferEvent:    number of observers =  4                                                         
kget(7981) TransferHandler::addObserver: TransferHandler: OBSERVERS++ =  1                                                                   
kget(7981) TransferHandler::addObserver: TransferHandler: OBSERVERS++ =  2                                                                   
kget(7981) TransferHandler::addObserver: TransferHandler: OBSERVERS++ =  3                                                                   
kget(7981) TransferGroup::save:  -->   "Meus downloads"                                                                                      
kget(7981) TransferGroup::save:   -->   "Meus downloads"   transfer:  KUrl("http://cdimage.ubuntu.com/kubuntu/releases/jaunty/alpha-3/jaunty-desktop-i386.iso")                                                                                                                           
kget(7981) TransferMultiSegKio::save:                                                                                                        
kget(7981) TransferMultiSegKio::save: saving:  0  segments                                                                                   
kget(7981) TransfersView::rowsInserted: TransfersView::rowsInserted                                                                          
kget(7981) Job::setPolicy: Job::setPolicy( 0 )                                                                                               
kget(7981) Scheduler::updateQueue: Scheduler: Evaluating job  0                                                                              
kget(7981) Scheduler::updateQueue: Scheduler:    starting job                                                                                
kget(7981) MultiSegmentCopyJob::MultiSegmentCopyJob:                                                                                         
kget(7981) SegmentFactory::SegmentFactory:                                                                                                   
kget(7981) TransferMultiSegKio::start:                                                                                                       
kget(7981) Scheduler::jobChangedEvent: Scheduler::jobChangedEvent ( 0 )                                                                      
kget(7981) KGet::checkSystemTray:                                                                                                            
kget(7981) MainWindow::setSystemTrayDownloading:                                                                                             
kget(7981) Tray::setDownloading: Tray::setDownloading                                                                                        
kget(7981) MultiSegmentCopyJob::slotStart:                                                                                                   
kget(7981) MultiSegmentCopyJob::checkLocalFile: success                                                                                      
kget(7981) MultiSegmentCopyJob::slotStart:  opening:  KUrl("file:///home/diogo/Downloads/jaunty-desktop-i386.iso.part")                      
kget(7981) MultiSegmentCopyJob::slotResult: KIO::FileJob(0x9beb3c8)
kget(7981) MultiSegmentCopyJob::slotResult: m_putJob finished
kget(7981) TransferMultiSegKio::slotResult: ( 143 )
kget(7981) TransferMultiSegKio::slotResult: --  E R R O R  ( 143 )--
kget(7981) Scheduler::jobChangedEvent: Scheduler::jobChangedEvent ( 3 )
kget(7981) Scheduler::jobChangedEvent: Scheduler::jobChangedEvent ( 1 )
kget(7981) Scheduler::updateQueue: Scheduler: Evaluating job  0
kget(7981) KGet::checkSystemTray:
kget(7981) MainWindow::setSystemTrayDownloading:
kget(7981) Tray::setDownloading: Tray::setDownloading
kget(7981) MultiSegmentCopyJob::~MultiSegmentCopyJob:
kget(7981) SegmentFactory::~SegmentFactory:
kget(7981) TransferGroup::save:  -->   "Meus downloads"
kget(7981) TransferGroup::save:   -->   "Meus downloads"   transfer:  KUrl("http://cdimage.ubuntu.com/kubuntu/releases/jaunty/alpha-3/jaunty-desktop-i386.iso")
kget(7981) TransferMultiSegKio::save:
kget(7981) TransferMultiSegKio::save: saving:  0  segments
Comment 23 Manolo Valdes 2009-01-20 19:13:06 UTC
kget(7981) MultiSegmentCopyJob::slotStart:  opening: 
KUrl("file:///home/diogo/Downloads/jaunty-desktop-i386.iso.part")               
kget(7981) MultiSegmentCopyJob::slotResult: KIO::FileJob(0x9beb3c8)
kget(7981) MultiSegmentCopyJob::slotResult: m_putJob finished
kget(7981) TransferMultiSegKio::slotResult: ( 143 )
kget(7981) TransferMultiSegKio::slotResult: --  E R R O R  ( 143 )--
kget(7981) Scheduler::jobChangedEvent: Scheduler::jobChangedEvent ( 3 )
kget(7981) Scheduler::jobChangedEvent: Scheduler::jobChangedEvent ( 1 )
kget(7981) Scheduler::updateQueue: Scheduler: Evaluating job  0
kget(7981) KGet::checkSystemTray:
kget(7981) MainWindow::setSystemTrayDownloading:
kget(7981) Tray::setDownloading: Tray::setDownloading
kget(7981) MultiSegmentCopyJob::~MultiSegmentCopyJob:
kget(7981) SegmentFactory::~SegmentFactory:

as the debug info says ERROR 143
that means slave die
so for some reason the Filejob slave is crashing on your system.
i can confirm that it works property here and the problem is out side kget

the reason that it fails only with multisegment plugin is that it use KIO::Filejob to handle the local file. and the KIO plugin uses traditional file_copy function

maybe its a distro related problem
or a Filejob bug

debugging kio_slaves have some tricks.
you need to set an enviroment var and so on .....

i guess we can close this bug here
ok?
Comment 24 Diogo 2009-01-20 19:40:30 UTC
I just want to be sure, so we could post the bug in the right place.

As I said previously, I had tested on both opensuse and kubuntu so I am a little sceptical about being a distro related bug, but if you say that it works for you I think we can close the bug.

Diogo N. Siebert.



 






Comment 25 Diogo 2009-01-20 20:24:46 UTC
Just one little update the bug happens in "Fedora Core" also. So again, It is difficult to believe that it is a distro related bug.

Diogo N. Siebert
Comment 26 Lukas Appelhans 2009-01-20 21:10:07 UTC
Yep, let's reassign it :)

Lukas
Comment 27 Manolo Valdes 2009-01-20 21:27:40 UTC
I use FreeBSD-7.STABLE
so i cant test on any linux distro.

lucas: you have already debug KIO:Filejob once with me.
Maybe you can debug it to see if it is a FIlejob bug. and of course
paste the results here
cheers
Manolito
Comment 28 gwynned 2009-02-12 13:41:59 UTC
Hello

Same problem with a fresh install of fedora 10 with 2.6.27.12-170.2.5.fc10.i686.PAE kernel, KGet v2.2.0 on KDE4.2. I can't swear to, but I'm pretty sure it was working with the same hardware on OpenSuse 11.1.

If I can help, just let me know (but I'm a really noob with linux, and english is not my native language)
Comment 29 JimHu 2009-02-14 11:06:18 UTC
I can confirm this problem. I'm running Kubuntu 9.04 alpha 4.
Comment 30 steven_w_levine 2009-03-18 01:41:06 UTC
I have this bug as well (Kubuntu Jaunty Jackelope). However, I can add one piece of anecdotal evidence.  I don't understand it, but anyway:  When I download a torrent from The Pirate Bay, it works fine.  If I download it from Mininova or Isohunt, it gives this behavior where it never downloads.
Comment 31 Diogo 2009-03-24 22:33:04 UTC
(In reply to comment #30)
> I have this bug as well (Kubuntu Jaunty Jackelope). However, I can add one
> piece of anecdotal evidence.  I don't understand it, but anyway:  When I
> download a torrent from The Pirate Bay, it works fine.  If I download it from
> Mininova or Isohunt, it gives this behavior where it never downloads.

I think you are talking about other bug, because torrents use other plugin since the problem we are discussing is related to thee kio_multisegmented plugin.
Comment 32 Dave Plater 2009-04-13 10:09:04 UTC
kde4-kget has this bug on my system which is currently opensuse factory but hasn't worked from 11.0.
Comment 33 David Faure 2009-05-20 23:52:13 UTC
So, did anyone get a core dump from kio_file yet?

See http://www.kdedevelopers.org/node/3921 for how to set things up to get a maximum of core dumps.

David (wondering why this bug is assigned to him, since open/seek/read support in kio_file is from carewolf -- this is the functionality we're talking about, right?)
Comment 34 m.wege 2009-05-28 06:54:57 UTC
*** This bug has been confirmed by popular vote. ***
Comment 35 Matthias Fuchs 2009-09-11 18:05:23 UTC
Can someone retry with current trunk please?
Comment 36 Ruchir Brahmbhatt 2010-01-02 15:05:16 UTC
Qt: 4.6.1
KDE Development Platform: 4.3.86 (KDE 4.3.86 (KDE 4.4 >= 20091231)) "release 1"
KGet: 2.3.86

This appears to be fixed. Now it starts downloading.