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 695652 - Indefinite hang in run_sync_state_machine() on close()
Indefinite hang in run_sync_state_machine() on close()
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: HTTP Transport
2.44.x
Other Linux
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
: 639777 689895 698464 700561 703536 706225 708225 709002 710813 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-03-11 19:08 UTC by mfisch@ubuntu.com
Modified: 2013-12-23 00:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Backtrace for rhythmbox (2.89 KB, text/plain)
2013-03-14 07:52 UTC, Walter Garcia-Fontes
Details
Backtrace second trial (13.90 KB, text/plain)
2013-03-14 08:53 UTC, Walter Garcia-Fontes
Details
Backtrace third trial (32.77 KB, text/plain)
2013-03-15 11:11 UTC, Walter Garcia-Fontes
Details
Backtrace fourth trial (14.15 KB, text/plain)
2013-03-15 12:14 UTC, Walter Garcia-Fontes
Details

Description mfisch@ubuntu.com 2013-03-11 19:08:40 UTC
Upon upgrading to Rhythmbox 2.98, I've been unable to play any streams from Bassdrive.com, example streams:

http://bassdrive.com/v2/streams/BassDrive.pls   (128k)
http://bassdrive.com/v2/streams/BassDrive6.pls  (56k)

This worked great in version 2.97 and 2.96, I used to listen to this station all day.

Rhythmbox -d does not offer many clues, it appears to find the right stream and then nothing happens. The play button stays a play button and no audio is heard.  When I close RB, I do get a notification that simply says "not Playing". Further clicking on the Play button does not produce any debug output.

Playing this in mplayer works fine, as does their own flash streaming client used in browser.  Logs are below:

Rhythmbox logs, I clicked on Play twice in this example:
(13:07:21) [0x7fafb00046d0] [rb_shell_player_cmd_play] rb-shell-player.c:2338: play!
(13:07:21) [0x7fafb00046d0] [rb_shell_player_playpause] rb-shell-player.c:2367: doing playpause
(13:07:21) [0x7fafb00046d0] [rb_shell_player_playpause] rb-shell-player.c:2402: no playing source, using selected source
(13:07:21) [0x7fafb00046d0] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:3124: setting playing source to 0x18624b0
(13:07:21) [0x7fafb00046d0] [player_has_prev_changed_cb] rb-mpris-plugin.c:1310: emitting CanGoPrevious change
(13:07:21) [0x7fafb00046d0] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: 0x18624b0, active entry: (nil)
(13:07:21) [0x7fafb00046d0] [rb_shell_set_window_title] rb-shell.c:2638: clearing title
(13:07:21) [0x7fafb00046d0] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x18624b0
(13:07:21) [0x7fafb00046d0] [rb_shell_playing_source_changed_cb] rb-shell.c:2525: playing source changed
(13:07:21) [0x7fafb00046d0] [playing_source_changed_cb] rb-iradio-source.c:1141: connecting info-available signal handler
(13:07:21) [0x7fafb00046d0] [playing_source_changed_cb] rb-mpris-plugin.c:1286: emitting CanPause change
(13:07:21) [0x7fafb00046d0] [playing_source_changed_cb] rb-mpris-plugin.c:1289: emitting ActivePlaylist change
(13:07:21) [0x7fafb00046d0] [rb_shell_player_playpause] rb-shell-player.c:2427: choosing first selected entry
(13:07:21) [0x7fafb00046d0] [rb_random_play_order_get_previous] rb-play-order-random.c:395: choosing history entry
(13:07:21) [0x7fafb00046d0] [rb_shell_player_set_playing_entry] rb-shell-player.c:1797: Success!
(13:07:21) [0x7fafb00046d0] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: 0x18624b0, active entry: 0x7faf98016b40
(13:07:21) [0x7fafb00046d0] [rb_shell_set_window_title] rb-shell.c:2661: setting title to "Bassdrive"
(13:07:21) [0x7fafb00046d0] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x18624b0
(13:07:22) [0x25ca6d0] [playlist_entry_cb] rb-shell-player.c:1560: adding stream url http://amsterdam1.serverhostingcenter.streams.bassdrive.com:8000 (0x7fafa0002c00)
(13:07:23) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:23) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:23) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300
(13:07:37) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:37) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:37) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300
(13:07:39) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:39) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:39) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300

