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 551292 - maybe work around http redirect/filename problems
maybe work around http redirect/filename problems
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: Podcast
0.11.x
Other All
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-09-07 21:51 UTC by Michael R Head
Modified: 2018-05-24 13:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael R Head 2008-09-07 21:51:45 UTC
Please describe the problem:
I have subscribed rhythmbox to http://www.publicbroadcasting.net/tavis/.jukebox?action=viewPodcast&podcastId=480

What I've found is that rhythmbox is unable to properly download the casts from the feed. I double click the podcast entry, the progress bar on the right turns from nothing to "Waiting" then eventually to "Failure"

I've noticed that the server redirects the URL a couple times, and the filename+query is very long on the final feed. Rhythmbox should probably validate the filename before attempting to write it and fix it somehow if it won't work.

Here's what happens with wget when I download the file:
head@flash:~$ wget http://www.publicbroadcasting.net/tavis/.jukebox/media/tavis/751757/mp3/June2008Podcasts/podcast/480/751757.mp3
--17:45:10--  http://www.publicbroadcasting.net/tavis/.jukebox/media/tavis/751757/mp3/June2008Podcasts/podcast/480/751757.mp3
           => `751757.mp3'
Resolving www.publicbroadcasting.net... 66.151.232.17
Connecting to www.publicbroadcasting.net|66.151.232.17|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.publicbroadcasting.net/tavis/June2008Podcasts.mediaplayer?STATION_NAME=tavis&MEDIA_ID=751757&MEDIA_EXTENSION=mp3&MODULE=June2008Podcasts&P=podcast&I=480 [following]
--17:45:10--  http://www.publicbroadcasting.net/tavis/June2008Podcasts.mediaplayer?STATION_NAME=tavis&MEDIA_ID=751757&MEDIA_EXTENSION=mp3&MODULE=June2008Podcasts&P=podcast&I=480
           => `June2008Podcasts.mediaplayer?STATION_NAME=tavis&MEDIA_ID=751757&MEDIA_EXTENSION=mp3&MODULE=June2008Podcasts&P=podcast&I=480'
Reusing existing connection to www.publicbroadcasting.net:80.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://stream-ai.publicbroadcasting.net/production/mp3/tavis/local-tavis-751757.mp3?volomedia_src_url=http%3A%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3 [following]
--17:45:10--  http://stream-ai.publicbroadcasting.net/production/mp3/tavis/local-tavis-751757.mp3?volomedia_src_url=http%3A%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3
           => `local-tavis-751757.mp3?volomedia_src_url=http:%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3'
Resolving stream-ai.publicbroadcasting.net... 69.28.159.146, 69.28.159.136
Connecting to stream-ai.publicbroadcasting.net|69.28.159.146|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://pubint.vo.llnwd.net/o1/QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http%3A%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3%3Fvolomedia_src_url%3Dhttp%253A%252F%252Fwww.publicbroadcasting.net%252Ftavis%252F.jukebox%252Fmedia%252Ftavis%252F751757%252Fmp3%252FJune2008Podcasts%252Fpodcast%252F480%252F751757.mp3 [following]
--17:45:11--  http://pubint.vo.llnwd.net/o1/QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http%3A%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3%3Fvolomedia_src_url%3Dhttp%253A%252F%252Fwww.publicbroadcasting.net%252Ftavis%252F.jukebox%252Fmedia%252Ftavis%252F751757%252Fmp3%252FJune2008Podcasts%252Fpodcast%252F480%252F751757.mp3
           => `QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http:%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3?volomedia_src_url=http%3A%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3'
Resolving pubint.vo.llnwd.net... 208.111.161.254, 208.111.160.6
Connecting to pubint.vo.llnwd.net|208.111.161.254|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24,035,258 (23M) [audio/mpeg]
QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http:%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3?volomedia_src_url=http%3A%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3: File name too long

