Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#462 closed defect (fixed)

SIGSEGV with -vo x11 for some videos

Reported by: schuetzm@… Owned by: Dominik 'Rathann' Mierzejewski
Priority: normal Component: vo
Version: HEAD Severity: major
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I'm using CVS version of 2006-02-23 11:00 CET.

MPlayer gets a SIGSEGV for some videos when -vo x11 is used. 1.0pre7try2 worked,
as does current CVS with -vo xv.

mplayer -vo x11 http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
crashes, while
mplayer -vo xv http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
works ok. Downloading the file and playing it locally makes no difference.

Some info on my System:

SuSE 9.2, Linux resy-techniker 2.6.8-24.19-default #1 Tue Nov 29 14:32:45 UTC
2005 i686 athlon i386 GNU/Linux

glibc-2.3.3-118
-rwxr-xr-x 1 root root 1348602 2004-10-05 14:05 /lib/libc.so.6

gcc -v
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man
--enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib
--enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib
--with-system-zlib --enable-shared --enable-cxa_atexit i586-suse-linux
Thread model: posix
gcc version 3.3.4 (pre 3.3.5 20040809)

ld -v
GNU ld version 2.15.91.0.2 20040727 (SuSE Linux)

as --version
GNU assembler 2.15.91.0.2 20040727 (SuSE Linux)

cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) XP 2600+
stepping : 1
cpu MHz : 2139.343
cache size : 256 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 sep mtrr pge mca cmov pat
pse36 mmx fxsr sse pni syscall mmxext 3dnowext 3dnow
bogomips : 4243.45

lspci
0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev
85) (prog-if 00 [VGA])

Subsystem: Matrox Graphics, Inc. Millennium G450 DVI
Flags: bus master, medium devsel, latency 32, IRQ 11
Memory at dc000000 (32-bit, prefetchable) [size=dfec0000]
Memory at dfefc000 (32-bit, non-prefetchable) [size=16K]
Memory at df000000 (32-bit, non-prefetchable) [size=8M]
Expansion ROM at 00020000 [disabled]
Capabilities: [dc] Power Management version 2
Capabilities: [f0] AGP version 2.0

According to GDB the crashes occurs in postproc/swscale_template.c:2053

Dump of assembler code from 0x81ee232 to 0x81ee332:

0x081ee232 <hScale_MMX2+306>: movd (%esi,%eax,1),%mm0
0x081ee236 <hScale_MMX2+310>: movd (%esi,%ebx,1),%mm2
0x081ee23a <hScale_MMX2+314>: punpcklbw %mm7,%mm0
0x081ee23d <hScale_MMX2+317>: punpcklbw %mm7,%mm2

(gdb) info reg
eax 0x0 0
ecx 0x85066d0 139486928
edx 0x85060b0 139485360
ebx 0x1 1
esp 0xbfffc7cc 0xbfffc7cc
ebp 0xfffffe80 0xfffffe80
esi 0xc0 192
edi 0x85095f0 139498992
eip 0x81ee232 0x81ee232
eflags 0x210203 2163203
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x8f 143
gs 0x33 51

I can't give a backtrace as %ebp is used as a data register in this asm block.

Change History (11)

comment:1 by Dominik 'Rathann' Mierzejewski, 18 years ago

Cc: Dominik 'Rathann' Mierzejewski added

Can't reproduce (plays fine).
Your bugreport is incomplete (no mplayer -v output, no ./configure line).

comment:2 by schuetzm@…, 18 years ago

Sorry, here is it:
./configure --enable-gui --enable-largefiles --enable-runtime-cpudetection
--enable-mmx --enable-mmx2 --enable-3dnow --enable-3dnowex --enable-sse
--enable-sse2 --enable-win32 --language=de

Output with crash:

