Opened 17 years ago

Closed 17 years ago

#822 closed defect (invalid)

VIA C3-2: Crash in dsputil_init_mmx() in rev. 9005

Reported by: cheaterjs@… Owned by: mans@…
Priority: very important Component: libavcodec
Version: unspecified Severity: critical
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

SVN rev. 23304 ( MPlayer ) / 9005 ( ffmpeg ) crashes on dsputil_init_mmx() on my VIA C3 on Linux ( Ubuntu 6.06 Edgy ) every time I try to play a video file.

It was introduced after rev. 8995.

cat /proc/cpuinfo:

processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 8
cpu MHz : 1000.574
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr cx8 mtrr pge cmov pat mmx fxsr sse up rng rng_en ace ace_en
bogomips : 2003.91

Change History (3)

comment:1 by mans@…, 17 years ago

Please narrow down the exact commit that broke it, and post a complete report with stack trace.

comment:2 by cheaterjs@…, 17 years ago

Backtrace + Register dump:

#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}}

comment:3 by cheaterjs@…, 17 years ago

Resolution: invalid
Status: newclosed

Vanished after "make distclean".

Note: See TracTickets for help on using tickets.