[vorbis] ov_clear(&vorbis) segfaults? (Backtrace and test case)

Alexander Markley alex at milent.com
Sun Sep 14 18:39:15 PDT 2003



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 at 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 at 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 at 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 at 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 at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis mailing list