Malcolm Baldridge
2004-Aug-06 15:01 UTC
[speex-dev] Coredumps when --enable-sse is selected
System: Linux 2.4.25, glibc-2.3.2, gcc-3.2.3 (weird palindrome there), on a Williamette core Pentium 4 (1.6Ghz) system. I've tried both speex 1.1.5 release, and the current CVS (which self-IDs as 1.1.4), and the result is the same. I suspect some funk in the use of the SSE intrinsics macros. Backtrace: #0 0x40024594 in filter_mem2_10 (x=0x805f31c, _num=0x8061fb8, _den=0x8061fe4, y=0x806071c, N=160, ord=10, _mem=0x8062150) at xmmintrin.h:790 #1 0x400248b4 in filter_mem2 (x=0x805f31c, _num=0x8061fb8, _den=0x8061fe4, y=0x806071c, N=1, ord=0, _mem=0x8061fe4) at filters_sse.h:135 #2 0x40019d1e in nb_encode (state=0x805ebd0, vin=0x80582b4, bits=0xbfffe840) at nb_celp.c:314 #3 0x40025e33 in speex_encode_native (state=0x8061fe4, in=0x0, bits=0x0) at modes.c:717 #4 0x4001dd30 in sb_encode (state=0x8054e90, vin=0xbfffd1c0, bits=0xbfffe840) at sb_celp.c:309 #5 0x40025eea in speex_encode_int (state=0x8054e90, in=0xbfffe840, bits=0x0) at modes.c:784 #6 0x0804a150 in main (argc=134565152, argv=0xbffff884) at My build line is as follows: CFLAGS='-O -g -march=pentium4 -mcpu=pentium4' CXXFLAGS='-O -g -march=pentium4 -mcpu=pentium4' ./configure --enable-sse --enable-epic-48k --prefix=/usr/local Command line which triggers the coredump: $ speexenc --dtx --vbr -w test.wav test.spx Encoding 16000 Hz audio using wideband (sub-band CELP) mode (mono) =MB--- >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 'speex-dev-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.
Hi, I've tried the same configure options on my system and it doesn't crash. I have the same glibc and gcc 3.3.2 (can you see if a newer gcc works?). Also, could you explore a bit with different options so we can narrow it down a bit. For example, does it work with the default CFLAGS or without --vbr or --dtx. Last thing, maybe it's the file. If so, please send me the smallest sample you have that reproduces the problem. Jean-Marc Le mer 05/05/2004 à 21:32, Malcolm Baldridge a écrit :> System: Linux 2.4.25, glibc-2.3.2, gcc-3.2.3 (weird palindrome there), on a > Williamette core Pentium 4 (1.6Ghz) system. > > I've tried both speex 1.1.5 release, and the current CVS (which self-IDs as > 1.1.4), and the result is the same. > > I suspect some funk in the use of the SSE intrinsics macros. > > Backtrace: > > #0 0x40024594 in filter_mem2_10 (x=0x805f31c, _num=0x8061fb8, > _den=0x8061fe4, y=0x806071c, N=160, ord=10, > _mem=0x8062150) at xmmintrin.h:790 > #1 0x400248b4 in filter_mem2 (x=0x805f31c, _num=0x8061fb8, _den=0x8061fe4, > y=0x806071c, N=1, ord=0, > _mem=0x8061fe4) at filters_sse.h:135 > #2 0x40019d1e in nb_encode (state=0x805ebd0, vin=0x80582b4, > bits=0xbfffe840) at nb_celp.c:314 > #3 0x40025e33 in speex_encode_native (state=0x8061fe4, in=0x0, bits=0x0) at > modes.c:717 > #4 0x4001dd30 in sb_encode (state=0x8054e90, vin=0xbfffd1c0, > bits=0xbfffe840) at sb_celp.c:309 > #5 0x40025eea in speex_encode_int (state=0x8054e90, in=0xbfffe840, > bits=0x0) at modes.c:784 > #6 0x0804a150 in main (argc=134565152, argv=0xbffff884) at > > My build line is as follows: > > CFLAGS='-O -g -march=pentium4 -mcpu=pentium4' CXXFLAGS='-O -g > -march=pentium4 -mcpu=pentium4' ./configure --enable-sse --enable-epic-48k > --prefix=/usr/local > > Command line which triggers the coredump: > > $ speexenc --dtx --vbr -w test.wav test.spx > Encoding 16000 Hz audio using wideband (sub-band CELP) mode (mono) > > =MB> --- >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 'speex-dev-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.-- Jean-Marc Valin http://www.xiph.org/~jm/ LABORIUS Université de Sherbrooke, Québec, Canada -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: Ceci est une partie de message numériquement signée. Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20040506/304a2cf0/signature-0001.pgp
Malcolm Baldridge
2004-Aug-06 15:02 UTC
[speex-dev] Coredumps when --enable-sse is selected
> I've tried the same configure options on my system and it doesn't crash. > I have the same glibc and gcc 3.3.2 (can you see if a newer gcc works?).When I build it with gcc-3.3.3, the problem disappears. I guess the older gcc's XMM macros were buggy. Thanks for the suggestion.> Also, could you explore a bit with different options so we can narrow it > down a bit.Actually, the crash occurred with even very simple options. I'm now encoding the very same file which caused segfaults in the gcc-3.2.3-built binary. I would probably put a note (or modify the build script to detect/warn the user) about gcc-3.2 and --enable-sse. I suspect if we lookup the gcc bugbase, we'll see some changes made to the SSE intrinsics. Thanks! =MB <p>--- >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 'speex-dev-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.