GNOME Bugzilla – Bug 346284
Crashes when the host is blocked in the firewall
Last modified: 2006-09-13 10:13:47 UTC
Steps to reproduce: 1. Choose a radio 2. Block access to the IP of the radio, with iptables or any other firewall/frontend 3. Play the radio, it will try to connect and eventually crash... not everytime but... most of the time. Stack trace: Other information:
Thanks for the bug report. Without a stack trace from the crash it's very hard to determine what caused it. Can you provide us with one? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Here goes... hope it's what you want. Btw... i've had a a couple of friends trying this and they all get the crash. Different distros even different versions. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1536164944 (LWP 5217)] 0x0808f3d9 in rb_source_handle_eos () (gdb) thread apply all bt
+ Trace 69148
Thread 18 (Thread -1536164944 (LWP 5217))
You can try the bug without blocking anything... Just add a unexisting radio like... http://somegoodoldradio.com and try to play it. The end result is the same.
Trying to play from an address that doesn't exist or is blocked by a firewall works fine here (with an "unable to start playback" error). Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Ok new trace :) anarka@sueca:~$ gdb rhythmbox GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) run Starting program: /usr/bin/rhythmbox [Thread debugging using libthread_db enabled] [New Thread -1496254784 (LWP 13286)] [New Thread -1499468880 (LWP 13292)] [New Thread -1499804752 (LWP 13293)] [New Thread -1508197456 (LWP 13295)] [Thread -1499804752 (LWP 13293) exited] [Thread -1508197456 (LWP 13295) exited] [New Thread -1508197456 (LWP 13296)] [New Thread -1499804752 (LWP 13300)] [Thread -1499804752 (LWP 13300) exited] [Thread -1508197456 (LWP 13296) exited] [New Thread -1508197456 (LWP 13371)] [New Thread -1499804752 (LWP 13372)] [Thread -1499804752 (LWP 13372) exited] [New Thread -1499804752 (LWP 13376)] [Thread -1499804752 (LWP 13376) exited] [New Thread -1499804752 (LWP 13401)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1499804752 (LWP 13401)] rb_source_handle_eos (source=0x0) at rb-source.c:816 816 return klass->impl_handle_eos (source); (gdb) thread apply all bt
+ Trace 69271
Thread 10 (Thread -1499804752 (LWP 13401))
oops... i'm using rhythmbox 0.9.5, debian package.
Ah, we're not checking if the sourceis NULL before using it. I've fixed it in cvs: http://cvs.gnome.org/viewcvs/rhythmbox/shell/rb-shell-player.c?r1=1.248&r2=1.249
*** Bug 355713 has been marked as a duplicate of this bug. ***