schuetz@resy-techniker:~> mplayer -v -vo x11
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-060223-11:15-3.3.4 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP Thoroughbred; Duron Applebred
(Family: 6, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
MPlayer mit CPU-Erkennung zur Laufzeit kompiliert.

get_path('codecs.conf') -> '/home/schuetz/.mplayer/codecs.conf'
Lese /home/schuetz/.mplayer/codecs.conf: Kann
'/home/schuetz/.mplayer/codecs.conf' nicht öffnen: No such file or directory
Lese /usr/local/etc/mplayer/codecs.conf: Kann
'/usr/local/etc/mplayer/codecs.conf' nicht öffnen: No such file or directory
Benutze eingebaute Standardwerte für codecs.conf.
Kommandozeile: '-v' '-vo' 'x11'
'http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi'
init_freetype
get_path('font/font.desc') -> '/home/schuetz/.mplayer/font/font.desc'
font: can't open file: /home/schuetz/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Konnte /dev/rtc nicht öffnen: Permission denied (sollte für den Benutzer lesbar
sein).
Using nanosleep() timing
get_path('input.conf') -> '/home/schuetz/.mplayer/input.conf'
Can't open input config file /home/schuetz/.mplayer/input.conf: No such file or
directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or
directory
Falling back on default (hardcoded) input config
Initialisiere LIRC-Unterstützung...
mplayer: could not connect to socket
mplayer: Permission denied
Fehler beim Öffnen der LIRC-Unterstützung.
Verwendung der Fernbedienung nicht möglich.
get_path('simero.avi.conf') -> '/home/schuetz/.mplayer/simero.avi.conf'
Spiele http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi.
get_path('sub/') -> '/home/schuetz/.mplayer/sub/'
Filename for url is now
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Filename for url is now
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
STREAM_HTTP(1), URL: http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
--- HTTP DEBUG HEADER --- START ---
protocol: [HTTP/1.1]
http minor version: [1]
uri: [(null)]
method: [(null)]
status code: [200]
reason phrase: [OK]
body size: [0]
Fields:

0 - Date: Wed, 01 Mar 2006 09:59:14 GMT
1 - Server: Apache/2.0.54 (Unix) PHP/5.0.4
2 - Last-Modified: Wed, 26 May 2004 12:48:58 GMT
3 - ETag: "1083037e-286000-3db534c3d8280"
4 - Accept-Ranges: bytes
5 - Content-Length: 2646016
6 - Connection: close
7 - Content-Type: video/x-msvideo

--- HTTP DEBUG HEADER --- END ---
Content-Type: [video/x-msvideo]
Content-Length: [2646016]
Setze Cache-Größe auf 320 KByte.
STREAM: [null] http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
STREAM: Description: http streaming
STREAM: Author: Bertrand, Albeau, Reimar Doeffinger, Arpi?
STREAM: Comment: plain http
CACHE_PRE_INIT: 0 [0] 8192 pre:65536 eof:0
Fülle Zwischenpuffer: 2.50% (8192 Bytes)
AVI-Dateiformat erkannt!
list_end=0x1200
======= AVI Header =======
us/frame: 66667 (fps=15.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames total: 3063 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 384 x 288
==========================
list_end=0x10F4
==> Videostream gefunden: 0

STREAM Header =====

Type: vids FCC: mp42 (3234706D)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 1000000/66667 = 15.000
Start: 0 Len: 3063
Suggested BufferSize: 43303
Quality 10000
Sample size: 0
==========================
'bih' gefunden, 40 Byte von 40.
======= VIDEO Format ======

biSize 40
biWidth 384
biHeight 288
biPlanes 1
biBitCount 24
biCompression 842289229='MP42'
biSizeImage 331776

===========================
Erstelle Keyframe-Tabelle für DIVX3-Video neu...
list_end=0x1200
AVI: dmlh gefunden (size=248) (total_frames=3063).
list_end=0x279D48
Film von 0x200C - 0x279D48 gefunden.
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
Content-Type: [video/x-msvideo]
Content-Length: [51200]
Lese INDEX-Block, 3063 Blöcke für 3063 Frames (fpos=2596176)
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
Content-Type: [video/x-msvideo]
Content-Length: [2637824]
AVI index offset: 0x2008 (movi=0x200C idx0=0x4 idx1=0x2C08)
Auto-selected AVI video ID = 0
AVI_NI: Kein Audiostream gefunden. -> kein Ton.
AVI: Searching for audio stream (id:-1)
AVI: Kein Audiostream gefunden. -> kein Ton.
AVI video size=2562087 (3063) audio size=0 (0)
VIDEO: [MP42] 384x288 24bpp 15.000 fps 100.4 kbps (12.3 kbyte/s)
[V] filefmt:3 fourcc:0x3234504D size:384x288 fps:15.00 ftime:=0.0667
get_path('sub/') -> '/home/schuetz/.mplayer/sub/'
get_path('default.sub') -> '/home/schuetz/.mplayer/default.sub'
X11 opening display: :0.0
vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F)
vo: X11 running at 1280x1024 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
==========================================================================
Erforderliche Videocodec Familie [ffmp42] (vfm=ffmpeg) nicht verfügbar.
Aktiviere sie beim Kompilieren.
Öffne Videodecoder: [dshow] DirectShow video codecs
get_path('registry') -> '/home/schuetz/.mplayer/registry'
Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 YVYU I420 YVU9
Decoder is capable of YUV output (flags 0x7f)
VDec: VO wird versucht, auf 384 x 288 (Bevorzugter Farbraum: Packed YUY2) zu setzen.
[PP] Verwende Postprocessing-Routinen des Codecs, max q = 4.
Trying filter chain: vo
Konnte keinen passenden Farbraum finden - neuer Versuch mit '-vf scale'...
Öffne Videofilter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale vo
VDec: using Packed YUY2 as output csp (no 0)
Film-Aspekt ist undefiniert - keine Vorskalierung durchgeführt.
VO Config (384x288->384x288,flags=0,'MPlayer',0x32595559)
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 1 -> 1