(13:07:41) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:41) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:41) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300
(13:07:42) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:42) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:42) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300
(13:07:42) [0x7fafb00046d0] [rb_shell_player_cmd_play] rb-shell-player.c:2338: play!
(13:07:42) [0x7fafb00046d0] [rb_shell_player_playpause] rb-shell-player.c:2367: doing playpause
(13:07:42) [0x7fafb00046d0] [rb_shell_player_play] rb-shell-player.c:1714: currently parsing a playlist
(13:07:42) [0x7fafb00046d0] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: 0x18624b0, active entry: 0x7faf98016b40
(13:07:42) [0x7fafb00046d0] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x18624b0
(13:07:43) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2195: paned position 160
(13:07:43) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2202: right_paned position 400
(13:07:43) [0x7fafb00046d0] [sync_window_settings] rb-shell.c:2209: sidebar paned position 300




mplayer output:
mfisch@caprica:/tmp/rhythmbox-2.98/shell$ mplayer http://bassdrive.com/v2/streams/BassDrive.pls
MPlayer svn r34540 (Ubuntu), built with gcc-4.7 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://bassdrive.com/v2/streams/BassDrive.pls.
Resolving bassdrive.com for AF_INET6...

Couldn't resolve name for AF_INET6: bassdrive.com
Resolving bassdrive.com for AF_INET...
Connecting to server bassdrive.com[209.143.2.156]: 80...

Cache size set to 320 KBytes
Unknown entry type Version=2


Playing http://czech1.serverhostingcenter.streams.bassdrive.com:8200.
Resolving czech1.serverhostingcenter.streams.bassdrive.com for AF_INET6...

Couldn't resolve name for AF_INET6: czech1.serverhostingcenter.streams.bassdrive.com
Resolving czech1.serverhostingcenter.streams.bassdrive.com for AF_INET...
Connecting to server czech1.serverhostingcenter.streams.bassdrive.com[50.7.245.130]: 8200...

Name   : Bassdrive - Worldwide Drum and Bass Radio
Genre  : Techno
Website: http://www.bassdrive.com
Public : yes
Bitrate: 128kbit/s
Cache size set to 320 KBytes
Cache fill:  2.50% (8192 bytes)   
ICY Info: StreamTitle='Monday Blues W/ Fizzik --- Facebook.com/fizzikbd';StreamUrl='';
Cache fill: 10.00% (32768 bytes)   

Audio only file format detected.
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A: 178.5 (02:58.5) of -0.0 (unknown)  0.5% 45%
Comment 1 mfisch@ubuntu.com 2013-03-11 19:09:41 UTC
I should have clarified my comment that, "Further clicking on the Play button does not produce any debug output.". I meant to add the word "interesting" or "useful", there is in fact output.
Comment 2 Jonathan Matthew 2013-03-11 20:57:57 UTC
Works for me.

Output from 'GST_DEBUG=*:3 rhythmbox -D player' might be useful.
Comment 3 mfisch@ubuntu.com 2013-03-11 22:40:04 UTC
Here is the output:

