[Ian Jackson] > It works fine under valgrind (!). How strange. It ran without crashing here too, for what that is worth. Were there any messages at all from valgrind? Uninitialized memory or anything vagely related?
> Program received signal SIGSEGV, Segmentation fault. > __lll_unlock_elision (lock=lock@entry=0x805d6cc <output_lock>, private=0) > at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 > 29 ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c: No such file or > directory. > (gdb) bt > #0 __lll_unlock_elision (lock=lock@entry=0x805d6cc <output_lock>, private=0) > at ../nptl/sysdeps/unix/sysv/linux/x86/elision-unlock.c:29 > #1 0xf7ed5080 in __pthread_mutex_unlock_usercnt (mutex=mutex@entry=0x805d6cc > <output_lock>, decr=decr@entry=1) > at pthread_mutex_unlock.c:66 > #2 0xf7ed511e in __GI___pthread_mutex_unlock (mutex=0x805d6cc <output_lock>) > at pthread_mutex_unlock.c:310 > #3 0x0805125d in status_reset_output_lock () at status.c:342 > #4 0x0804fa49 in play (source_string=0x807ccf0 "x\333\b\bP\244\341", > <incomplete sequence \367>) at ogg123.c:746 > #5 0x0804ac28 in main (argc=4, argv=0xffffd964) at ogg123.c:496 > (gdb) Hm, could this be some race condition? The function in question only unlock a mutex, and I have no idea how that can segfault. Hard to reproduce unfortunatelly means it will be hard to fix. :( -- Happy hacking Petter Reinholdtsen