Cannot write to `QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http:%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3?volomedia_src_url=http%3A%2F%2Fwww.publicbroadcasting.net%2Ftavis%2F.jukebox%2Fmedia%2Ftavis%2F751757%2Fmp3%2FJune2008Podcasts%2Fpodcast%2F480%2F751757.mp3' (File name too long).


Steps to reproduce:
1. Subscribe to the feed: http://www.publicbroadcasting.net/tavis/.jukebox?action=viewPodcast&podcastId=480
2. Browse to "PRI: The Tavis Smiley Show"
3. double click on a podcasted item and see that it fails.


Actual results:
the podcast download fails

Expected results:
the podcast item would be downloaded and ready to listen to.

Does this happen every time?
Yes, but just for this podcast (I have around 20 other feeds that all work)

Other information:
Here's the debug output:
(17:49:56) [0x80dc408] [rb_podcast_source_cmd_download_post] rb-podcast-source.c:1295: Add to download action
(17:49:56) [0x80dc408] [rb_podcast_manager_download_entry] rb-podcast-manager.c:455: Adding podcast episode http://www.publicbroadcasting.net/tavis/.jukebox/media/tavis/751757/mp3/June2008Podcasts/podcast/480/751757.mp3 to download list
(17:49:56) [0x80dc408] [window_focus_cb] rb-mmkeys-plugin.c:118: window got focus, re-grabbing media keys
(17:49:56) [0x80dc408] [rb_podcast_manager_next_file] rb-podcast-manager.c:585: looking for something to download
(17:49:56) [0x80dc408] [rb_podcast_manager_next_file] rb-podcast-manager.c:611: processing http://www.publicbroadcasting.net/tavis/.jukebox/media/tavis/751757/mp3/June2008Podcasts/podcast/480/751757.mp3
(17:49:57) [0x80dc408] [rb_podcast_manager_download_file_info_cb] rb-podcast-manager.c:681: got file info results for http://www.publicbroadcasting.net/tavis/.jukebox/media/tavis/751757/mp3/June2008Podcasts/podcast/480/751757.mp3
(17:49:57) [0x80dc408] [rb_podcast_manager_download_file_info_cb] rb-podcast-manager.c:740: creating file /home/head/Podcasts/PRI: The Tavis Smiley Show/QuerySplicedItemContent?file_name=vc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3&case_number=ab6670b21636d22bf002a3754c5e61fe.mp3&llnw_original_url=http%3A%2F%2Fstream-ai.publicbroadcasting.net%2Fproduction%2Fmp3%2Ftavis%2Flocal-tavis-751757.mp3%3Fvolomedia_src_url%3Dhttp%253A%252F%252Fwww.publicbroadcasting.net%252Ftavis%252F.jukebox%252Fmedia%252Ftavis%252F751757%252Fmp3%252FJune2008Podcasts%252Fpodcast%252F480%252F751757.mp3
(17:49:57) [0x80dc408] [rb_podcast_source_start_download_cb] rb-podcast-source.c:1738: Start download
(17:49:57) [0x80dc408] [rb_shell_hidden_notify_markup] rb-shell.c:3100: shell is visible, not notifying
(17:49:59) [0x8f2c610] [download_progress_cb] rb-podcast-manager.c:1341: download of file:///home/head/Podcasts/PRI:%20The%20Tavis%20Smiley%20Show/QuerySplicedItemContent%3Ffile_name%3Dvc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3%26case_number%3Dab6670b21636d22bf002a3754c5e61fe.mp3%26llnw_original_url%3Dhttp%253A%252F%252Fstream-ai.publicbroadcasting.net%252Fproduction%252Fmp3%252Ftavis%252Flocal-tavis-751757.mp3%253Fvolomedia_src_url%253Dhttp%25253A%25252F%25252Fwww.publicbroadcasting.net%25252Ftavis%25252F.jukebox%25252Fmedia%25252Ftavis%25252F751757%25252Fmp3%25252FJune2008Podcasts%25252Fpodcast%25252F480%25252F751757.mp3 completed
(17:49:59) [0x8f2c610] [rhythmdb_entry_set] rhythmdb.c:2834: queuing RHYTHMDB_ACTION_ENTRY_SET
(17:49:59) [0x8f2c610] [rhythmdb_entry_set] rhythmdb.c:2834: queuing RHYTHMDB_ACTION_ENTRY_SET
(17:49:59) [0x8f2c610] [rb_podcast_manager_save_metadata] rb-podcast-manager.c:1093: loading podcast metadata from file:///home/head/Podcasts/PRI:%20The%20Tavis%20Smiley%20Show/QuerySplicedItemContent%3Ffile_name%3Dvc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3%26case_number%3Dab6670b21636d22bf002a3754c5e61fe.mp3%26llnw_original_url%3Dhttp%253A%252F%252Fstream-ai.publicbroadcasting.net%252Fproduction%252Fmp3%252Ftavis%252Flocal-tavis-751757.mp3%253Fvolomedia_src_url%253Dhttp%25253A%25252F%25252Fwww.publicbroadcasting.net%25252Ftavis%25252F.jukebox%25252Fmedia%25252Ftavis%25252F751757%25252Fmp3%25252FJune2008Podcasts%25252Fpodcast%25252F480%25252F751757.mp3
(17:49:59) [0x80dc408] [rhythmdb_process_one_event] rhythmdb.c:2151: processing RHYTHMDB_EVENT_ENTRY_SET
(17:49:59) [0x80dc408] [rhythmdb_process_one_event] rhythmdb.c:2151: processing RHYTHMDB_EVENT_ENTRY_SET
(17:49:59) [0x8060480] [_handle_message] rb-metadata-dbus-service.c:363: handling metadata service message
(17:49:59) [0x8060480] [rb_metadata_dbus_ping] rb-metadata-dbus-service.c:320: ping
(17:49:59) [0x8f2c610] [rb_metadata_load] rb-metadata-dbus-client.c:375: sending metadata load request
(17:49:59) [0x8060480] [_handle_message] rb-metadata-dbus-service.c:363: handling metadata service message
(17:49:59) [0x8060480] [rb_metadata_dbus_load] rb-metadata-dbus-service.c:138: loading metadata from file:///home/head/Podcasts/PRI:%20The%20Tavis%20Smiley%20Show/QuerySplicedItemContent%3Ffile_name%3Dvc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3%26case_number%3Dab6670b21636d22bf002a3754c5e61fe.mp3%26llnw_original_url%3Dhttp%253A%252F%252Fstream-ai.publicbroadcasting.net%252Fproduction%252Fmp3%252Ftavis%252Flocal-tavis-751757.mp3%253Fvolomedia_src_url%253Dhttp%25253A%25252F%25252Fwww.publicbroadcasting.net%25252Ftavis%25252F.jukebox%25252Fmedia%25252Ftavis%25252F751757%25252Fmp3%25252FJune2008Podcasts%25252Fpodcast%25252F480%25252F751757.mp3
(17:49:59) [0x8060480] [rb_metadata_load] rb-metadata-gst.c:970: loading metadata for uri: file:///home/head/Podcasts/PRI:%20The%20Tavis%20Smiley%20Show/QuerySplicedItemContent%3Ffile_name%3Dvc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3%26case_number%3Dab6670b21636d22bf002a3754c5e61fe.mp3%26llnw_original_url%3Dhttp%253A%252F%252Fstream-ai.publicbroadcasting.net%252Fproduction%252Fmp3%252Ftavis%252Flocal-tavis-751757.mp3%253Fvolomedia_src_url%253Dhttp%25253A%25252F%25252Fwww.publicbroadcasting.net%25252Ftavis%25252F.jukebox%25252Fmedia%25252Ftavis%25252F751757%25252Fmp3%25252FJune2008Podcasts%25252Fpodcast%25252F480%25252F751757.mp3
(17:49:59) [0x8060480] [rb_metadata_load] rb-metadata-gst.c:1027: going to PAUSED for metadata, uri: file:///home/head/Podcasts/PRI:%20The%20Tavis%20Smiley%20Show/QuerySplicedItemContent%3Ffile_name%3Dvc_ab6670b21636d22bf002a3754c5e61fe.ver_1.videosdyn3.20080831000702.mp3%26case_number%3Dab6670b21636d22bf002a3754c5e61fe.mp3%26llnw_original_url%3Dhttp%253A%252F%252Fstream-ai.publicbroadcasting.net%252Fproduction%252Fmp3%252Ftavis%252Flocal-tavis-751757.mp3%253Fvolomedia_src_url%253Dhttp%25253A%25252F%25252Fwww.publicbroadcasting.net%25252Ftavis%25252F.jukebox%25252Fmedia%25252Ftavis%25252F751757%25252Fmp3%25252FJune2008Podcasts%25252Fpodcast%25252F480%25252F751757.mp3
Comment 1 Jonathan Matthew 2008-09-07 22:14:54 UTC
rhythmbox svn trunk successfully downloads episodes from this podcast, but names the downloaded files 'QuerySplicedItemContent', which sucks.
Comment 2 Jonathan Matthew 2008-09-07 23:06:22 UTC
Short term slightly hacky fix: if the final filename has no extension, maybe we should use the original filename from the URL extracted from the feed.

Proper fix: gvfs should understand the Content-Disposition header.

Content-Disposition: inline; filename="751757.mp3"

I've filed bug 551298 against gvfs for this, but I'm considering implementing the above hack until that gets fixed.
Comment 3 nemoinis 2009-09-08 21:48:37 UTC
I can confirm this bug with Rhythmbox 0.12.0 (Ubuntu 9.04). Trying to download an episode from a redirected feed fails.
In my case it has nothing to do with the filename (which wget does not complain about): rhythmbox just does not handle the redirection. Here's the relevant part of the rhythmbox debug log, followed by a WGET of the same file:

----RHYTHMBOX----
(14:41:56) [0x8495408] [rb_podcast_manager_download_entry] rb-podcast-manager.c:500: Adding podcast episode http://feeds.tipsfromthetopfloor.com/~r/dailyphototip/~5/yW2tGlnNpbk/Card_Reader.mp3 to download list
(14:41:56) [0x8495408] [rb_shell_player_entry_activated_cb] rb-shell-player.c:2703: got entry 0x8ec6d20 activated
(14:41:56) [0x8495408] [rb_shell_clipboard_entryview_changed_cb] rb-shell-clipboard.c:786: entryview changed
(14:41:56) [0x8495408] [rb_podcast_manager_next_file] rb-podcast-manager.c:653: looking for something to download
(14:41:56) [0x8495408] [rb_podcast_manager_next_file] rb-podcast-manager.c:679: processing http://feeds.tipsfromthetopfloor.com/~r/dailyphototip/~5/yW2tGlnNpbk/Card_Reader.mp3
(14:41:56) [0x8495408] [rb_shell_clipboard_sync] rb-shell-clipboard.c:584: syncing clipboard
(14:41:58) [0x8495408] [actually_hide_controls] rb-visualizer-plugin.c:804: hiding controls
(14:41:59) [0x8495408] [download_file_info_cb] rb-podcast-manager.c:724: got file info results for http://feeds.tipsfromthetopfloor.com/~r/dailyphototip/~5/yW2tGlnNpbk/Card_Reader.mp3
(14:41:59) [0x8495408] [download_file_info_cb] rb-podcast-manager.c:735: file info query failed: HTTP Client Error: Forbidden

------WGET------

$ wget http://feeds.tipsfromthetopfloor.com/~r/dailyphototip/~5/yW2tGlnNpbk/Card_Reader.mp3
--2009-09-08 14:25:30--  http://feeds.tipsfromthetopfloor.com/~r/dailyphototip/~5/yW2tGlnNpbk/Card_Reader.mp3
Resolving feeds.tipsfromthetopfloor.com... 74.125.53.121
Connecting to feeds.tipsfromthetopfloor.com|74.125.53.121|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://posterous.com/getfile/files.posterous.com/dptwc/MIU4dwxoxzNgxZYdzakaydANOJMj4oykWut6iXxxXvG6OzGweZmwfGPK2mY7/Card_Reader.mp3 [following]
--2009-09-08 14:25:31--  http://posterous.com/getfile/files.posterous.com/dptwc/MIU4dwxoxzNgxZYdzakaydANOJMj4oykWut6iXxxXvG6OzGweZmwfGPK2mY7/Card_Reader.mp3
Resolving posterous.com... 67.207.139.81
Connecting to posterous.com|67.207.139.81|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://files.posterous.com/dptwc/MIU4dwxoxzNgxZYdzakaydANOJMj4oykWut6iXxxXvG6OzGweZmwfGPK2mY7/Card_Reader.mp3?AWSAccessKeyId=1C9REJR1EMRZ83Q7QRG2&Expires=1252445432&Signature=pXMhc7Cu8oOUhSHSBJdyStR%2FXMU%3D [following]
--2009-09-08 14:25:32--  http://files.posterous.com/dptwc/MIU4dwxoxzNgxZYdzakaydANOJMj4oykWut6iXxxXvG6OzGweZmwfGPK2mY7/Card_Reader.mp3?AWSAccessKeyId=1C9REJR1EMRZ83Q7QRG2&Expires=1252445432&Signature=pXMhc7Cu8oOUhSHSBJdyStR%2FXMU%3D
Resolving files.posterous.com... 207.171.185.196
Connecting to files.posterous.com|207.171.185.196|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2968705 (2.8M) [audio/mpeg]
Saving to: `Card_Reader.mp3?AWSAccessKeyId=1C9REJR1EMRZ83Q7QRG2&Expires=1252445432&Signature=pXMhc7Cu8oOUhSHSBJdyStR%2FXMU='