SwScaler: BICUBIC scaler, from Packed YUY2 to dithered BGR 16-bit 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 (BGR)
SwScaler: using MMX YV12->BGR16 Converter
SwScaler: 384x288 -> 384x288
REQ: flags=0x4C7 req=0x0
VO: [x11] 384x288 => 384x288 BGR 16-bit
VO: Description: X11 ( XImage/Shm )
VO: Author: Aaron Holtzman <aholtzma@…>
Sharing memory.
INFO: Win32/DShow Videocodec-Initialisierung OK.
Ausgewählter Videocodec: [mpeg4ds] vfm: dshow (Microsoft MPEG-4 v1/v2)
==========================================================================
Audio: kein Ton!
Freeing 0 unused audio chunks.
Starte Wiedergabe...
* [scale] Allocating mp_image_t, 384x288x16bpp YUV packed, 221184 bytes
* [vo] Allocating mp_image_t, 384x288x16bpp BGR packed, 221184 bytes

MPlayer wurde durch Signal 11 im Modul decode_video unterbrochen.

  • MPlayer stürzte wegen falscher Benutzung der CPU/FPU/des RAMs ab. Kompiliere MPlayer erneut mit --enable-debug und erstelle mit 'gdb' einen Backtrace und eine Disassemblierung. Details dazu findest du in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
  • MPlayer ist abgestürzt. Das sollte nicht passieren. Es kann sich um einen Fehler im MPlayer-Code _oder_ in deinen Treibern _oder_ in deinem gcc handeln. Wenn du meinst, es sei MPlayers Fehler, dann lies DOCS/HTML/en/bugreports.html und folge den dortigen Anweisungen. Wir können und werden dir nicht helfen, wenn du nicht alle dort aufgeführten Informationen zur Verfügung stellst.

Deinitialisiere Video: dshow
Successfully enabled DPMS
vo: uninit ...

Output without crash:

