From: Chris B. <ch...@cn...> - 2008-11-23 21:22:53
|
> I'm really sorry to bug the sox developer mailing list over this, but > I can't for the life of me figure out how I could have done anything > to cause this. No problem... more then happy to help people digging into the problems so deeply. > > I was using sox quite well as of around October 17th, under Fedora > Core 8. I mostly use it to resample .wav files for all the necessary > output formats when I'm making videos (DVD, VCD, and Flash). But > after some "upgrade" or other, now it just gives me "Segmentation > fault"! Thinking that maybe it's because I'm still running Fedora > Core 8, I upgraded to Fedora Core 9, and I still get the same problem. Fedora Core 9 should be working nicely for the most... SoX 14.2.0 is the latest so its a little old. Very little reports of issues though. > > I downloaded sox-14.0.1-1.fc9.src.rpm, did a "rpmbuild -bp --target > athlon-fedora-linux", configured it with "CFLAGS="-g -O0 > -D_FILE_OFFSET_BITS=64" ./configure --with-gsm > --includedir=/usr/include/sox --enable-debug", and built with "make", > so that I could run it in gdb. I only have access to Fedora 10 (rawhide basically... 10 will be released in a few more days). Turns out the version of SoX in Fedora's rawhide doesn't work very well right now. Normally, I would have recommended to download latest source from rawhide and recompile... but you'll need to wait at least a week before the bug is fixed and released. Maybe longer. > > My command line is "sox -t wav -i [input file] -r 48000 -t wav [output > file] resample -q 0.999", where the input file is a standard > CDDA-compatible file, i.e. conforms to "-r 44100 -c 2 -sw". Here's > the callstack when it crashes: Well, not exactly "-sw" since I see references to it being ADPCM audio but it shouldn't matter and shouldn't be crashing. > #5 0x0013dfa9 in sox_readbuf (ft=0x881a100, buf=0x0, len=4) at misc.c:118 > #6 0x0014f36c in AdpcmReadBlock (ft=0x881a100) at wav.c:128 > #7 0x00151d73 in sox_wavread (ft=0x881a100, buf=0x88557d0, len=8192) > at wav.c:1028 > > And that's the only allocation of wav->packet I see. I assume there > needs to be one for reading, but I don't see it, and then later, > wav->packet is 0x0 when trying to read. In 14.0.1, it should be alloc'ing that at wav.c:line 666 for ADPCM and 717 for IMA ADPCM. Thats in sox_wavstartread(). You'd have to step through that function and see why its not getting to those places... assuming this really is an ADPCM file and something isn't overwriting memory to make it think its ADPCM later in the game. Chris |