[MPlayer-matrox] M200 + /dev/mga_vid on 2.6.19 keeps crashing

Frank Marx fmarx at earthlink.net
Wed Mar 21 03:59:26 CET 2007


On Tue, 20 Mar 2007 08:38:16 +0100, Attila Kinali <attila at kinali.ch> wrote:
>
>
>On Mon, 19 Mar 2007 22:11:20 -0400
>Frank Marx <fmarx at earthlink.net> wrote:
>
>> Believe it or not:  I found, shortly after no one replied (and thank you
>> for doing so now) two months ago, a *very* inexpensive m450, swapped it
>> in, and voila, end of problem.
>
>Hmm.. interessting. That would suggest that there is somewhere
>a g200 related bug.
> 
> ...
> 
>			Attila Kinali
>
>-- 
>Praised are the Fountains of Shelieth, the silver harp of the waters,
>But blest in my name forever this stream that stanched my thirst!
>                         -- Deed of Morred
>




Dear Attila:

This was my original bugreport - is it o.k.?
Thank you for responding.

/frank






From: Frank Marx <fmarx at earthlink.net>
To: mplayer-matrox at mplayerhq.hu
Subject: M200 + /dev/mga_vid on 2.6.19 keeps crashing
Date: Sat, 27 Jan 2007 21:43:02 -0500
Reply-To: fmarx at earthlink.net
X-Mailer: vmail-2.0 for vim-+python

Hi:

I continue to get a segment fault in mplayer when trying to use
-vo [x]mga.

I've just found and subscribed to this list, and I would like to
thank you for the work you're doing.

The fault occurs in both linux 2.4 and 2.6, across several upgrades.

I'm also having trouble with -vo xv and -vo sdl, both of which
show the left half of the frame fine, while the right half is
marred by (hazy) vertical black lines.  -vo x11 works fine.

Below are some of my results.  Thanks again,

/frank


cat /proc/mtrr:
---------------
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
reg02: base=0xd7000000 (3440MB), size=   8MB: write-combining, count=2
reg05: base=0xd0000000 (3328MB), size=  64MB: write-combining, count=2

dmesg | fgrep -i agp:
---------------------
matroxfb: Matrox Millennium G200 (AGP) detected
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
agpgart: AGP aperture is 64M @ 0xd0000000

bugreport:
----------
gdb --args ./mplayer -vo xmga /var/cdi/nget/multi/B.WMV
Using host libthread_db library "/lib/tls/libthread_db.so.1".
gdb> r
Starting program: /usr/src/multimedia/mplayer/mplayer -vo xmga /var/cdi/nget/multi/B.WMV
[Thread debugging using libthread_db enabled]
[New Thread -1224390976 (LWP 1958)]
MPlayer dev-SVN-r22022-3.4.6 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) Processor (Family: 6, Model: 4, Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx
/usr/local/share/mplayer/font/font.desc is empty or a directory, ignoring.

Playing /var/cdi/nget/multi/B.WMV
ASF file format detected.
VIDEO:  [WMV3]  854x480  24bpp  24.000 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 name: iFriends
 author: iFriends
 copyright: iFriends
==========================================================================
Opening video decoder: [dmo] DMO video codecs
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested
GetOutput r=0x0   size:1230720  align:1
StreamCount r=0x0  1  1
Decoder supports the following formats: YV12 YUY2 UYVY YVYU RGB8 RGB555 RGB565 RGB24 RGB32 
Decoder is capable of YUV output (flags 0x1b)
VDec: vo config request - 854 x 480 (preferred colorspace: Packed YUY2)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [xmga] 854x480 => 854x480 Planar YV12 
[MGA] Using 3 buffers.
Selected video codec: [wmv9dmo] vfm: dmo (Windows Media Video 9 DMO)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
AUDIO: 44100 Hz, 2 ch, s16le, 96.0 kbit/6.81% (ratio: 12005->176400)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1224390976 (LWP 1958)]
0x08797254 in rgb24tobgr16 ()
gdb> bt
#0  0x08797254 in rgb24tobgr16 ()
#1  0x080cbe7e in draw_slice (src=0x87fe2c8, stride=0x87fe2d8, w=854, h=480, x=0, y=0) at mga_common.c:71
#2  0x080ccab8 in control (request=3066040784, data=0x87fe2a8) at mga_common.c:188
#3  0x08139ae1 in put_image (vf=0x87e66b8, mpi=0x87fe2a8, pts=-nan(0x8000000000000)) at vf_vo.c:178
#4  0x0810d513 in filter_video (sh_video=0xb6c011d0, frame=0xb6c011d0, pts=-nan(0x8000000000000)) at dec_video.c:388
#5  0x0808cbf4 in main (argc=4, argv=0xbfafd024) at mplayer.c:3446