schuetz@resy-techniker:~> mplayer -v -vo xv
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-060223-11:15-3.3.4 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP Thoroughbred; Duron Applebred
(Family: 6, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
MPlayer mit CPU-Erkennung zur Laufzeit kompiliert.

get_path('codecs.conf') -> '/home/schuetz/.mplayer/codecs.conf'
Lese /home/schuetz/.mplayer/codecs.conf: Kann
'/home/schuetz/.mplayer/codecs.conf' nicht öffnen: No such file or directory
Lese /usr/local/etc/mplayer/codecs.conf: Kann
'/usr/local/etc/mplayer/codecs.conf' nicht öffnen: No such file or directory
Benutze eingebaute Standardwerte für codecs.conf.
Kommandozeile: '-v' '-vo' 'xv'
'http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi'
init_freetype
get_path('font/font.desc') -> '/home/schuetz/.mplayer/font/font.desc'
font: can't open file: /home/schuetz/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Konnte /dev/rtc nicht öffnen: Permission denied (sollte für den Benutzer lesbar
sein).
Using nanosleep() timing
get_path('input.conf') -> '/home/schuetz/.mplayer/input.conf'
Can't open input config file /home/schuetz/.mplayer/input.conf: No such file or
directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or
directory
Falling back on default (hardcoded) input config
Initialisiere LIRC-Unterstützung...
mplayer: could not connect to socket
mplayer: Permission denied
Fehler beim Öffnen der LIRC-Unterstützung.
Verwendung der Fernbedienung nicht möglich.
get_path('simero.avi.conf') -> '/home/schuetz/.mplayer/simero.avi.conf'
Spiele http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi.
get_path('sub/') -> '/home/schuetz/.mplayer/sub/'
Filename for url is now
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Filename for url is now
http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
STREAM_HTTP(1), URL: http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
--- HTTP DEBUG HEADER --- START ---
protocol: [HTTP/1.1]
http minor version: [1]
uri: [(null)]
method: [(null)]
status code: [200]
reason phrase: [OK]
body size: [0]
Fields:

0 - Date: Wed, 01 Mar 2006 10:00:07 GMT
1 - Server: Apache/2.0.54 (Unix) PHP/5.0.4
2 - Last-Modified: Wed, 26 May 2004 12:48:58 GMT
3 - ETag: "1083037e-286000-3db534c3d8280"
4 - Accept-Ranges: bytes
5 - Content-Length: 2646016
6 - Connection: close
7 - Content-Type: video/x-msvideo

