[MPlayer-users] [BUG] Segmentation fault when playing mkv files

Ubitux ubitux at gmail.com
Thu Jun 11 00:55:05 CEST 2009


Hi,

I'm using latest revision (29352) with no option at the compilation.
It compiles well, and play videos as expected... if they are not "mkv"
files. I tried to compile adding the --enable-debug option, but with
such option, I have no segmentation fault at all. So all I can give is
this valgrind + verbose mplayer run :

% valgrind ./mplayer -v "/tmp/[tfoth] Tezuka's Self Portrait.mkv"
==14418== Memcheck, a memory error detector.
==14418== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==14418== Using LibVEX rev 1884, a library for dynamic binary translation.
==14418== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==14418== Using valgrind-3.4.1, a dynamic binary instrumentation framework.
==14418== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==14418== For more details, rerun with: -v
==14418==
MPlayer SVN-r29352-4.4.0 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 10
CPU: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz (Family: 6,
Model: 15, Stepping: 6)
extended cpuid-level: 8
extended cache-info: 268468288
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowExt SSE SSE2 CMOV
get_path('codecs.conf') -> '/home/ubitux/.mplayer/codecs.conf'
Reading /home/ubitux/.mplayer/codecs.conf: Can't open
'/home/ubitux/.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.
Configuration:
CommandLine: '-v' '/tmp/[tfoth] Tezuka's Self Portrait.mkv'
init_freetype
get_path('font/font.desc') -> '/home/ubitux/.mplayer/font/font.desc'
font: can't open file: /home/ubitux/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/ubitux/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/ubitux/.mplayer/input.conf'
Can't open input config file /home/ubitux/.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
Setting up LIRC support...
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
get_path('[tfoth] Tezuka's Self Portrait.mkv.conf') ->
'/home/ubitux/.mplayer/[tfoth] Tezuka's Self Portrait.mkv.conf'

Playing /tmp/[tfoth] Tezuka's Self Portrait.mkv.
get_path('sub/') -> '/home/ubitux/.mplayer/sub/'
[file] File size is 6436279 bytes
STREAM: [file] /tmp/[tfoth] Tezuka's Self Portrait.mkv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: Matroska file format
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for REAL
Checking for SMJPEG
[mkv] Found the head...
[mkv] + a segment...
[mkv] /---- [ parsing seek head ] ---------
[mkv] /---- [ parsing seek head ] ---------
[mkv] \---- [ parsing seek head ] ---------
[mkv] /---- [ parsing cues ] -----------
[mkv] \---- [ parsing cues ] -----------
[mkv] \---- [ parsing seek head ] ---------
[mkv] |+ segment information...
[mkv] | + timecode scale: 1000000
[mkv] | + duration: 10.600s
[mkv] |+ segment tracks...
[mkv] | + a track...
[mkv] |  + Track number: 1
[mkv] |  + Track type: Video
[mkv] |  + Default flag: 1
[mkv] |  + Codec ID: V_MPEG2
[mkv] |  + Default duration: 40.000ms ( = 25.000 fps)
[mkv] |  + Language: und
[mkv] |  + Video track
[mkv] |   + Pixel width: 720
[mkv] |   + Pixel height: 576
[mkv] |   + Display width: 768
[mkv] |   + Display height: 576
[mkv] | + a track...
[mkv] |  + Track number: 2
[mkv] |  + Track type: Audio
[mkv] |  + Default flag: 1
[mkv] |  + Codec ID: A_AC3
[mkv] |  + Default duration: 32.000ms ( = 31.250 fps)
[mkv] |  + Language: und
[mkv] |  + Audio track
[mkv] |   + Sampling frequency: 48000.000000
[mkv] |   + Channels: 2
[mkv] |+ found cluster, headers are parsed completely :)
==> Found video stream: 1
[mkv] Aspect: 1.333333
[mkv] Track ID 1: video (V_MPEG2), -vid 0
==> Found audio stream: 2
[mkv] Track ID 2: audio (A_AC3), -aid 0, -alang und
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [mpg2]  720x576  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:31  fourcc:0x3267706D  size:720x576  fps:25.000  ftime:=0.0400
get_path('sub/') -> '/home/ubitux/.mplayer/sub/'
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 2880x900 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports ABOVE state.
[x11] Current fstype setting honours LAYER FULLSCREEN ABOVE BELOW X atoms
==14418== Conditional jump or move depends on uninitialised value(s)
==14418==    at 0x402595B: strlen (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==14418==    by 0x4F13004: strdup (in /lib/libc-2.10.1.so)
==14418==    by 0x6C68720: (within /usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x6C3D355: (within /usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x6C2568E: vdp_imp_device_create_x11 (in
/usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x403B752: vdp_device_create_x11 (in
/usr/lib/libvdpau.so.185.18.14)
==14418==    by 0x80C8D86: preinit (in /home/ubitux/mplayer/mplayer)
==14418==
==14418== Conditional jump or move depends on uninitialised value(s)
==14418==    at 0x4025967: strlen (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==14418==    by 0x4F13004: strdup (in /lib/libc-2.10.1.so)
==14418==    by 0x6C68720: (within /usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x6C3D355: (within /usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x6C2568E: vdp_imp_device_create_x11 (in
/usr/lib/libvdpau_nvidia.so.185.18.14)
==14418==    by 0x403B752: vdp_device_create_x11 (in
/usr/lib/libvdpau.so.185.18.14)
==14418==    by 0x80C8D86: preinit (in /home/ubitux/mplayer/mplayer)
[vdpau] Error when calling vdp_device_create_x11: 1
[VO_XV] Using Xv Adapter #0 (NV17 Video Texture)
[xv common] Drawing no colorkey.
[xv common] Maximum source image dimensions: 2046x2046
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Trying filter chain: vo
Could not find matching colorspace - retrying with -vf 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.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
INFO: libavcodec init OK!
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
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 SSE optimized IMDCT transform
==14418==
==14418== Invalid write of size 4
==14418==    at 0x8198F18: demux_mkv_fill_buffer (in
/home/ubitux/mplayer/mplayer)
==14418==  Address 0x0 is not stack'd, malloc'd or (recently) free'd


MPlayer interrupted by signal 11 in module: init_audio_codec
- MPlayer crashed by bad usage of CPU/FPU/RAM.
  Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
  disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.
==14418==
==14418== ERROR SUMMARY: 17 errors from 3 contexts (suppressed: 183 from 1)
==14418== malloc/free: in use at exit: 323,241 bytes in 2,634 blocks.
==14418== malloc/free: 5,710 allocs, 3,076 frees, 2,529,759 bytes allocated.
==14418== For counts of detected errors, rerun with: -v
==14418== Use --track-origins=yes to see where uninitialised values come from
==14418== searching for pointers to 2,634 not-freed blocks.
==14418== checked 12,073,004 bytes.
==14418==
==14418== LEAK SUMMARY:
==14418==    definitely lost: 6 bytes in 1 blocks.
==14418==      possibly lost: 0 bytes in 0 blocks.
==14418==    still reachable: 323,235 bytes in 2,633 blocks.
==14418==         suppressed: 0 bytes in 0 blocks.
==14418== Rerun with --leak-check=full to see details of leaked memory.

I'm running a 32 bits Archlinux up-to-date, with gcc-4.4 (-3) on a A64
3000+ CPU. I've a dual screen and a nvidia graphic card (7600, driver
185.18.14).

Thanks.

-- 
ubitux


More information about the MPlayer-users mailing list