[MPlayer-users] BUG: -vm and -vo xv crash

Jakub Argasiński argasek at tekla.art.pl
Thu Dec 25 02:25:12 CET 2003


MPlayer crashes when trying to switch to fullscreen with -vo xv and -vm
and doesn't return to original video mode.
I have found people reporting similiar problem, as in
http://article.gmane.org/gmane.comp.video.mplayer.user/11274

Previously I was sure it's nVidia's binary driver related, but
after changing my video card to ATI, it seems not.

1) system:

Mandrake Linux 9.2 w/ custom kernel, but appeared also in
Mandrake Linux 9.1 w/ stock kernel.

2) [argasek at slicznotka bugreport]$ uname -a

Linux slicznotka.szaniawskiego.net 2.4.23-arg4 #6 czw gru 18 22:25:15 
UTC 2003 i686 unknown unknown GNU/Linux

It's basically 2.4.23+ck1 patch and some iptables patches, so I guess
it's completly unrelated. It happened also with 2.4.21-pre from MDK 9.1
and 2.4.22 from MDK 9.2.

3) [argasek at slicznotka bugreport]$ ls -l /lib/libc[.-]*
-rwxr-xr-x    1 root     root      1217120 sie 29 12:22 /lib/libc-2.3.2.so*
lrwxrwxrwx    1 root     root           13 lis 15 17:53 /lib/libc.so.6 
-> libc-2.3.2.so*

4) gcc/ld:

[argasek at slicznotka bugreport]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib 
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info 
--enable-shared --enable-threads=posix --disable-checking 
--enable-long-long --enable-__cxa_atexit 
--enable-languages=c,c++,ada,f77,objc,java,pascal 
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)

[argasek at slicznotka bugreport]$ ld -v
GNU ld version 2.14.90.0.5 20030722

