Crash in FFT routines, with MMX enabled.
Marc Esipovich
marc at corky.net
Fri Oct 12 21:17:42 CEST 2001
VideoLAN Client - version 0.2.90 Ourumov - (C)1996-2001 VideoLAN
[New Thread 2049 (runnable)]
[New Thread 1026 (runnable)]
[New Thread 2051 (runnable)]
[New Thread 3076 (runnable)]
[New Thread 4101 (runnable)]
[New Thread 5126 (runnable)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3076 (runnable)]
0x80b52a9 in fft_asmb_sse (k=134958963, x=0x2, wTB=0x8159e20, d=0x8159e60,
d_3=0x80ce840) at ac3_srfft_sse.c:222
222 __asm__ __volatile__ (
(gdb) bt
#0 0x80b52a9 in fft_asmb_sse (k=134958963, x=0x2, wTB=0x8159e20, d=0x8159e60,
d_3=0x80ce840) at ac3_srfft_sse.c:222
#1 0x8159e60 in ?? ()
#2 0x8159e60 in ?? ()
(gdb) info registers
eax 0x8159730 135632688
ecx 0x20 32
edx 0x80ce848 135063624
ebx 0x80b5128 134959400
esp 0xbf3ffc44 0xbf3ffc44
ebp 0xbf3ffc60 0xbf3ffc60
esi 0x80ce868 135063656
edi 0x8159770 135632752
p 0x80b52a9 0x80b52a9
eflags 0x210202 2163202
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x0 0
gs 0x0 0
fctrl 0x37f 895
fstat 0x20 32
ftag 0xffff 65535
fiseg 0x23 35
fioff 0x8065ee1 134635233
foseg 0x2b 43
fooff 0x859c 34204
fop 0x5d8 1496
(gdb) disassemble $eip
Dump of assembler code for function fft_asmb_sse:
0x80b5234 <fft_asmb_sse>: push %edi
0x80b5235 <fft_asmb_sse+1>: push %esi
0x80b5236 <fft_asmb_sse+2>: mov 0xc(%esp,1),%ecx
0x80b523a <fft_asmb_sse+6>: mov 0x10(%esp,1),%eax
0x80b523e <fft_asmb_sse+10>: mov 0x14(%esp,1),%edi
0x80b5242 <fft_asmb_sse+14>: mov 0x18(%esp,1),%edx
0x80b5246 <fft_asmb_sse+18>: mov 0x1c(%esp,1),%esi
0x80b524a <fft_asmb_sse+22>: lea 0x0(%esi),%esi
0x80b5250 <fft_asmb_sse+28>: push %ebp
....
0x80b52a0 <fft_asmb_sse+108>: shufps $0xb1,%xmm6,%xmm7
0x80b52a4 <fft_asmb_sse+112>: mov $0x80b5128,%ebx
0x80b52a9 <fft_asmb_sse+117>: movaps (%ebx),%xmm4
0x80b52ac <fft_asmb_sse+120>: mulps %xmm4,%xmm7
0x80b52af <fft_asmb_sse+123>: addps %xmm7,%xmm5
0x80b52b2 <fft_asmb_sse+126>: movlhps %xmm5,%xmm1
0x80b52b5 <fft_asmb_sse+129>: shufps $0xe4,%xmm5,%xmm2
A different session:
(gdb) break fft_asmb_sse
Breakpoint 1 at 0x80b5234: file ac3_srfft_sse.c, line 221.
(gdb) run
Starting program: /archive/vlc-0.2.90/./vlc
...
[New Thread 1024 (runnable)]
VideoLAN Client - version 0.2.90 Ourumov - (C)1996-2001 VideoLAN
[New Thread 2049 (runnable)]
[New Thread 1026 (runnable)]
[New Thread 2051 (runnable)]
[New Thread 3076 (runnable)]
[New Thread 4101 (runnable)]
[New Thread 5126 (runnable)]
[Switching to Thread 3076 (runnable)]
Breakpoint 1, fft_asmb_sse (k=0, x=0x0, wTB=0x0, d=0x0, d_3=0x0)
at ac3_srfft_sse.c:221
221 {
(gdb) bt
#0 fft_asmb_sse (k=0, x=0x0, wTB=0x0, d=0x0, d_3=0x0) at ac3_srfft_sse.c:221
#1 0x80b4f73 in module_imdctsse_fft_128p (a=0x0) at ac3_srfft_sse.c:73
(gdb) cont
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x80b52a9 in fft_asmb_sse (k=134958963, x=0x2, wTB=0x8165720, d=0x8165760,
d_3=0x80ce840) at ac3_srfft_sse.c:222
222 __asm__ __volatile__ (
Is what I get when trying to play *any* DVD disc, when compiled with
--disable-mmx it works just fine, although the sound tends to skip, badly.
For the above tracebacks, I specifically compiled with -g aswell, to get a
better feel on what's going on. the 'x' pointer seem to be at fault here,
but I don't have time to spend on this at the moment, if any other info
is needed, feel free to contact me directly, since I am not registered
to this list.
bye,
Marc.
--
marc @ corky.net
fingerprint = D1F0 5689 967F B87A 98EB C64D 256A D6BF 80DE 6D3C
/"\
\ / ASCII Ribbon Campaign
X Against HTML Mail
/ \
More information about the vlc-devel
mailing list