--- HTTP DEBUG HEADER --- END ---
Content-Type: [video/x-msvideo]
Content-Length: [2646016]
Setze Cache-Größe auf 320 KByte.
STREAM: [null] http://ai3.inf.uni-bayreuth.de/projects/simero/files/simero.avi
STREAM: Description: http streaming
STREAM: Author: Bertrand, Albeau, Reimar Doeffinger, Arpi?
STREAM: Comment: plain http
CACHE_PRE_INIT: 0 [0] 8192 pre:65536 eof:0
Fülle Zwischenpuffer: 2.50% (8192 Bytes)
AVI-Dateiformat erkannt!
list_end=0x1200
======= AVI Header =======
us/frame: 66667 (fps=15.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames total: 3063 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 384 x 288
==========================
list_end=0x10F4
==> Videostream gefunden: 0

STREAM Header =====

Type: vids FCC: mp42 (3234706D)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 1000000/66667 = 15.000
Start: 0 Len: 3063
Suggested BufferSize: 43303
Quality 10000
Sample size: 0
==========================
'bih' gefunden, 40 Byte von 40.
======= VIDEO Format ======

biSize 40
biWidth 384
biHeight 288
biPlanes 1
biBitCount 24
biCompression 842289229='MP42'
biSizeImage 331776

===========================
Erstelle Keyframe-Tabelle für DIVX3-Video neu...
list_end=0x1200
AVI: dmlh gefunden (size=248) (total_frames=3063).
list_end=0x279D48
Film von 0x200C - 0x279D48 gefunden.
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
Content-Type: [video/x-msvideo]
Content-Length: [51200]
Lese INDEX-Block, 3063 Blöcke für 3063 Frames (fpos=2596176)
Löse ai3.inf.uni-bayreuth.de auf für AF_INET6...
Konnte Namen für AF_INET6 nicht auflösen: ai3.inf.uni-bayreuth.de
Löse ai3.inf.uni-bayreuth.de auf für AF_INET...
Verbinde mit Server ai3.inf.uni-bayreuth.de[132.180.7.132]:80 ...
Content-Type: [video/x-msvideo]
Content-Length: [2637824]
AVI index offset: 0x2008 (movi=0x200C idx0=0x4 idx1=0x2C08)
Auto-selected AVI video ID = 0
AVI_NI: Kein Audiostream gefunden. -> kein Ton.
AVI: Searching for audio stream (id:-1)
AVI: Kein Audiostream gefunden. -> kein Ton.
AVI video size=2562087 (3063) audio size=0 (0)
VIDEO: [MP42] 384x288 24bpp 15.000 fps 100.4 kbps (12.3 kbyte/s)
[V] filefmt:3 fourcc:0x3234504D size:384x288 fps:15.00 ftime:=0.0667
get_path('sub/') -> '/home/schuetz/.mplayer/sub/'
get_path('default.sub') -> '/home/schuetz/.mplayer/default.sub'
X11 opening display: :0.0
vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F)
vo: X11 running at 1280x1024 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x00083e).
[xv common] Maximum source image dimensions: 1024x1024
==========================================================================
Erforderliche Videocodec Familie [ffmp42] (vfm=ffmpeg) nicht verfügbar.
Aktiviere sie beim Kompilieren.
Öffne Videodecoder: [dshow] DirectShow video codecs
get_path('registry') -> '/home/schuetz/.mplayer/registry'
Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 YVYU I420 YVU9
Decoder is capable of YUV output (flags 0x7f)
VDec: VO wird versucht, auf 384 x 288 (Bevorzugter Farbraum: Packed YUY2) zu setzen.
[PP] Verwende Postprocessing-Routinen des Codecs, max q = 4.
Trying filter chain: vo
VDec: using Packed YUY2 as output csp (no 0)
Film-Aspekt ist undefiniert - keine Vorskalierung durchgeführt.
VO Config (384x288->384x288,flags=0,'MPlayer',0x32595559)
VO: [xv] 384x288 => 384x288 Packed YUY2
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel@…> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
Xvideo image format: 0x59565955 (UYVY) packed
using Xvideo port 69 for hw scaling
[xv] dx: 0 dy: 0 dw: 384 dh: 308
INFO: Win32/DShow Videocodec-Initialisierung OK.
Ausgewählter Videocodec: [mpeg4ds] vfm: dshow (Microsoft MPEG-4 v1/v2)
==========================================================================
Audio: kein Ton!
Freeing 0 unused audio chunks.
Starte Wiedergabe...
* [vo] Allocating mp_image_t, 384x288x16bpp YUV packed, 221184 bytes
get_path('subfont.ttf') -> '/home/schuetz/.mplayer/subfont.ttf'
New_Face failed. Maybe the font path is wrong.
Please supply the text font file (~/.mplayer/subfont.ttf).
subtitle font: load_sub_face failed.
[xv] dx: 0 dy: 0 dw: 384 dh: 308
Deinitialisiere Video: dshow0% 0 0 88%
Successfully enabled DPMS
vo: uninit ...

Beenden... (Ende)

(I pressed 'q' after it started playing.)

comment:3 by Dominik 'Rathann' Mierzejewski, 18 years ago

Rebuild with --enable-debug=3 and you should be able to get a backtrace. Also
retry with current CVS, because, as I said, I can't reproduce it (and I'm
running on an Athlon, too).

comment:4 by schuetzm@…, 18 years ago

The crash is still there in current CVS; the backtrace still didn't work,
because in the assembler block where the crash happens, %ebp is changed. I
restored it with the value saved on the stack, and got the following backtrace:

#0 0x081eb032 in hScale_MMX2 (dst=Variable "dst" is not available.
) at swscale_template.c:2053
#1 0x08502f30 in ?? ()
#2 0x085030d0 in ?? ()
#3 0x00000001 in ?? ()
#4 0xe0001005 in ?? ()
#5 0x00010000 in ?? ()
#6 0x000000c0 in ?? ()
#7 0xbfffc8c8 in ?? ()
#8 0xfffffe80 in ?? ()
#9 0x000000c0 in ?? ()
#10 0x08505470 in ?? ()
#11 0x085065f0 in ?? ()
#12 0x00000000 in ?? ()
#13 0x40e8b040 in ?? ()
#14 0x00000000 in ?? ()
#15 0xbfffcac8 in ?? ()
#16 0x081ec9c3 in swScale_MMX2 (c=0xc0, src=0x10000, srcStride=0x85030d0,
srcSliceY=139473072, srcSliceH=4, dst=0x85030d0, dstStride=0x8502f30) at
swscale_template.c:2734
#17 0x081ec9c3 in swScale_MMX2 (c=0x84fcf80, src=0x85163b0,
srcStride=0xbfffcb60, srcSliceY=0, srcSliceH=288, dst=0x8516420,
dstStride=0xbfffcb50) at swscale_template.c:2734
#18 0x081dc7fd in sws_scale_ordered (c=0x84fcf80, src=0x85163b0,
srcStride=0x85163c0, srcSliceY=0, srcSliceH=288, dst=0x8516420,
dstStride=0x8516430) at swscale.c:2326
#19 0x0811e82e in scale (sws1=0x84fcf80, sws2=0x84fcf80, src=Variable "src" is
not available.
) at vf_scale.c:310
#20 0x0811e8ff in put_image (vf=0x84fcd38, mpi=0x8516390) at vf_scale.c:338
#21 0x080f6cf4 in decode_video (sh_video=0x84e37a8, start=0x0, in_size=0,
drop_frame=0) at dec_video.c:339
#22 0x0807d632 in main (argc=4, argv=0xbffff0b4) at mplayer.c:2695

comment:5 by schuetzm@…, 18 years ago

Here is a better backtrace:

#0 0x081eb032 in hScale_MMX2 (dst=Variable "dst" is not available.
) at swscale_template.c:2053
#1 0x081ec9c3 in swScale_MMX2 (c=0x84fcf80, src=0x85163b0,
srcStride=0xbfffcb60, srcSliceY=0, srcSliceH=288, dst=0x8516420,
dstStride=0xbfffcb50) at swscale_template.c:2734
#2 0x081dc7fd in sws_scale_ordered (c=0x84fcf80, src=0x85163b0,
srcStride=0x85163c0, srcSliceY=0, srcSliceH=288, dst=0x8516420,
dstStride=0x8516430) at swscale.c:2326
#3 0x0811e82e in scale (sws1=0x84fcf80, sws2=0x84fcf80, src=Variable "src" is
not available.
) at vf_scale.c:310
#4 0x0811e8ff in put_image (vf=0x84fcd38, mpi=0x8516390) at vf_scale.c:338
#5 0x080f6cf4 in decode_video (sh_video=0x84e37a8, start=0x0, in_size=0,
drop_frame=0) at dec_video.c:339
#6 0x0807d632 in main (argc=4, argv=0xbffff0b4) at mplayer.c:2695

comment:6 by diego@…, 18 years ago

Cc: Dominik 'Rathann' Mierzejewski removed
Owner: changed from alex@… to Dominik 'Rathann' Mierzejewski

This may be a problem with the software scaler...

comment:7 by Dominik 'Rathann' Mierzejewski, 18 years ago

Version: 1.0pre1CVS

Just noticed this: your mplayer was compiled without libavcodec and you were
using a binary mpeg4 codec dshow dll. Please recompile with libavcodec and retry
I suspect that's where the segfault came from.

comment:8 by schuetzm@…, 18 years ago

I noticed that configure prints out the following lines:

./configure --enable-gui --enable-largefiles --enable-runtime-cpudetection

--enable-mmx --enable-3dnow --enable-sse --enable-sse2 --enable-win32
--language=de --enable-debug=3
Detected operating system: Linux
Detected host architecture: i386
Checking for cc version ... 3.3.4, ok
Checking for host cc ... cc
Checking for cross compilation ... no
Checking for CPU vendor ... AuthenticAMD (6:8:1)
Checking for CPU type ... AMD Athlon(tm) XP 2600+
Checking for GCC & CPU optimization abilities ... athlon-xp
Checking for assembler support of -pipe option ... yes
grep: libavcodec/allcodecs.c: No such file or directory
...

but continues afterwards. The whole libavcodec directory is missing. This is CVS
from Fri May 5 11:41:02 CEST 2006.

Force-enabling libavcodec with --enable-libavcodec leads to the compilation
failing (of course):

make -C libavcodec LIBPREF=lib LIBSUF=.a
make: * libavcodec: No such file or directory. Stop.
make:
* [libavcodec/libavcodec.a] Error 2