5) [argasek at slicznotka bugreport]$ as --version
GNU assembler 2.14.90.0.5 20030722
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `i586-mandrake-linux-gnu'.

6) I use KDE from distro CDs.
[argasek at slicznotka bugreport]$ kde-config --version
Qt: 3.1.2
KDE: 3.1.3
kde-config: 1.0

HARDWARE/DRIVERS:

1) cpu info:

[argasek at slicznotka bugreport]$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 3
model name      : AMD Duron(tm) Processor
stepping        : 0
cpu MHz         : 601.191
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 pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips        : 1175.55

2) video card:

PowerColor ATi Radeon 9600 PRO 128MB
(exactly: http://www.power-color.com/r96a-c3n.htm).
I got exactly the same problem with PixelView GeForceFX 5200 128MB
and with some GeForce MX 400 w/ 32MB.

3) video driver:

FGLRX 3.2.8 from package fglrx-glc22-4.3.0-3.2.8.i586.rpm,
available at ATi website, using their built-in AGP support.
With NVIDIA cards I've been using all of nVidia's drivers
version 4xxx released, both with agpgart.o and their builtin
AGP support. Don't remember wheter this occured with 3123, too.

4) sound driver:

ALSA 1.0.0rc2 compiled from sources, snd-emu10k1,
native ALSA output (not the OSS emulation) via ao=alsa9.

----------
4) mplayer output (message):

[argasek at slicznotka bartpogoda.net]$ mplayer marwit.mov
(snip)
SwScaler: BICUBIC scaler, from Planar YV12 to Planar YV12 using MMX2
VO: [xv] 640x480 => 640x480 Planar YV12  [fs] [vm] [zoom]
XF86VM: Selected video mode 640x480 for image size 640x480.
X11 error: BadMatch (invalid parameter attributes)

It looks like it applies to all files/codecs; it only happens with xv
video output when using vm=yes. It never happened to me with vm=no.

One of the serious problems is that this crash isn't reproducible
more than 5-10% of times. It happens mostly when I run mplayer for the
first time I booted the system and seem to happen more frequent when
system is under heavy cpu/disk load (f.ex. compilation in a background).

Switching zoom=yes/no, as suggested by someone, didn't help also.

My config from ~/.mplayer/config:

# ---- COMMON -----------------------------
sound	                = yes
nooverlapsub            = yes   # bez overlapping subtitles
sub-no-text-pp          = yes   # bez postprocessingu dla subtitles
stop-xscreensaver       = yes   # wy³±cz xscreensaver na czas odtwarzania
framedrop               = yes	# drop frames, when not in sync (slow CPU, 
videocard, etc)


# ---- OUTPUT -----------------------------
vo      = xv            # wybór sterownika wyj¶cia obrazu
ao      = alsa9:noblock # wybór sterownika wyj¶cia d¼wiêku
dr      = no            # direct rendering w³./wy³.
fs      = yes	        # powiêksza okno
vm      = yes	        # próbuje dobraæ najlepsz± rozdzielczo¶æ.
double  = yes           # podwójne buforowanie
zoom    = yes	        # ?
# ---- FILTERS ----------------------------
sws     = 2             # rodzaj filtra skaluj±cego
pp      = 6             # PostProcessing dla zewn. kodeków
vf      = pp=hb:c/vb:c/dr/al:f,scale=640:-2,expand=-1:480:-1:-1:0



# ---- SUBS -------------------------------
subfont-osd-scale   = 4
subfont-text-scale  = 2.5
subfont-autoscale   = 3
subfont-blur        = 2
subfont-outline     = 2
subcp               = iso8859-2
spuaa               = 4         # rodzaj skalowania/anty-aliasingu dla 
DVD subtitles
spugauss            = 0.5       # rozmycie dla spuaa=4, 0.0-3.0, 
domy¶lne. 1.0

# -- end config

I have tried several times to reproduce a crash under GDB,
but MPlayer went smooth all the times. Only once I managed
to "crash" (?) it:

(gdb) run -v a.avi
Starting program: /usr/local/bin/mplayer -v a.avi
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-031223-14:30-3.3.1 (C) 2000-2003 MPlayer Team

CPU: Advanced Micro Devices Duron Spitfire 601.8 MHz (Family: 6, 
Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx

Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or 
directory
Reading config file /home/argasek/.mplayer/config
Reading /home/argasek/.mplayer/codecs.conf: 61 audio & 158 video codecs
CommandLine: '-v' 'a.avi'
init_freetype
get_path('font/font.desc') -> '/home/argasek/.mplayer/font/font.desc'
font: can't open file: /home/argasek/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system 
startup scripts.
Using usleep() timing
get_path('input.conf') -> '/home/argasek/.mplayer/input.conf'
Parsing input config file /home/argasek/.mplayer/input.conf
Input config file /home/argasek/.mplayer/input.conf parsed: 53 binds
get_path('a.avi.conf') -> '/home/argasek/.mplayer/a.avi.conf'

Playing a.avi.
[file] File size is 733782016 bytes
STREAM: [file] a.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x22CA
======= AVI Header =======
us/frame: 41708  (fps=23,976)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 85877   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  608 x 336
==========================
list_end=0x1138
==> Found video stream: 0
====== STREAM Header =====
Type: vids   FCC: xvid (64697678)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 23976/1000 = 23,976
Start: 0   Len: 85877
Suggested BufferSize: 96486
Quality 10000
Sample size: 0
==========================
found 'bih', 108 bytes of 40
======= VIDEO Format ======
   biSize 40
   biWidth 608
   biHeight 336
   biPlanes 1
   biBitCount 24
   biCompression 1145656920='XVID'
   biSizeImage 612864
===========================
list_end=0x21BE
==> Found audio stream: 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 48000/1 = 48000,000
Start: 0   Len: 171924379
Suggested BufferSize: 7680
Quality -1
Sample size: 1
==========================
found 'wf', 18 bytes of 18
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 5
Samplerate: 48000
avg byte/sec: 48000
Block align: 1
bits/sample: 0
cbSize: 18
Unknown extra header dump: [0] [0] [11] [0] [0] [0] [3c] [54] [67] [40] 
[3c] [54] [67] [40] [10] [0] [0] [0]
===========================
list_end=0x22CA
list_end=0x22EE
hdr=Software  size=15
Software  : Nandub v1.0rc2
Broken chunk?  chunksize=1290  (id=JUNK)
list_end=0x2B9E84DC
Found movie at 0x280C - 0x2B9E84DC
Reading INDEX block, 123187 chunks for 85877 frames (fpos=0x2b9e84e4)
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x1E0C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=558846165 (85877) audio size=171924379 (171924379)
VIDEO:  [XVID]  608x336  24bpp  23,976 fps  1248,2 kbps (152,4 kbyte/s)
[V] filefmt:3  fourcc:0x44495658  size:608x336  fps:23,98  ftime:=0,0417
Clip info:
  Software: Nandub v1.0rc2
get_path('sub/') -> '/home/argasek/.mplayer/sub/'
get_path('default.sub') -> '/home/argasek/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
Using 3DNowEx optimized IMDCT transform
AC3: 5.1 (3f+2r+lfe)  48000 Hz  384,0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0xA
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 48000->192000 (384,0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1152x864 with depth 24 and 32 bpp (":0.0" => local 
display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP X atoms
Disabling DPMS
DPMSDisable stat: 1
xscreensaver_disable: Could not find xscreensaver window.
Opening video filter: [expand w=-1 h=480 x=-1 y=-1 osd=0]
Expand: -1 x 480, -1 ; -1  (-1=autodetect) osd: 0
Opening video filter: [scale w=640 h=-2]
SwScale params: 640 x -2 (-1=no scaling)
Opening video filter: [pp=hb:c/vb:c/dr/al:f]
[scale] query(Planar YV12) -> 3
==========================================================================
Opening video decoder: [xvid] xvid decoder
VDec: vo config request - 608 x 336 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
Trying filter chain: pp scale expand vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (608x336->608x336,flags=7,'MPlayer',0x32315659)
REQ: flags=0x477  req=0x0
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4

SwScaler: BICUBIC scaler, from Planar YV12 to Planar YV12 using MMX2
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like)
SwScaler: 608x336 -> 640x354
REQ: flags=0x437  req=0x0
REQ: flags=0x437  req=0x0
VO: [xv] 640x480 => 640x480 Planar YV12  [fs] [vm] [zoom]
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
XF86VidMode Extension v2.2
XF86VM: Selected video mode 640x480 for image size 640x480.
[x11] NET style stay on top (layer 1). Using state 
_NET_WM_STATE_STAYS_ON_TOP.
using Xvideo port 67 for hw scaling
X11 error: BadMatch (invalid parameter attributes)
Type: 0, display: 853e158, resourceid: 2800001, serial: 5e
Error code: 8, request code: 2a, minor code: 0

Program received signal SIGABRT, Aborted.
0x40570d71 in kill () from /lib/i686/libc.so.6

Then, I had to kill MPlayer process from text console,
because it hanged after switching to lower res and the rest of the 
screen was unaccessible (mouse pointer was locked inside cropped
MPlayer's window). Although pressing Alt+Tab displayed switching panel 
from KDE, I was unable to switch. After killing:

(gdb) bt
#0  0x40570d71 in kill () from /lib/i686/libc.so.6
Error accessing memory address 0x40570d60: No such process.

(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x40570d51 to 0x40570d91:
0x40570d51 <sigprocmask+65>:    Error accessing memory address 
0x40570d51: No such process.

(gdb) info all-registers
eax            0x0      0
ecx            0x6      6
edx            0x4020cb84       1075891076
ebx            0x8c3    2243
esp            0xbfffd9dc       0xbfffd9dc
ebp            0xbfffd9f8       0xbfffd9f8
esi            0x8c3    2243
edi            0x4020ee20       1075899936
eip            0x40570d71       0x40570d71
eflags         0x200246 2097734
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x7      7
st0            Couldn't read floating-point and SSE registers: No such 
process.

But I'm afraid it's useless. If there's anything more I can
do, please reply. (I hope I RTFMd bugreporting section good enough).

-- 
argasek at tekla.art.pl :: http://Today.tekla.art.pl
"Tym czego człowiek - w każdym wieku - potrzebuje najbardziej,
gdy ma kłopoty, jest nie zgodność z jego zdaniem lub jej brak,
lecz zrozumienie wobec przebytych doświedczeń". (A. Faber)




More information about the MPlayer-users mailing list