Bob Tanner wrote: > Playing sound 6 (type 0), offset 0, 0 > > Program received signal SIGPIPE, Broken pipe. > [Switching to Thread -1210617184 (LWP 11721)] > 0x410e340e in __write_nocancel () from /lib/tls/libc.so.6 > (gdb) bt > #0 0x410e340e in __write_nocancel () from /lib/tls/libc.so.6 > #1 0x41085b6f in _IO_new_file_write () from /lib/tls/libc.so.6 > #2 0x41084cde in new_do_write () from /lib/tls/libc.so.6 > #3 0x41084c76 in _IO_new_do_write () from /lib/tls/libc.so.6 > #4 0x41085322 in _IO_new_file_sync () from /lib/tls/libc.so.6 > #5 0x410798a8 in fflush () from /lib/tls/libc.so.6 > #6 0x0807133d in play_sound (soundnum=6, soundtype=0, x=0, y=0) at > sound.c:100 > #7 0x08071442 in SoundCmd (data=0x8262810 "", len=5) at sound.c:128 > #8 0x080715ab in DoClient (csocket=0x81ce8c0) at client.c:152 > #9 0x08053ada in do_network () at gx11.c:346 > #10 0xb7e81cfb in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0 > #11 0x081ce8c0 in sound_process () > #12 0x0000000d in ?? () > #13 0x00000001 in ?? () > #14 0xb7e664a8 in ?? () from /usr/lib/libglib-1.2.so.0 > #15 0x00000000 in ?? () > #16 0x081e8f30 in ?? () > #17 0xbffff658 in ?? () > #18 0xb7e54a56 in g_io_add_watch () from /usr/lib/libglib-1.2.so.0 > #19 0xb7e54a56 in g_io_add_watch () from /usr/lib/libglib-1.2.so.0 > #20 0xb7e5603d in g_get_current_time () from /usr/lib/libglib-1.2.so.0 > #21 0xb7e564f4 in g_get_current_time () from /usr/lib/libglib-1.2.so.0 > #22 0xb7e56724 in g_main_run () from /usr/lib/libglib-1.2.so.0 > #23 0xb7f4325f in gtk_main () from /usr/lib/libgtk-1.2.so.0 > #24 0x08053ba3 in event_loop () at gx11.c:401 > #25 0x08068579 in main (argc=1, argv=0xbffff884) at gx11.c:5992 That is 'normal'. By default, gdb will catch sigpipes (it will in fact catch all signals). the client has its own signal handler, so for lack of a better term, isn't a big deal. If you tpe 'continue' at the gdb prompt, what happens next? that is the real crash (most users don't run there programs under gdb)