comment:9 by schuetzm@…, 18 years ago

Sorry, just read the comment about libavcodec on the download page, trying again...

comment:10 by schuetzm@…, 18 years ago

Okay, I just retried with libavcodec enabled. The bug is still there, but this
time it only happens when I add the "-zoom" and press "f" for fullscreen (or
immediately after startup when called with "-fs -zoom"). I tested this on
several different computers.

# gdb mplayer
...
(gdb) run -vo x11 -fs -zoom simero.avi
Program received signal SIGSEGV, Segmentation fault.
...
(gdb) print $ebp
$1 = (void *) 0xfffffb00
(gdb) set $ebp = *((long) $esp) # restore frame pointer (clobbered by the asm
code in hScale_MMX2)
(gdb) print $ebp
$1 = (void *) 0xbfffc688
(gdb) bt
#0 0x08206652 in hScale_MMX2 (dst=Variable "dst" is not available.) at
swscale_template.c:2055
#1 0x08207fe3 in swScale_MMX2 (c=0x892eb40, src=0xbfffcb00,
srcStride=0xbfffc9e0, srcSliceY=0, srcSliceH=16, dst=0xbfffca50,
dstStride=0xbfffc9d0) at swscale_template.c:2736
#2 0x081f7e1d in sws_scale_ordered (c=0x892eb40, src=0xbfffcb00,
srcStride=0x881e964, srcSliceY=0, srcSliceH=16, dst=0xbfffca50,
dstStride=0xbfffca40) at swscale.c:2326
#3 0x080c174d in draw_slice (src=0xbfffcb00, stride=0x881e964, w=384, h=16,
x=0, y=0) at vo_x11.c:633
#4 0x08139993 in draw_slice (vf=0x0, src=0x0, stride=0x0, w=0, h=0, x=0, y=0)
at vf_vo.c:128
#5 0x081096b5 in mpcodecs_draw_slice (sh=0x0, src=0x0, stride=0x0, w=0, h=0,
x=0, y=0) at vd.c:358
#6 0x08111c51 in draw_slice (s=0x0, src=0x881e954, offset=0x892ded8, y=0,
type=3, height=16) at vd_ffmpeg.c:491
#7 0x08232535 in ff_draw_horiz_band (s=0x881c280, y=0, h=16) at mpegvideo.c:4176
#8 0x083205f0 in decode_slice (s=0x881c280) at h263dec.c:242
#9 0x08321617 in ff_h263_decode_frame (avctx=0x881bf60, data=0x881be80,
data_size=0xbfffccfc, buf=0x892d3c8 "I", 'ÿ' <repeats 11 times>,
"\036\r#ÿÿÖÀgóðÃÿÿÿÿÿÿÿÿÿý¬$óð[ÿíàЭm\200Lÿÿÿÿÿÿÿõ°h]ÿÿüy\aÏÁec\tÿö°c\177÷õ±§ÿÿñàпc)\b¹ø4ßÿÿÿÿÿÿÿÿÿð",
buf_size=99) at h263dec.c:713
#10 0x0822a824 in avcodec_decode_video (avctx=0x881bf60, picture=0x0,
got_picture_ptr=0xbfffccfc, buf=0x0, buf_size=99) at utils.c:946
#11 0x081112f8 in decode (sh=0x8802dd8, data=0x892d3c8, len=99, flags=0) at
vd_ffmpeg.c:819
#12 0x08108ca9 in decode_video (sh_video=0x8802dd8, start=0x0, in_size=0,
drop_frame=0, pts=-9.2233720368547758e+18) at dec_video.c:315
#13 0x0808a32a in main (argc=5, argv=0xbffff074) at mplayer.c:3730

BTW, is MMX2 now used automatically, if MMX is enabled? configure no longer
recognized "--enable-mmx2", but according to the call trace ("hScale_MMX2") it
is used.

comment:11 by schuetzm@…, 18 years ago

Resolution: fixed
Status: newclosed

I just retried with 1.0pre8, the video works now with -vo xv, -vo x11, with and
without -zoom.

Note: See TracTickets for help on using tickets.