mfisch@caprica:~/Projects/cambridge-armhf/cambridge-default-settings$ GST_DEBUG=*:3 rhythmbox -D player
(16:39:03) [0xfe8030] [player_settings_changed_cb] rb-shell-player.c:1840: track transition time changed
(16:39:03) [0xfe8030] [player_settings_changed_cb] rb-shell-player.c:1831: play order setting changed
(16:39:03) [0xfe8030] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source (nil)
(16:39:03) [0xfe8030] [rb_shell_player_sync_control_state] rb-shell-player.c:2483: syncing control state
(16:39:03) [0xfe8030] [rb_shell_player_repeat_changed_cb] rb-shell-player.c:2681: repeat changed
(16:39:03) [0xfe8030] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:3124: setting playing source to (nil)
(16:39:03) [0xfe8030] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: (nil), active entry: (nil)
(16:39:03) [0xfe8030] [rb_shell_player_sync_control_state] rb-shell-player.c:2483: syncing control state
(16:39:03) [0xfe8030] [rb_generic_player_plugin_init] rb-generic-player-plugin.c:104: RBGenericPlayerPlugin initialising
(16:39:03) [0xfe8030] [rb_shell_player_set_source_internal] rb-shell-player.c:1117: selected source 0x12800c0
(16:39:03) [0xfe8030] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3419: syncing with selected source: 0x12800c0
(16:39:03) [0xfe8030] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3422: no playing source, new source is 0x12800c0
(16:39:03) [0xfe8030] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: (nil), active entry: (nil)
(16:39:03) [0xfe8030] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x12800c0

