GNOME Bugzilla – Bug 551292
maybe work around http redirect/filename problems
Last modified: 2018-05-24 13:37:23 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
rhythmbox svn trunk successfully downloads episodes from this podcast, but names the downloaded files 'QuerySplicedItemContent', which sucks.
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.
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]
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
Same for this podcast: http://rss.sciam.com/sciam/60secsciencepodcast
This, affects Rhythmbox 0.12.6
-- 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.