After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 378155 - Fails to download podcast episodes
Fails to download podcast episodes
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Podcast
0.9.6
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 413661 (view as bug list)
Depends on:
Blocks: 413661
 
 
Reported: 2006-11-22 15:53 UTC by Sven Arvidsson
Modified: 2008-08-13 01:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sven Arvidsson 2006-11-22 15:53:47 UTC
This bug was reported to the Debian BTS.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399801

"When Rhythmbox tries to download episodes from the Seminars About Long
Term Thinking podcast at

 http://www.longnow.org/projects/seminars/SALT.xml

the status field displays "Waiting" for some time, then displays
"Failed".  The file is downloaded successfully, though.

The status is set to failed in download_progress_cb because
info->phase is GNOME_VFS_XFER_PHASE_COMPLETED and info->file_size is
0.  I don't know whether this test is wrong or there is a bug in
gnome-vfs."
Comment 1 Alex Lancaster 2007-01-16 06:42:11 UTC
Confirmed, and has also been noted in another feed:

http://www.thestory.org/archive/podcast.xml

on the mailing list:

http://mail.gnome.org/archives/rhythmbox-devel/2007-January/msg00066.html
Comment 2 Alex Lancaster 2007-01-16 07:07:46 UTC
It certainly does seem to be failing on the filesize test as suggested in comment #0, if I enhance the debug statement on in rb-podcast-manager.c:1200:

rb_debug ("error downloading %s, filesize %d",
			  rhythmdb_entry_get_string (data->entry, RHYTHMDB_PROP_LOCATION), info->file_size);

I see this in the debug log:


(00:00:31) [0x9525478] [rb_podcast_manager_next_file] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:594: processing http://media.longnow.org/seminars/salt-020060922-schell/salt-020060922-schell.mp3
(00:00:32) [0x9525478] [rb_podcast_manager_download_file_info_cb] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:664: got file info results for http://media.longnow.org/seminars/salt-020060922-schell/salt-020060922-schell.mp3
(00:00:32) [0x9525478] [rb_podcast_manager_download_file_info_cb] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:723: creating file /home/alex/podcasts/SALT - Seminars About Long Term Thinking/salt-020060922-schell.mp3
(00:00:32) [0x9525478] [rb_podcast_source_start_download_cb] /home/alex/src/remote-cvs/gnome.org/rhythmbox/sources/rb-podcast-source.c:1748: Start download
(00:01:24) [0x9fdae90] [download_progress_cb] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:1200: error downloading http://media.longnow.org/seminars/salt-020060922-schell/salt-020060922-schell.mp3, filesize 0
(00:01:24) [0x9525478] [end_job] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:1142: cleaning up download of http://media.longnow.org/seminars/salt-020060922-schell/salt-020060922-schell.mp3
(00:01:24) [0x9525478] [rb_podcast_source_finish_download_cb] /home/alex/src/remote-cvs/gnome.org/rhythmbox/sources/rb-podcast-source.c:1761: Finish download
(00:01:24) [0x9525478] [rb_podcast_manager_next_file] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:568: looking for something to download
(00:01:24) [0x9525478] [rb_podcast_manager_next_file] /home/alex/src/remote-cvs/gnome.org/rhythmbox/podcast/rb-podcast-manager.c:582: download queue is empty

gnomevfs-info on the <mountpoint> found in the rhythmdb.xml gives the correct info, for some reason gnomevfs isn't returning the right info in the program.

$ gnomevfs-info file:///home/alex/podcasts/APM%3A%20The%20Story/the_story_161_Who_Will_Lead_Somalia.mp3
Name              : the_story_161_Who_Will_Lead_Somalia.mp3
Type              : Regular
MIME type         : audio/mpeg
Default app       : rhythmbox.desktop
Size              : 24473728
Blocks            : 47864
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600664
Link count        : 1
UID               : 501
GID               : 500
Access time       : Mon Jan 15 23:47:11 2007
Modification time : Thu Jan 11 09:26:21 2007
Change time       : Mon Jan 15 23:49:36 2007
Device #          : 2050
Inode #           : 3211294
Readable          : YES
Writable          : YES
Executable        : NO
Comment 3 Alex Lancaster 2007-01-16 07:10:57 UTC
Sorry, here's the gnomevfs-info that corresponds to the longnow example given above:

$ gnomevfs-info file:///home/alex/podcasts/SALT%20-%20Seminars%20About%20Long%20Term%20Thinking/salt-020060922-schell.mp3
Name              : salt-020060922-schell.mp3
Type              : Regular
MIME type         : audio/mpeg
Default app       : rhythmbox.desktop
Size              : 16001152
Blocks            : 31296
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600664
Link count        : 1
UID               : 501
GID               : 500
Access time       : Tue Jan 16 00:00:37 2007
Modification time : Tue Oct 10 13:44:46 2006
Change time       : Tue Jan 16 00:01:24 2007
Device #          : 2050
Inode #           : 3244231
Readable          : YES
Writable          : YES
Executable        : NO
Comment 4 Jonathan Matthew 2007-01-16 10:52:16 UTC
This is caused by web servers that don't implement HEAD requests properly (and partly by gnome-vfs not being sufficiently pessimistic).

The servers hosting these podcasts don't return the content-length in the HEAD response (but RFC 2616 says they SHOULD).  gnome-vfs uses the file size as returned in a HEAD request as info->file_size that gets passed to our callbacks.  No content-length header -> file_size == 0.
Comment 5 Jonathan Matthew 2007-01-16 11:23:25 UTC
See bug 330498 for the gnome-vfs side of things.
Comment 6 James "Doc" Livingston 2007-03-03 05:24:53 UTC
*** Bug 413661 has been marked as a duplicate of this bug. ***
Comment 7 Christopher Beland 2007-09-10 00:53:26 UTC
This may still be a problem; I am experiencing similar symptoms in rhythmbox-0.10.0-8.fc7 with KERA Think! and NPR Science Friday podcasts.  I can't find a way in the GUI to divulge the URL of the podcasts for verification.
Comment 8 Alex Lancaster 2007-09-10 01:20:53 UTC
It is still a known problem (I can reproduce in SVN trunk).  The gnome-vfs part appears to have been fixed, but there are still issues with the webservers on the rhythmbox side of things hence the reason the bug is still open.  There are probably some hacks that could be done on rhythmbox side to workaround the buggy servers, but I don't know exactly what they would be.
Comment 9 Alex Lancaster 2007-09-10 01:25:09 UTC
Hmm, regarding NPR Science Friday podcasts, I am managing to successfully download podcasts from this feed:

http://www.sciencefriday.com/audio/scifriaudio.xml

without having the "Failed" message, so perhaps it is working for some of the podcasts.  I am using SVN trunk with gnome-vfs2-2.18.1-4.fc7 on Fedora 7.
Comment 10 Jonathan Matthew 2008-08-13 01:38:15 UTC
Rhythmbox now downloads episodes from all of these podcasts correctly.