Alexander Markley
2003-Sep-14 18:39 UTC
[vorbis] ov_clear(&vorbis) segfaults? (Backtrace and test case)
Well, I've done more work on this today and done the following: -I simplified the test program to just under 125 lines of code. -I discovered that the code works fine on my friend's Darwin machine. -I discovered that the code works fine in my friend's i386 linux machine. -I discovered that the code fails in ALL of my i386 redhat 9 machines. (Even the ones where I've rebuilt libogg and libvorbis from source.) Hope some of this stuff helps: Here is the requested backtrace. [alex@elbmin3 audio_crash_test]$ gdb ./audio_test.linux GNU gdb Red Hat Linux (5.3post-0.20021129.18rh) Copyright 2003 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 "i386-redhat-linux-gnu"... (gdb) run sfx.ogg --clear Starting program: /home/alex/prog/evilminigames/audio_crash_test/audio_test.linux sfx.ogg --clear Loaded Sound: "sfx.ogg", Channels: 2, Sample Rate: 22050 Trying to clear vorbis struct. (Crash time.) Program received signal SIGSEGV, Segmentation fault. 0x400b0f89 in free () from /lib/libc.so.6 (gdb) bt #0 0x400b0f89 in free () from /lib/libc.so.6 #1 0x401a465f in vorbis_dsp_clear () from /usr/lib/libvorbis.so.0 #2 0x40039b6b in ov_clear () from /usr/lib/libvorbisfile.so.3 #3 0x08048ac9 in main (argc=3, argv=0xbffff884) at audio_test.c:98 #4 0x40053917 in __libc_start_main () from /lib/libc.so.6 (gdb) quit The program is running. Exit anyway? (y or n) y [alex@elbmin3 audio_crash_test]$ Here is a semi-temporary URL to a tarball of the code used above. http://random.cybermalex.com/audio_crash_test_001.tgz Use "make linux" to build the test code. If it fails, try adjusting the Makefile. [alex@elbmin3 audio_crash_test]$ ./audio_test.linux Need an argument. USAGE: ./audio_test.linux /path/to/sound.ogg [--clear | --dump] --clear == Try to clear vorbis struct. (Crash) --dump == Dump decoded PCM data to stdout. [alex@elbmin3 audio_crash_test]$ As I said before, hope this helps. Thanks in advance. --Alex --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.