[MPlayer-users] VIA C3-2: Crash on dsp_init_mmx()

Guillaume POIRIER poirierg at gmail.com
Sat May 12 20:09:25 CEST 2007


Hi,

On 5/12/07, Jan Schiefer <cheaterjs at gmx.de> wrote:
> Jan Schiefer schrieb:
> > Guillaume POIRIER schrieb:
> >> Hi,
> >>
> >> On 5/12/07, Jan Schiefer <cheaterjs at gmx.de> wrote:
> >>> Hi all,
> >>>
> >>> the newest revision 23304 ( FFMPEG rev 9005 ) crashes on dsp_init_mmx().
> >>> The bug was introduced after FFMEG rev. 8995.
> >>>
> >>> See: http://bugzilla.mplayerhq.hu/show_bug.cgi?id=822
> >> can you provide a GDB backtrace and a register dump?
> >>
> >> Guillaume
> >>
> >
> > It won't build for me if I do --enable-debug=1 or --enable-debug=3 (
> > --enable-debug=2 was not tested ).
> >
> > Greetings,
> > Jan Schiefer!
>
> However...
>
> (gdb) bt
> #0  0x08459576 in dsputil_init_mmx ()
> Cannot access memory at address 0xf7521a6c
> (gdb) disass $pc-32 $pc+32
> Dump of assembler code from 0x8459556 to 0x8459596:
> 0x08459556 <dsputil_init_mmx+9094>:     (bad)
> 0x08459557 <dsputil_init_mmx+9095>:     jne    0x8459573
> <dsputil_init_mmx+9123>
> 0x08459559 <dsputil_init_mmx+9097>:     mov    0x20(%ebp),%eax
> 0x0845955c <dsputil_init_mmx+9100>:     mov    0x24(%ebp),%edi
> 0x0845955f <dsputil_init_mmx+9103>:     mov    0x28(%ebp),%esi
> 0x08459562 <dsputil_init_mmx+9106>:     mov    0x2c(%ebp),%ebx
> 0x08459565 <dsputil_init_mmx+9109>:     or     %edi,%eax
> 0x08459567 <dsputil_init_mmx+9111>:     or     %esi,%eax
> 0x08459569 <dsputil_init_mmx+9113>:     or     %ebx,%eax
> 0x0845956b <dsputil_init_mmx+9115>:     test   $0xf,%al
> 0x0845956d <dsputil_init_mmx+9117>:     je     0x84595fd
> <dsputil_init_mmx+9261>
> 0x08459573 <dsputil_init_mmx+9123>:     mov    0x3c(%ebp),%edi
> 0x08459576 <dsputil_init_mmx+9126>:     mov    %edi,0x34(%esp)
> 0x0845957a <dsputil_init_mmx+9130>:     mov    0x38(%ebp),%eax
> 0x0845957d <dsputil_init_mmx+9133>:     mov    %eax,0x30(%esp)
> 0x08459581 <dsputil_init_mmx+9137>:     mov    0x34(%ebp),%edx
> 0x08459584 <dsputil_init_mmx+9140>:     mov    %edx,0x2c(%esp)
> 0x08459588 <dsputil_init_mmx+9144>:     mov    0x30(%ebp),%ecx
> 0x0845958b <dsputil_init_mmx+9147>:     mov    %ecx,0x28(%esp)
> 0x0845958f <dsputil_init_mmx+9151>:     mov    0x2c(%ebp),%edi
> ---Type <return> to continue, or q <return> to quit---
> 0x08459592 <dsputil_init_mmx+9154>:     mov    %edi,0x24(%esp)
> End of assembler dump.
> (gdb) info all-registers
> eax            0x7fffff 8388607
> ecx            0x68     104
> edx            0x7fff7ffc       2147450876
> ebx            0x79b1378c       2041657228
> esp            0xf7521a60       0xf7521a60
> ebp            0xbfe5b1e8       0xbfe5b1e8
> esi            0x2df0   11760
> edi            0xb6c2b144       -1228754620
> eip            0x8459576        0x8459576 <dsputil_init_mmx+9126>
> eflags         0x210206 [ PF IF RF ID ]
> cs             0x73     115
> ss             0x7b     123
> ds             0x7b     123
> es             0x7b     123
> fs             0x0      0
> gs             0x33     51
> st0            -nan(0xfffefffcfffefffc) (raw 0xfffffffefffcfffefffc)
> st1            -nan(0x2000400020004)    (raw 0xffff0002000400020004)
> st2            -nan(0x262fffffa4e)      (raw 0xffff00000262fffffa4e)
> st3            -nan(0x47020000493c)     (raw 0xffff000047020000493c)
> st4            -nan(0xfffdfffcfffdfffc) (raw 0xfffffffdfffcfffdfffc)
> st5            1024.000030517578125     (raw 0x40098000004000000000)
> st6            0        (raw 0x00000000000000000000)
> ---Type <return> to continue, or q <return> to quit---
> st7            0        (raw 0x00000000000000000000)
> fctrl          0x37f    895
> fstat          0x120    288
> ftag           0xffff   65535
> fiseg          0x73     115
> fioff          0x80d05f3        135071219
> foseg          0x7b     123
> fooff          0xbfe5af78       -1075466376
> fop            0x15c    348
> xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
> ---Type <return> to continue, or q <return> to quit---
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
>   v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
>     0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
>   uint128 = 0x00000000000000000000000000000000}
> mxcsr          0x1f80   [ IM DM ZM OM UM PM ]
> mm0            {uint64 = 0xfffefffcfffefffc, v2_int32 = {0xfffefffc,
>     0xfffefffc}, v4_int16 = {0xfffc, 0xfffe, 0xfffc, 0xfffe}, v8_int8 =
> {0xfc,
>     0xff, 0xfe, 0xff, 0xfc, 0xff, 0xfe, 0xff}}
> mm1            {uint64 = 0x2000400020004, v2_int32 = {0x20004, 0x20004},
> ---Type <return> to continue, or q <return> to quit---
>   v4_int16 = {0x4, 0x2, 0x4, 0x2}, v8_int8 = {0x4, 0x0, 0x2, 0x0, 0x4, 0x0,
>     0x2, 0x0}}
> mm2            {uint64 = 0x262fffffa4e, v2_int32 = {0xfffffa4e, 0x262},
>   v4_int16 = {0xfa4e, 0xffff, 0x262, 0x0}, v8_int8 = {0x4e, 0xfa, 0xff,
> 0xff,
>     0x62, 0x2, 0x0, 0x0}}
> mm3            {uint64 = 0x47020000493c, v2_int32 = {0x493c, 0x4702},
>   v4_int16 = {0x493c, 0x0, 0x4702, 0x0}, v8_int8 = {0x3c, 0x49, 0x0,
> 0x0, 0x2,
>     0x47, 0x0, 0x0}}
> mm4            {uint64 = 0xfffdfffcfffdfffc, v2_int32 = {0xfffdfffc,
>     0xfffdfffc}, v4_int16 = {0xfffc, 0xfffd, 0xfffc, 0xfffd}, v8_int8 =
> {0xfc,
>     0xff, 0xfd, 0xff, 0xfc, 0xff, 0xfd, 0xff}}
> mm5            {uint64 = 0x8000004000000000, v2_int32 = {0x0, 0x80000040},
>   v4_int16 = {0x0, 0x0, 0x40, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x40,
>     0x0, 0x0, 0x80}}
> mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
>     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
>     0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

I see nothing wrong in the code here....


Guillaume
-- 
Rich, you're forgetting one thing here: *everybody* except you is
stupid.
    Måns Rullgård


More information about the MPlayer-users mailing list