Hi there!

While net-streaming under Linux works fine a lot of the time, directing FMOD to stream from a shut-down station or just a generally bad port number causes the FMOD-using application to crash with a SIGPIPE. This is reproducable with the ‘netstream’ app which comes with the FMOD package.

A station URL which is simply overloaded or has a bad hostname causes a simple error instead of a crash – to reproduce the crash you need to use a URL with a port on which nothing is listening.

~/get/fmodapi375linux/samples/netstream$ gdb ./netstream
GNU gdb 6.4-debian
Copyright 2005 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 http://localhost:8000/
Starting program: ~/get/fmodapi375linux/samples/netstream/netstream http://localhost:8000/
[Thread debugging using libthread_db enabled]

[New Thread -1211136320 (LWP 10491)]

Open Sound System Driver list

1 – /dev/dsp

Press a corresponding number or ESC to quit
1[New Thread -1211139152 (LWP 10494)]
[New Thread -1219531856 (LWP 10495)]
[New Thread -1227924560 (LWP 10496)]

Press ESC to quit...

[New Thread -1236317264 (LWP 10497)]

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread -1236317264 (LWP 10497)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt

0 0xffffe410 in __kernel_vsyscall ()

1 0xb7e369f8 in send () from /lib/tls/i686/cmov/libpthread.so.0

2 0xb7f8e4de in FSOUND_Sockbuf_UpdateThread () from ../../api/libfmod-3.75.so

3 0x00000000 in ?? ()


  • You must to post comments

It’s not really a crash, sockets is just throwing a SIGPIPE signal which aborts the program.

We’ll have a look into it and see if we can do anything about it.

  • You must to post comments

Well, sure, I think it’s fair to define a crash as an ‘undesired program abort’. :)

Thanks for looking into it!

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.