gdb> disass $pc-32 $pc+32
Dump of assembler code from 0x8797234 to 0x8797274:
0x08797234 <rgb32tobgr16+0>:    nop    
0x08797235 <rgb32tobgr16+1>:    and    %cl,%fs:(%eax)
0x08797238 <rgb32tobgr15+0>:    xor    %ah,0x20(%esi)
0x0879723b <rgb32tobgr15+3>:    or     %dh,0x61(%eax)
0x0879723e <rgb32to24+2>:       and    %cl,(%eax)
0x08797240 <rgb24tobgr15+0>:    mov    $0x69,%al
0x08797242 <rgb24tobgr15+2>:    and    %cl,(%eax)
0x08797244 <yv12touyvy+0>:      (bad)  
0x08797245 <yv12touyvy+1>:      jb     0x8797267 <planar2x+3>
0x08797247 <yv12touyvy+3>:      or     %dl,%al
0x08797249 <rgb32to16+1>:       arpl   %sp,(%eax)
0x0879724b <rgb32to16+3>:       or     %dh,(%eax)
0x0879724d <interleaveBytes+1>: jl     0x879726f <rgb15to24+3>
0x0879724f <interleaveBytes+3>: or     %dl,(%eax)
0x08797251 <yuy2toyv12+1>:      je     0x8797273 <rgb16to24+3>
0x08797253 <yuy2toyv12+3>:      or     %dh,%al
0x08797255 <rgb24tobgr16+1>:    addr16 and %cl,(%bx,%si)
0x08797258 <rgb16to15+0>:       and    %ah,0x20(%ebx)
0x0879725b <rgb16to15+3>:       or     %ah,%al
0x0879725d <rgb24to32+1>:       pusha  
0x0879725e <rgb24to32+2>:       and    %cl,(%eax)
0x08797260 <yv12toyuy2+0>:      and    %dh,0x20(%edx)
0x08797263 <yv12toyuy2+3>:      or     %al,0x75(%eax)
0x08797266 <planar2x+2>:        and    %cl,(%eax)
0x08797268 <rgb24toyv12+0>:     loopne 0x87972e1 <ff_msmp4_dc_luma_vlc+1>
0x0879726a <rgb24toyv12+2>:     and    %cl,(%eax)
0x0879726c <rgb15to24+0>:       nop    
0x0879726d <rgb15to24+1>:       push   $0x20
0x0879726f <rgb15to24+3>:       or     %al,%al
0x08797271 <rgb16to24+1>:       insb   (%dx),%es:(%edi)
0x08797272 <rgb16to24+2>:       and    %cl,(%eax)
End of assembler dump.

gdb> info all-registers 
eax            0xb6c011d0       -1228926512
ecx            0xf0     240
edx            0x87fe2c8        142598856
ebx            0x1ab    427
esp            0xbfafac9c       0xbfafac9c
ebp            0xbfafad08       0xbfafad08
esi            0x87fe2d8        142598872
edi            0xb6be8180       -1229028992
eip            0x8797254        0x8797254 <rgb24tobgr16>
eflags         0x10207  [ CF PF IF RF ]
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x8f     143
gs             0x33     51
st0            -nan(0x7e7e7e7e7e7e7e7e) (raw 0xffff7e7e7e7e7e7e7e7e)
st1            -nan(0x7e7e7e7e7e7e7e7e) (raw 0xffff7e7e7e7e7e7e7e7e)
st2            -nan(0x7d7d7d7d7d7d7d7d) (raw 0xffff7d7d7d7d7d7d7d7d)
st3            -nan(0x7d7d7d7d7d7d7d7d) (raw 0xffff7d7d7d7d7d7d7d7d)
st4            -nan(0x7d7d7d7d7d7d7d7d) (raw 0xffff7d7d7d7d7d7d7d7d)
st5            -nan(0x7d7d7d7d7d7d7d7d) (raw 0xffff7d7d7d7d7d7d7d7d)
st6            -nan(0x7b7b7b7b7b7b7b7b) (raw 0xffff7b7b7b7b7b7b7b7b)
st7            -nan(0x7979797979797979) (raw 0xffff7979797979797979)
fctrl          0x37f    895
fstat          0x20     32
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
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, 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          0x0      [ ]
mm0            {uint64 = 0x7e7e7e7e7e7e7e7e, v2_int32 = {0x7e7e7e7e, 0x7e7e7e7e}, v4_int16 = {0x7e7e, 0x7e7e, 0x7e7e, 0x7e7e}, 
  v8_int8 = {0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e}}
---Type <return> to continue, or q <return> to quit---
mm1            {uint64 = 0x7e7e7e7e7e7e7e7e, v2_int32 = {0x7e7e7e7e, 0x7e7e7e7e}, v4_int16 = {0x7e7e, 0x7e7e, 0x7e7e, 0x7e7e}, 
  v8_int8 = {0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e}}
mm2            {uint64 = 0x7d7d7d7d7d7d7d7d, v2_int32 = {0x7d7d7d7d, 0x7d7d7d7d}, v4_int16 = {0x7d7d, 0x7d7d, 0x7d7d, 0x7d7d}, 
  v8_int8 = {0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d}}
mm3            {uint64 = 0x7d7d7d7d7d7d7d7d, v2_int32 = {0x7d7d7d7d, 0x7d7d7d7d}, v4_int16 = {0x7d7d, 0x7d7d, 0x7d7d, 0x7d7d}, 
  v8_int8 = {0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d}}
mm4            {uint64 = 0x7d7d7d7d7d7d7d7d, v2_int32 = {0x7d7d7d7d, 0x7d7d7d7d}, v4_int16 = {0x7d7d, 0x7d7d, 0x7d7d, 0x7d7d}, 
  v8_int8 = {0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d}}
mm5            {uint64 = 0x7d7d7d7d7d7d7d7d, v2_int32 = {0x7d7d7d7d, 0x7d7d7d7d}, v4_int16 = {0x7d7d, 0x7d7d, 0x7d7d, 0x7d7d}, 
  v8_int8 = {0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d}}
mm6            {uint64 = 0x7b7b7b7b7b7b7b7b, v2_int32 = {0x7b7b7b7b, 0x7b7b7b7b}, v4_int16 = {0x7b7b, 0x7b7b, 0x7b7b, 0x7b7b}, 
  v8_int8 = {0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b}}
mm7            {uint64 = 0x7979797979797979, v2_int32 = {0x79797979, 0x79797979}, v4_int16 = {0x7979, 0x7979, 0x7979, 0x7979}, 
  v8_int8 = {0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79}}
gdb> 



------------------------------------------------------------------------
f.g.marx					   <fmarx at earthlink.net>



More information about the MPlayer-matrox mailing list