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

Ubitux ubitux at gmail.com
Wed Jun 17 10:58:23 CEST 2009


On Thu, Jun 11, 2009 at 12:55 AM, Ubitux<ubitux at gmail.com> wrote:
> 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
>

'Right, so the problem seems to be when compiling with gcc4.4. Using
--cc=gcc3.4, it solved the problem...

-- 
ubitux


More information about the MPlayer-users mailing list