[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