(rhythmbox:6993): Rhythmbox-WARNING **: Unable to grab media player keys: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface `org.gnome.SettingsDaemon.MediaKeys' on object at path /org/gnome/SettingsDaemon/MediaKeys
(16:39:05) [0xfe8030] [rb_shell_player_set_source_internal] rb-shell-player.c:1117: selected source 0x11e6520
(16:39:05) [0xfe8030] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3419: syncing with selected source: 0x11e6520
(16:39:05) [0xfe8030] [rb_shell_player_sync_with_selected_source] rb-shell-player.c:3422: no playing source, new source is 0x11e6520
(16:39:05) [0xfe8030] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: (nil), active entry: (nil)
(16:39:05) [0xfe8030] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x11e6520
(16:39:08) [0xfe8030] [rb_shell_player_cmd_play] rb-shell-player.c:2338: play!
(16:39:08) [0xfe8030] [rb_shell_player_playpause] rb-shell-player.c:2367: doing playpause
(16:39:08) [0xfe8030] [rb_shell_player_playpause] rb-shell-player.c:2402: no playing source, using selected source
(16:39:08) [0xfe8030] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:3124: setting playing source to 0x11e6520
(16:39:08) [0xfe8030] [player_has_prev_changed_cb] rb-mpris-plugin.c:1310: emitting CanGoPrevious change
(16:39:08) [0xfe8030] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: 0x11e6520, active entry: (nil)
(16:39:08) [0xfe8030] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x11e6520
(16:39:08) [0xfe8030] [rb_shell_player_playpause] rb-shell-player.c:2427: choosing first selected entry
(16:39:08) [0xfe8030] [rb_shell_player_set_playing_entry] rb-shell-player.c:1797: Success!
(16:39:08) [0xfe8030] [rb_shell_player_sync_with_source] rb-shell-player.c:2948: playing source: 0x11e6520, active entry: 0x7f7ce0015cc0
(16:39:08) [0xfe8030] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x11e6520
(16:39:08) [0x23915e0] [playlist_entry_cb] rb-shell-player.c:1560: adding stream url http://shouthostdirect10.streams.bassdrive.com:8200 (0x7f7cec003140)
Comment 4 Walter Garcia-Fontes 2013-03-12 07:30:20 UTC
It happens also for me with Rhythmbox 2.98. See:

https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/1153934

for information on my system
Comment 5 Walter Garcia-Fontes 2013-03-12 16:17:41 UTC
mplayer plays this stream perfectly:

http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u

but Rhythmbox radio does not play it
Comment 6 Jonathan Matthew 2013-03-13 22:17:54 UTC
That also works properly for me. Are there any streams that work for you?

Try playing a stream, then attach gdb to rhythmbox and get a full stack trace for all threads. See http://live.gnome.org/GettingTraces for more information.
Comment 7 Walter Garcia-Fontes 2013-03-14 07:52:26 UTC
Created attachment 238841 [details]
Backtrace for rhythmbox
Comment 8 Walter Garcia-Fontes 2013-03-14 07:55:26 UTC
I used to have (yesterday) streams that play:

http://www.catmusica.cat/directes/catmusica_wm.m3u

and streams that don't play:

http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u


Today the first one does not play either. 

I attach the backtrace I created by opening rhythmbox, clicking on the stream entries in radio (nothing happens, no message and no sound, if I click on the "play" button at the taskbar the message above says "Paused" but nothing else happens).
Comment 9 Jonathan Matthew 2013-03-14 08:26:15 UTC
It looks like you tried to get a stack trace after the process had exited, which is not at all useful. Once you've tried playing a stream, hit ctrl-c in gdb and then do 'thread apply all bt'.
Comment 10 Walter Garcia-Fontes 2013-03-14 08:53:10 UTC
Thanks Jonathan for your prompt response. Here it goes again following your instructions.
Comment 11 Walter Garcia-Fontes 2013-03-14 08:53:47 UTC
Created attachment 238845 [details]
Backtrace second trial
Comment 12 Jonathan Matthew 2013-03-15 10:42:50 UTC
Please install debug symbols for glib and totem-pl-parser and generate another stack trace.
Comment 13 Walter Garcia-Fontes 2013-03-15 11:11:01 UTC
Created attachment 238967 [details]
Backtrace third trial
Comment 14 Walter Garcia-Fontes 2013-03-15 11:11:28 UTC
Here it goes, thanks again.
Comment 15 Jonathan Matthew 2013-03-15 11:41:51 UTC
This is slightly more useful, but it's still missing debug symbols for totem-pl-parser.
Comment 16 Walter Garcia-Fontes 2013-03-15 12:14:46 UTC
Created attachment 238974 [details]
Backtrace fourth trial

Sorry, the packages with the debug symbols are hard to find as they don't have the same name as the packages being debugged. But I think now I found it (libtotem-plparser-dbg) and installed. Let's see now and thanks for your patience.
Comment 17 Jonathan Matthew 2013-03-15 22:26:33 UTC
What output do you get from this python script? (you can also replace the url with any other stream that doesn't work)

#!/usr/bin/env python
from gi.repository import TotemPlParser
p = TotemPlParser.Parser()
p.props.debug = True
p.parse("http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u", False)
Comment 18 Walter Garcia-Fontes 2013-03-16 09:31:38 UTC
I tried it from my laptop, the output above I got from my desktop which is at my job and I will not be there until Monday. But in any case I see exactly the same problem as reported here too, Rhythbox is the same version and my OS is the same, exactly at the same version. 

Another piece of information is that if I do:

mplayer http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u

the stream is reproduced OK.

This is the output of your script, after running it stops at the las line and stays there:

Checking videosite for URI 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u' returned 65 (false)
_get_mime_type_for_name for 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u' returned 'audio/x-mpegurl'
URI 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u' is special type 'audio/x-mpegurl'
Using audio/x-mpegurl function for 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u'
Checking videosite for URI 'http://195.10.10.213/rtve/radioclasica.mp3?GKID=20e3a5fa8e1b11e2973900163e914f68' returned 65 (false)
_get_mime_type_for_name for 'http://195.10.10.213/rtve/radioclasica.mp3?GKID=20e3a5fa8e1b11e2973900163e914f68' returned 'application/octet-stream'
URI 'http://195.10.10.213/rtve/radioclasica.mp3?GKID=20e3a5fa8e1b11e2973900163e914f68' was opened successfully in _get_mime_type_with_data
Comment 19 melchiaros 2013-03-16 14:17:30 UTC
*** Bug 689895 has been marked as a duplicate of this bug. ***
Comment 20 Jonathan Matthew 2013-04-20 21:46:42 UTC
*** Bug 698464 has been marked as a duplicate of this bug. ***
Comment 21 Jonathan Matthew 2013-04-20 21:50:54 UTC
comment 18 makes it clear the problem is in totem-pl-parser or below, so I'm reassigning there.
Comment 22 Bastien Nocera 2013-04-21 11:10:57 UTC
Another broken HTTP server.
Comment 23 Walter Garcia-Fontes 2013-04-21 14:11:00 UTC
Re: comment 22, can it be? Mplayer plays fine the same links.
Comment 24 Bastien Nocera 2013-04-21 16:04:47 UTC
(In reply to comment #23)
> Re: comment 22, can it be? Mplayer plays fine the same links.

It hangs replying to HEAD queries. That's broken...
Comment 25 Walter Garcia-Fontes 2013-04-22 03:42:48 UTC
But how come it stopped working exactly at the update from 2.97 to 2.98? Has Rhythmbox started using another version of totem-pl-parser also? Has totem-pl-parser become more demanding on something lately? This is happenin consistently for a lot of links which used to work in the previous version of Rhythmbox, which I presume uses also another version of totem-pl-parser, otherwise it's difficult to explain.
Comment 26 Bastien Nocera 2013-04-25 10:49:49 UTC
(In reply to comment #25)
> But how come it stopped working exactly at the update from 2.97 to 2.98?

I seriously doubt that the update was the trigger.

> Has
> Rhythmbox started using another version of totem-pl-parser also? Has
> totem-pl-parser become more demanding on something lately? This is happenin
> consistently for a lot of links which used to work in the previous version of
> Rhythmbox, which I presume uses also another version of totem-pl-parser,
> otherwise it's difficult to explain.

I usually work on facts rather than presumption. The version of totem-pl-parser hasn't changed. You probably upgraded half a ton of other system libraries in the process, and ended up blaming it on Rhythmbox until another culprit (totem-pl-parser) came along.

1) gvfs/gio hangs trying to close the stream:
$ libtool --mode=execute gdb --args ./parser --debug http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u
_get_mime_type_for_name for 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u' returned 'audio/x-mpegurl'
URI 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u' is special type 'audio/x-mpegurl'
Using audio/x-mpegurl function for 'http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u'
** Message: Started playlist "http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u"...
** Message: 	content-type = 'audio/x-mpegurl'
_get_mime_type_for_name for 'http://195.10.10.207/rtve/radioclasica.mp3?GKID=44e838e0ad9111e2973900163e914f68' returned 'application/octet-stream'
URI 'http://195.10.10.207/rtve/radioclasica.mp3?GKID=44e838e0ad9111e2973900163e914f68' was opened successfully in _get_mime_type_with_data
^C
Program received signal SIGINT, Interrupt.
0x0000003b31eea8fd in poll () from /lib64/libc.so.6
(gdb) bt
  • #0 poll
    from /lib64/libc.so.6
  • #1 g_poll
    at gpoll.c line 132
  • #2 g_unix_input_stream_read
    at gunixinputstream.c line 373
  • #3 g_input_stream_read
    at ginputstream.c line 204
  • #4 run_sync_state_machine
    at gdaemonfileinputstream.c line 491
  • #5 g_daemon_file_input_stream_close
    at gdaemonfileinputstream.c line 1068
  • #6 g_input_stream_close
    at ginputstream.c line 509
  • #7 g_input_stream_dispose
    at ginputstream.c line 103
  • #8 g_object_unref
    at gobject.c line 3140
  • #9 my_g_file_info_get_mime_type_with_data
    at totem-pl-parser.c line 772
  • #10 totem_pl_parser_parse_internal
    at totem-pl-parser.c line 1851
  • #11 totem_pl_parser_add_m3u
    at totem-pl-parser-lines.c line 423
  • #12 totem_pl_parser_parse_internal
    at totem-pl-parser.c line 1908
  • #13 totem_pl_parser_parse_with_base
    at totem-pl-parser.c line 2107
  • #14 test_parsing_real
    at parser.c line 1102
  • #15 push_parser
    at parser.c line 1132
  • #16 g_idle_dispatch
    at gmain.c line 5209
  • #17 g_main_dispatch
    at gmain.c line 3058
  • #18 g_main_context_dispatch
    at gmain.c line 3634
  • #19 g_main_context_iterate
    at gmain.c line 3705
  • #20 g_main_loop_run
    at gmain.c line 3899
  • #21 test_parsing
    at parser.c line 1168
  • #22 main
    at parser.c line 1309

2) The original bassdrive.com pls files are broken. They advertise the first stream as (well) a stream 12 times, and the 11 other streams, zero:
$ gvfs-cat http://bassdrive.com/v2/streams/BassDrive.pls | grep Length1= 
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1
Length1=-1

3) For the http://radioclasica.rtve.stream.flumotion.com/rtve/radioclasica.mp3.m3u stream, we don't take into account the fact that the stream is advertised as such in the EXTINF. That's now fixed.

commit 8dd63c9f8aa85ae4687bb4b90c9c1de886069ac0
Author: Bastien Nocera <hadess@hadess.net>
Date:   Thu Apr 25 12:44:53 2013 +0200

    plparse: Handle length attribute for M3U playlists
    
    When an M3U playlist advertises the length of an item as -1, we
    don't need to check whether it is another playlist, it would usually
    be a file of unknown duration, or a stream.
    
    This matches the current code in the PLS parser, and works around
    hang-on-close() bugs in gvfs.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=695652
Comment 27 Walter Garcia-Fontes 2013-04-25 11:01:28 UTC
Thanks Bastien, this seems to settle the issue.
Comment 28 Bastien Nocera 2013-05-17 23:19:57 UTC
*** Bug 700561 has been marked as a duplicate of this bug. ***
Comment 29 Bastien Nocera 2013-05-17 23:29:08 UTC
This hangs on open for example:
$ gvfs-cat http://207.200.96.225:8020/
Comment 30 Thomas Hotz 2013-06-22 11:28:10 UTC
Bastien from your post in #26.

> The original bassdrive.com pls files are broken. 
Yes, they are.

Question: Is Rhythmbox the only music player that uses gvfs?

In the development versions of Fedora, OpenSuse and Ubuntu I can't play my files from Austrian radio stations (that worked in previous releases) with Rhythmbox, for example this one:

http://onair.krone.at:80/kronehit-hd.mp3

I tested Exaile, Clemententine and Banshee on those Distributions and this streams played ok.
Comment 31 Andrea Mayer 2013-07-07 16:40:02 UTC
Can confirm this for Fedora 19 (in Fedora 18 this problem doesn't occur) and rhythmbox for every Web radio I have tried. Killing the gvfs-http process helps.
Comment 32 Jonathan Matthew 2013-07-07 21:18:23 UTC
*** Bug 703536 has been marked as a duplicate of this bug. ***
Comment 33 Thomas Hotz 2013-07-13 09:45:03 UTC
Andrea Mayer: Have you raised a bug report in the Red Hat bugzilla? Or someone else? Thank you for your confirmation here!
Comment 34 Ondrej Holy 2013-07-31 14:26:08 UTC
(In reply to comment #29)
> This hangs on open for example:
> $ gvfs-cat http://207.200.96.225:8020/

This hangs, however:

$ ping http://207.200.96.225/
ping: unknown host http://207.200.96.225/

Have you another example using only gvfs cmd tools? I'm unable to replicate it using gvfs-cat on different sites...
Comment 35 Ondrej Holy 2013-07-31 14:38:42 UTC
(In reply to comment #30)
> Bastien from your post in #26.
> 
> > The original bassdrive.com pls files are broken. 
> Yes, they are.
> 
> Question: Is Rhythmbox the only music player that uses gvfs?
> 
> In the development versions of Fedora, OpenSuse and Ubuntu I can't play my
> files from Austrian radio stations (that worked in previous releases) with
> Rhythmbox, for example this one:
> 
> http://onair.krone.at:80/kronehit-hd.mp3

It works for me without hanging when you add this radio using playlist:

http://onair.krone.at/kronehit-hd.mp3.m3u

Could you prove it? Should it work directly using audio stream?
Comment 36 Tomas Bzatek 2013-07-31 15:12:28 UTC
(In reply to comment #34)
> (In reply to comment #29)
> > This hangs on open for example:
> > $ gvfs-cat http://207.200.96.225:8020/
> 
> This hangs, however:
> 
> $ ping http://207.200.96.225/
> ping: unknown host http://207.200.96.225/
> 
> Have you another example using only gvfs cmd tools? I'm unable to replicate it
> using gvfs-cat on different sites...

FYI, ping accepts hostnames, not URIs ;-)

Anyway, curl hangs as well, please discard this case.
Comment 37 Hendrik Knackstedt 2013-08-11 15:36:58 UTC
I am still seeing this issue with Rhythmbox 2.99.1 and also with Totem 3.8.2 on Archlinux 64-bit.

Trying to play any of the following streams won't work in these programs: http://www.ndr.de/radio/livestreams101.html

VLC and older versions of Rhythmbox and Totem play all of those streams perfectly.

Why is this marked "Needing information"? What do you need and how can I help to get this fixed?
Comment 38 Ondrej Holy 2013-08-14 12:11:43 UTC
(In reply to comment #37)
> I am still seeing this issue with Rhythmbox 2.99.1 and also with Totem 3.8.2 on
> Archlinux 64-bit.
> 
> Trying to play any of the following streams won't work in these programs:
> http://www.ndr.de/radio/livestreams101.html
> 
> VLC and older versions of Rhythmbox and Totem play all of those streams
> perfectly.
> 
> Why is this marked "Needing information"? What do you need and how can I help
> to get this fixed?

Thanks for the links, I have been looking reproducer using gvfs cmd tools.

This hangs when I do that multiple times:
gvfs-cat http://ndrstream.ic.llnwd.net/stream/ndrstream_ndr1niedersachsen_hi_mp3
Comment 39 Ondrej Holy 2013-08-14 13:25:54 UTC
The trigger is libsoup commit 9effb5ca942412ecde9242c745f2df6da80853a3.
Comment 40 Ondrej Holy 2013-09-10 13:45:35 UTC
Potential duplicate of the Bug 639777.
Comment 41 Ondrej Holy 2013-09-16 12:57:11 UTC
*** Bug 639777 has been marked as a duplicate of this bug. ***
Comment 42 Jonathan Matthew 2013-09-19 21:48:32 UTC
*** Bug 708225 has been marked as a duplicate of this bug. ***
Comment 43 Jonathan Matthew 2013-09-28 20:26:26 UTC
*** Bug 709002 has been marked as a duplicate of this bug. ***
Comment 44 Dan Winship 2013-09-29 15:14:05 UTC
yup, it's libsoup's fault. Fixed in git, will be in 2.44.1. I'm building Fedora 20 packages now, see https://bugzilla.redhat.com/show_bug.cgi?id=1013128.
Comment 45 Jonathan Matthew 2013-10-24 21:46:15 UTC
*** Bug 710813 has been marked as a duplicate of this bug. ***
Comment 46 André Klapper 2013-11-06 11:34:51 UTC
FYI, also works fine on Fedora 19 now with
  gvfs-1.16.3-2.fc19.i686
  libsoup-2.42.2-5.fc19.i686
Comment 47 Ross Lagerwall 2013-11-14 06:35:57 UTC
*** Bug 706225 has been marked as a duplicate of this bug. ***
Comment 48 Sebastien Bacher 2013-11-14 09:46:00 UTC
@Dan: thanks for fixing the issue! 

Looking to the fc19 I see that you applied http://pkgs.fedoraproject.org/cgit/libsoup.git/tree/no-block-on-close.patch?h=f19, could that also be backported to the 2.42 serie upstream? 

I see some commits to fix hang/leak issues since that serie since 2.42.2, not sure which ones are needed to fix the bug here but it would be nice to get a new 2.42.3 tarball out as well.
Comment 49 Sebastien Bacher 2013-11-14 10:02:48 UTC
(seems like the fc19 patch is a backport of https://git.gnome.org/browse/libsoup/commit/?id=96da2df64c9dd8cc52e97ce73e54615d6b520664)
Comment 50 Dan Winship 2013-11-14 15:52:35 UTC
(In reply to comment #48)
> it would be nice to get a new 2.42.3 tarball out as well.

done
Comment 51 Sebastien Bacher 2013-11-14 16:09:32 UTC
Thanks a lot Dan!