100%[============================================================================================================>] 2,968,705    591K/s   in 4.9s    

2009-09-08 14:25:38 (596 KB/s) - `Card_Reader.mp3?AWSAccessKeyId=1C9REJR1EMRZ83Q7QRG2&Expires=1252445432&Signature=pXMhc7Cu8oOUhSHSBJdyStR%2FXMU=' saved [2968705/2968705]
Comment 4 Morpheus 2009-09-22 18:00:07 UTC
I have similar bug with this redirected URL http://s3.amazonaws.com/ivoox/obama-arenys-%C2%ABtodo-mundo-odia-a125032.mp3 . This is a valid url: http://s3.amazonaws.com/ivoox/obama-arenys-%C2%ABtodo-mundo-odia-a125032.mp3?AWSAccessKeyId=AKIAIUXBWX5R4Z3FBVYQ&Expires=1253642390&Signature=%2Fd2IQL9ambxQ1yDxsXarRN2UNys%3D ; and the original url: http://feedproxy.google.com/~r/DameLaVoz/~5/PJEF80pw8MI/obama-arenys-todo-mundo-odia-a_mf_125032_1.mp3

On version 0.12.0 (Ubuntu 9.04), and debug mode show this:
(19:57:15) [0xbdc500] [download_file_info_cb] rb-podcast-manager.c:724: got file info results for http://feedproxy.google.com/~r/DameLaVoz/~5/PJEF80pw8MI/obama-arenys-todo-mundo-odia-a_mf_125032_1.mp3
(19:57:15) [0xbdc500] [download_file_info_cb] rb-podcast-manager.c:735: file info query failed: Error HTTP en el cliente: Forbidden
(19:57:15) [0xbdc500] [rb_podcast_manager_next_file] rb-podcast-manager.c:653: looking for something to download
(19:57:15) [0xbdc500] [rb_podcast_manager_next_file] rb-podcast-manager.c:667: download queue is empty
Comment 5 Linas Jakucionis 2009-12-04 08:54:07 UTC
Same for this podcast:
http://rss.sciam.com/sciam/60secsciencepodcast
Comment 6 Linas Jakucionis 2009-12-04 08:55:53 UTC
This, affects Rhythmbox 0.12.6
Comment 7 GNOME Infrastructure Team 2018-05-24 13:37:23 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/621.