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.