[MPlayer-users] mplayer segfaults in certain .mpg files
Alex Tribble
alext96 at softhome.net
Sat Oct 11 05:15:26 CEST 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello there,
when running mplayer on a certain file, I get the following output (from within gdb, does the same thing normally):
Starting program: /usr/local/bin/mplayer -v file.mpg
[New Thread 1086106912 (LWP 23646)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
MPlayer dev-CVS-031010-20:28-3.3.1 (C) 2000-2003 MPlayer Team
CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino 1600 MHz (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/prat/.mplayer/config
Reading /home/prat/.mplayer/codecs.conf: Can't open '/home/prat/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf
CommandLine: '-v' 'file.mpg'
get_path('font/font.desc') -> '/home/prat/.mplayer/font/font.desc'
font: can't open file: /home/prat/.mplayer/font/font.desc
Font /usr/local/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/prat/.mplayer/input.conf'
Can't open input config file /home/prat/.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
get_path('file.mpg.conf') -> '/home/prat/.mplayer/file.mpg.conf'
Playing file.mpg
[file] File size is 237709436 bytes
STREAM: [file] file.mpg
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x8566538
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x8566538
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x8566538
Checking for REAL
DEMUXER: freeing demuxer at 0x8566538
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x8566538
DEMUXER: freeing demuxer at 0x8566da0
Searching demuxer type for filename file.mpg ext: .mpg
Checking for MOV
DEMUXER: freeing demuxer at 0x8566da0
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
DEMUXER: freeing demuxer at 0x8566da0
Checking for PVA
DEMUXER: freeing demuxer at 0x8566da0
Checking for MPEG-TS...
TRIED UP TO POSITION 66391, FOUND 0, packet_size= 71
DEMUXER: freeing demuxer at 0x8566da0
system stream synced at 0xB (0)!
==> Found video stream: 0
MPEG-PS file format detected.
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO: MPEG1 352x240 (aspect 12) 29.970 fps 1150.0 kbps (143.8 kbyte/s)
[V] filefmt:2 fourcc:0x10000001 size:352x240 fps:29.97 ftime:=0.0334
get_path('sub/') -> '/home/prat/.mplayer/sub/'
get_path('default.sub') -> '/home/prat/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
mp3lib: made decode tables with MMX optimization
mp3lib: using 3DNow!Ex optimized decore!
MP3lib: init layer2&3 finished, tables done
MPEG 1.0, Layer II, 44100 Hz 224 kbit Stereo, BPF: 732
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 28000->176400 (224.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F)
vo: X11 running at 1024x768 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[x11] Using workaround for Metacity bugs.
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 240 (preferred csp: Mpeg PES)
Trying filter chain: vo
Could not find matching colorspace - retrying with -vop scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale vo
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter dummy
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps =
2
AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
ao2: 44100 Hz 2 chans Signed 16-bit (Little-Endian)
audio_setup: using '/dev/sound/dsp' dsp device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian))
audio_setup: using 2 channels (requested: 2)
audio_setup: using 44100 Hz samplerate (requested: 44100)
audio_setup: frags: 8/8 (8192 bytes/frag) free: 65536
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps =
2
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000001 and bps =
2
Starting playback...
VDec: vo config request - 352 x 240 (preferred csp: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (352x240->352x264,flags=0,'MPlayer',0x32315659)
VO: [xv] 352x240 => 352x264 Planar YV12
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: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 105 for hw scaling
[xv] dx: 0 dy: 0 dw: 352 dh: 264
*** [vo] Allocating mp_image_t, 352x240x12bpp YUV planar, 126720 bytes
[xv] dx: 0 dy: 0 dw: 352 dh: 264
*** [vo] Allocating mp_image_t, 352x240x12bpp YUV planar, 126720 bytes%
*** [vo] Allocating mp_image_t, 352x240x12bpp YUV planar, 126720 bytes%
A: 47.3 V: 47.3 A-V: -0.001 ct: 0.073 335/335 2% 2% 0.7% 0 0 0%
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1086106912 (LWP 23646)]
0x0813368b in mpeg2_set_buf (mpeg2dec=0x857e150, buf=0x85a1968, id=0x85a1948)
at decode.c:383
383 if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
(gdb) bt
#0 0x0813368b in mpeg2_set_buf (mpeg2dec=0x857e150, buf=0x85a1968,
id=0x85a1948) at decode.c:383
#1 0x080f1534 in decode (sh=0x8564a88, data=0x85a1968, len=139977040, flags=0)
at vd_libmpeg2.c:145
#2 0x080ec333 in decode_video (sh_video=0x8564a88, start=0x85a1948 "",
in_size=140122440, drop_frame=0) at dec_video.c:304
#3 0x0808577a in main (argc=3, argv=0xbffff8e4) at mplayer.c:2085
#4 0x405c3750 in __libc_start_main () from /lib/tls/libc.so.6
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x813366b to 0x81336ab:
0x0813366b <mpeg2_set_buf+59>: mov (%esi),%eax
0x0813366d <mpeg2_set_buf+61>: test %ecx,%ecx
0x0813366f <mpeg2_set_buf+63>: mov %eax,(%edx)
0x08133671 <mpeg2_set_buf+65>: mov 0x4(%esi),%eax
0x08133674 <mpeg2_set_buf+68>: mov %eax,0x4(%edx)
0x08133677 <mpeg2_set_buf+71>: mov 0x8(%esi),%eax
0x0813367a <mpeg2_set_buf+74>: mov %eax,0x8(%edx)
0x0813367d <mpeg2_set_buf+77>: mov 0x10(%ebp),%eax
0x08133680 <mpeg2_set_buf+80>: mov %eax,0xc(%edx)
0x08133683 <mpeg2_set_buf+83>: je 0x81336a8 <mpeg2_set_buf+120>
0x08133685 <mpeg2_set_buf+85>: mov 0x398(%ebx),%edx
0x0813368b <mpeg2_set_buf+91>: mov (%edx),%eax
0x0813368d <mpeg2_set_buf+93>: test %eax,%eax
0x0813368f <mpeg2_set_buf+95>: jne 0x81336a8 <mpeg2_set_buf+120>
0x08133691 <mpeg2_set_buf+97>: mov (%esi),%eax
0x08133693 <mpeg2_set_buf+99>: movl $0x0,0xc(%edx)
0x0813369a <mpeg2_set_buf+106>: mov %eax,(%edx)
0x0813369c <mpeg2_set_buf+108>: mov 0x4(%esi),%eax
0x0813369f <mpeg2_set_buf+111>: mov %eax,0x4(%edx)
0x081336a2 <mpeg2_set_buf+114>: mov 0x8(%esi),%eax
0x081336a5 <mpeg2_set_buf+117>: mov %eax,0x8(%edx)
0x081336a8 <mpeg2_set_buf+120>: mov 0xfffffff8(%ebp),%ebx
- ---Type <return> to continue, or q <return> to quit---
End of assembler dump.
(gdb) info all-registers
eax 0x85a1948 140122440
ecx 0x1 1
edx 0x0 0
ebx 0x857e150 139977040
esp 0xbfffd430 0xbfffd430
ebp 0xbfffd448 0xbfffd448
esi 0x85a1968 140122472
edi 0x857e150 139977040
eip 0x813368b 0x813368b
eflags 0x10202 66050
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -nan(0x5a0598005a0598) (raw 0xffff005a0598005a0598)
st1 -nan(0xffa6fa68ffa6fa68) (raw 0xffffffa6fa68ffa6fa68)
st2 -nan(0x14768efffd39c5) (raw 0xffff0014768efffd39c5)
st3 -nan(0xffe008a4ff5b3030) (raw 0xffffffe008a4ff5b3030)
st4 -nan(0x4060d0004060d) (raw 0xffff0004060d0004060d)
st5 0.1000000000000000055511151231257827 (raw 0x3ffbccccccccccccd000)
- ---Type <return> to continue, or q <return> to quit---
st6 -0.1000000000000000055511151231257827 (raw 0xbffbccccccccccccd000)
st7 0.0320487017642343395714375764438131 (raw 0x3ffa83457fdf4e69edf0)
fctrl 0x37f 895
fstat 0x120 288
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 = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
- ---Type <return> to continue, or q <return> to quit---
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
- ---Type <return> to continue, or q <return> to quit---
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
mxcsr 0x1f80 8064
mm0 {uint64 = 0x5a0598005a0598, v2_int32 = {0x5a0598, 0x5a0598},
v4_int16 = {0x598, 0x5a, 0x598, 0x5a}, v8_int8 = {0x98, 0x5, 0x5a, 0x0,
0x98, 0x5, 0x5a, 0x0}}
mm1 {uint64 = 0xffa6fa68ffa6fa68, v2_int32 = {0xffa6fa68,
0xffa6fa68}, v4_int16 = {0xfa68, 0xffa6, 0xfa68, 0xffa6}, v8_int8 = {0x68,
0xfa, 0xa6, 0xff, 0x68, 0xfa, 0xa6, 0xff}}
mm2 {uint64 = 0x14768efffd39c5, v2_int32 = {0xfffd39c5, 0x14768e},
v4_int16 = {0x39c5, 0xfffd, 0x768e, 0x14}, v8_int8 = {0xc5, 0x39, 0xfd,
- ---Type <return> to continue, or q <return> to quit---
0xff, 0x8e, 0x76, 0x14, 0x0}}
mm3 {uint64 = 0xffe008a4ff5b3030, v2_int32 = {0xff5b3030,
0xffe008a4}, v4_int16 = {0x3030, 0xff5b, 0x8a4, 0xffe0}, v8_int8 = {0x30,
0x30, 0x5b, 0xff, 0xa4, 0x8, 0xe0, 0xff}}
mm4 {uint64 = 0x4060d0004060d, v2_int32 = {0x4060d, 0x4060d},
v4_int16 = {0x60d, 0x4, 0x60d, 0x4}, v8_int8 = {0xd, 0x6, 0x4, 0x0, 0xd,
0x6, 0x4, 0x0}}
mm5 {uint64 = 0xccccccccccccd000, v2_int32 = {0xccccd000,
0xcccccccc}, v4_int16 = {0xd000, 0xcccc, 0xcccc, 0xcccc}, v8_int8 = {0x0,
0xd0, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc}}
mm6 {uint64 = 0xccccccccccccd000, v2_int32 = {0xccccd000,
0xcccccccc}, v4_int16 = {0xd000, 0xcccc, 0xcccc, 0xcccc}, v8_int8 = {0x0,
0xd0, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc}}
mm7 {uint64 = 0x83457fdf4e69edf0, v2_int32 = {0x4e69edf0,
0x83457fdf}, v4_int16 = {0xedf0, 0x4e69, 0x7fdf, 0x8345}, v8_int8 = {0xf0,
0xed, 0x69, 0x4e, 0xdf, 0x7f, 0x45, 0x83}}
It doesn't dump a core.
I'm running RedHat 9 + a few rawhide packages (gcc, glibc) on a vanilla 2.6.0-test7 kernel (the same happens on vanilla 2.4.22 kernel)
[prat at tribblesoft2 prat]$ ls -l /lib/libc[.-]*
- -rwxr-xr-x 1 root root 1573216 Sep 30 12:15 /lib/libc-2.3.2.so
lrwxrwxrwx 1 root root 13 Oct 4 03:45 /lib/libc.so.6 -> libc-2.3.2.so
[prat at tribblesoft2 prat]$ X -version
XFree86 Version 4.3.0 (Red Hat Linux release: 4.3.0-2)
Release Date: 27 February 2003
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: Linux 2.4.20-3bigmem i686 [ELF]
Build Date: 27 February 2003
Build Host: porky.devel.redhat.com
Before reporting problems, check http://www.XFree86.Org/
to make sure that you have the latest version.
Module Loader present
OS Kernel: Linux version 2.6.0-test7 (prat at tribblesoft2) (gcc version 3.3.1 20030930 (Red Hat Linux 3.3.1-6)) #1 Wed Oct 8 15:42:36 CDT 2003 P
[prat at tribblesoft2 prat]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.1/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.1 20030930 (Red Hat Linux 3.3.1-6)
[prat at tribblesoft2 prat]$ ld -v
GNU ld version 2.14.90.0.4 20030523
[prat at tribblesoft2 prat]$ as --version
GNU assembler 2.14.90.0.4 20030523
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 `i386-redhat-linux'.
[prat at tribblesoft2 prat]$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(TM) XP 1900+
stepping : 2
cpu MHz : 1600.274
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 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 3170.30
Video card: NVIDIA GeForce 4 Ti 4200 running NVIDIA's latest drivers (4496)
Sad to say that I don't know your code well enough to figure this out. Doesn't signal 11 usually mean a hardware failure? Strange that it doesn't do this on most files...
- ----
Alex Tribble <alext96 at softhome.net>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE/h2/ybgiwzIBQRqMRAiDTAJwN4G4CpVnceH4sl+qFDTCe521AugCfa625
Vb9HxmUWS9kkI8NIWvXfsSc=
=lYz9
-----END PGP SIGNATURE-----
More information about the MPlayer-users
mailing list