Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#766 closed defect (fixed)

MPlayer crashes on .MP4 files

Reported by: ajaxas@… Owned by: r_togni@…
Priority: normal Component: demuxer
Version: HEAD Severity: critical
Keywords: Cc: reimar, ajaxas@…
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Mplayer HEAD crashes on any *.mp4 file with "MPlayer interrupted by signal 11 in module: decode_audio" error, whichever audio format stream is present (that's why I think it's a demuxer). The problem is being observed since 19.02.2007 until now.

Fallback to r22233 solves the problem. Reassembling an MP4 file into MKV file with MKVtoolnix also solves the problem.

System: OpenSUSE 10.2
Kernel: 2.6.20-rc7-git3 (vanilla)
libc: libc-2.5
gcc: 4.1.2 (final, but beta-version as well)
ld: 2.17.50.0.5 20060927 (SUSE Linux)
as: 2.17.50.0.5 20060927 (SUSE Linux)

CPU: Athlon XP (Barton) 2500+
Video card: NVidia GeForce FX 5200 128MB
Video driver: NVIDIA-Linux-x86-1.0-9631
Sound card: Creative SB128 (es1371) with the kernel ALSA driver

MPlayer output:


ajaxas@r2d2:~/soft/make/mplayer> ./mplayer /mnt/m/new_2/Death_Note_-_Promo_\[Karehi\]_\[H264_AAC\]\[44C47DE5\].mp4
MPlayer dev-SVN-r22321-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) XP 2500+ (Family: 6, Model: 10, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Cannot load bitmap font: arial

Playing /mnt/m/new_2/Death_Note_-_Promo_[Karehi]_[H264_AAC][44C47DE5].mp4.
Quicktime/MOV file format detected.
MOV: selected subtitle stream (0) does not exist
VIDEO: [avc1] 640x352 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, s16le, 166.0 kbit/10.81% (ratio: 20746->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...

MPlayer interrupted by signal 11 in module: decode_audio

  • 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.

I cannot attach GDB log because compiling with --enable-debug=3 option results in the next error:


cc -I../libswscale -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -W -Wall -Wno-unused-parameter -O2 -march=athlon -mtune=athlon -g3 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/usr/include -I/usr/include/SDL -D_REENTRANT -I/opt/kde3/include/artsc -pthread -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/freetype2 -c -o h264.o h264.c
In file included from dsputil.h:34,

from h264.c:30:

avcodec.h:2428: warning: 'ImgReSampleContext' is deprecated
avcodec.h:2431: warning: 'ImgReSampleContext' is deprecated
In file included from h264.c:36:
cabac.h:366: warning: 'inline' is not at beginning of declaration
h264.c: In function 'fill_caches':
h264.c:617: warning: comparison between signed and unsigned
h264.c:785: warning: comparison between signed and unsigned
h264.c: In function 'check_intra_pred_mode':
h264.c:1030: warning: comparison between signed and unsigned
h264.c: In function 'direct_dist_scale_factor':
h264.c:1323: warning: comparison between signed and unsigned
h264.c:1335: warning: comparison between signed and unsigned
h264.c: In function 'direct_ref_list_init':
h264.c:1352: warning: comparison between signed and unsigned
h264.c:1361: warning: comparison between signed and unsigned
h264.c: In function 'write_back_motion':
h264.c:1696: warning: comparison between signed and unsigned
h264.c: In function 'hl_decode_mb':
h264.c:3536: warning: comparison between signed and unsigned
h264.c:3541: warning: suggest parentheses around arithmetic in operand of
h264.c:3547: warning: suggest parentheses around arithmetic in operand of

h264.c: In function 'fill_default_ref_list':
h264.c:3827: warning: comparison between signed and unsigned
h264.c:3839: warning: comparison between signed and unsigned
h264.c:3855: warning: comparison between signed and unsigned
h264.c:3871: warning: comparison between signed and unsigned
h264.c: In function 'decode_ref_pic_list_reordering':
h264.c:3904: warning: comparison between signed and unsigned
h264.c:3919: warning: comparison between signed and unsigned
h264.c:3928: warning: comparison between signed and unsigned
h264.c:3967: warning: comparison between signed and unsigned
h264.c:3983: warning: comparison between signed and unsigned
h264.c:3984: warning: comparison between signed and unsigned
h264.c: In function 'fill_mbaff_ref_list':
h264.c:3999: warning: comparison between signed and unsigned
h264.c:4017: warning: comparison between signed and unsigned
h264.c:4018: warning: comparison between signed and unsigned
h264.c: In function 'pred_weight_table':
h264.c:4038: warning: comparison between signed and unsigned
h264.c: In function 'implicit_weight_table':
h264.c:4094: warning: comparison between signed and unsigned
h264.c:4096: warning: comparison between signed and unsigned
h264.c: In function 'print_short_term':
h264.c:4211: warning: comparison between signed and unsigned
h264.c: In function 'decode_slice_header':
h264.c:4505: warning: comparison between signed and unsigned
h264.c:4529: warning: comparison between signed and unsigned
h264.c:4638: warning: comparison between signed and unsigned
h264.c:4639: warning: comparison between signed and unsigned
h264.c: In function 'decode_residual':
h264.c:4885: warning: comparison between signed and unsigned
h264.c: In function 'decode_mb_cavlc':
h264.c:5229: warning: pointer targets in passing argument 2 of 'pred_direct_motion' differ in signedness
h264.c:5248: warning: comparison between signed and unsigned
h264.c:5254: warning: comparison between signed and unsigned
h264.c:5269: warning: comparison between signed and unsigned
h264.c:5270: warning: unused variable 'ref_count'
h264.c:5315: warning: pointer targets in passing argument 2 of 'pred_direct_motion' differ in signedness
h264.c:5321: warning: comparison between signed and unsigned
h264.c:5333: warning: comparison between signed and unsigned
h264.c:5348: warning: comparison between signed and unsigned
h264.c:5362: warning: comparison between signed and unsigned
h264.c:5379: warning: comparison between signed and unsigned
h264.c:5393: warning: comparison between signed and unsigned
h264.c: At top level:
h264.c:5949: warning: 'inline' is not at beginning of declaration
h264.c: In function 'decode_cabac_residual':
h264.c:6083: warning: passing argument 4 of 'decode_significance_8x8_x86' discards qualifiers from pointer target type
h264.c:6010: warning: unused variable 'last'
h264.c: At top level:
h264.c:6158: warning: 'inline' is not at beginning of declaration
h264.c: In function 'decode_mb_cabac':
h264.c:6384: warning: comparison between signed and unsigned
h264.c:6403: warning: comparison between signed and unsigned
h264.c:6471: warning: comparison between signed and unsigned
h264.c:6478: warning: comparison between signed and unsigned
h264.c:6493: warning: comparison between signed and unsigned
h264.c:6502: warning: comparison between signed and unsigned
h264.c:6520: warning: comparison between signed and unsigned
h264.c:6529: warning: comparison between signed and unsigned
h264.c: In function 'filter_mb_fast':
h264.c:7035: warning: dereferencing type-punned pointer will break strict-aliasing rules
h264.c: In function 'decode_unregistered_user_data':
h264.c:7527: warning: comparison between signed and unsigned
h264.c:7532: warning: pointer targets in passing argument 1 of 'sscanf' differ in signedness
h264.c: At top level:
h264.c:8652: warning: missing initializer
h264.c:8652: warning: (near initialization for 'h264_parser.next')
In file included from h264.c:8655:
svq3.c: In function 'svq3_decode_block':
svq3.c:224: warning: comparison between signed and unsigned
svq3.c: In function 'svq3_mc_dir':
svq3.c:374: warning: comparison between signed and unsigned
svq3.c:374: warning: comparison between signed and unsigned
svq3.c: In function 'svq3_decode_mb':
svq3.c:450: warning: comparison between signed and unsigned
svq3.c: In function 'svq3_decode_slice_header':
svq3.c:741: warning: comparison between signed and unsigned
svq3.c: At top level:
svq3.c:1015: warning: missing initializer
svq3.c:1015: warning: (near initialization for 'svq3_decoder.next')
cabac.h:109: warning: 'put_cabac_static' defined but not used
cabac.h:155: warning: 'put_cabac_terminate' defined but not used
cabac.h:183: warning: 'put_cabac_u' defined but not used
cabac.h:218: warning: 'put_cabac_ueg' defined but not used
cabac.h:270: warning: 'refill2' defined but not used
cabac.h:808: warning: 'get_cabac_u' defined but not used
cabac.h:824: warning: 'get_cabac_ueg' defined but not used
cabac.h: In function 'get_cabac_noinline':
cabac.h:522: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
make[1]: * [h264.o] Error 1
make[1]: Leaving directory `/home/ajaxas/soft/make/mplayer/libavcodec'
make:
* [libavcodec/libavcodec.a] Error 2

Change History (11)

comment:1 by ajaxas@…, 17 years ago

Cc: ajaxas@… added

Reverted /libavutil, /libavformat, /libavcodec to {"2007-02-17"} (corresponding to mplayer's r22233), without any positive results.

Perhaps, it's something in MPlayer itself not corresponding to ffmpeg's later changes?

(also updated my kernel to 2.6.20-rc1 vanilla, same results)

comment:2 by ajaxas@…, 17 years ago

(In reply to comment #1)

(also updated my kernel to 2.6.20-rc1 vanilla, same results)

Oops, 2.6.21-rc1 ofcourse.

comment:3 by compn, 17 years ago

to compile the h264 stuff, copy and paste the gcc line and add -fomit-frame-pointer
http://bugzilla.mplayerhq.hu/show_bug.cgi?id=635
is the bugzilla for that enable debug bug.

D:\>mplayerols "The Last King of Scotland.mp4"
MPlayer dev-SVN-r22307-3.2.3 (C) 2000-2007 MPlayer Team

22307 works fine for me ... i wonder if anything was fixed.
does -nosound or -demuxer lavf change anything ?

comment:4 by ajaxas@…, 17 years ago

(In reply to comment #3)

22307 works fine for me ... i wonder if anything was fixed.
does -nosound or -demuxer lavf change anything ?

22323 doesn't work for me, but w00t! -demuxer lavf cures it, while -nosound had no effect.

And here is GDB log:

ajaxas@r2d2:~/soft/make/mplayer> gdb ./mplayer
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run /mnt/m/new_2/Death_Note_-_Promo_[Karehi]_[H264_AAC][44C47DE5].mp4
Starting program: /home/ajaxas/soft/make/mplayer/mplayer /mnt/m/new_2/Death_Note_-_Promo_[Karehi]_[H264_AAC][44C47DE5].mp4
[Thread debugging using libthread_db enabled]
[New Thread -1230673088 (LWP 10641)]
MPlayer dev-SVN-r22323-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) XP 2500+ (Family: 6, Model: 10, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Cannot load bitmap font: arial
mplayer: could not connect to socket
mplayer: Connection refused
Failed to open LIRC support. You will not be able to use your remote control.

Playing /mnt/m/new_2/Death_Note_-_Promo_[Karehi]_[H264_AAC][44C47DE5].mp4.
Quicktime/MOV file format detected.
MOV: selected subtitle stream (0) does not exist
VIDEO: [avc1] 640x352 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, s16le, 166.0 kbit/10.81% (ratio: 20746->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1230673088 (LWP 10641)]
demux_mov_fill_buffer (demuxer=0x8732ac8, ds=0x8731530) at demux_mov.c:2161
2161 while (samplenr < trak->samples_size) {
(gdb) bt
#0 demux_mov_fill_buffer (demuxer=0x8732ac8, ds=0x8731530) at demux_mov.c:2161
#1 0x08135a5b in ds_fill_buffer (ds=0x8731530) at demuxer.c:406
#2 0x08136079 in ds_get_packet_pts (ds=0x8731530, start=0xbfcc16e4, pts=0xbfcc16d8) at demuxer.c:533
#3 0x08111438 in decode_audio (sh=0x87387b0, buf=0x874db00 "", minlen=65536, maxlen=114688) at ad_faad.c:261
#4 0x080d3dcb in decode_audio (sh_audio=0x87387b0, buf=0x876d9e0 "", minlen=65536, maxlen=65536) at dec_audio.c:389
#5 0x0807f1f3 in main (argc=2, argv=0xbfcc2944) at mplayer.c:1788
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x8151510 to 0x8151550:
0x08151510 <demux_mov_fill_buffer+1312>: mov 0x44(%esi),%esi
0x08151513 <demux_mov_fill_buffer+1315>: addl $0x1,0x8(%ebx)
0x08151517 <demux_mov_fill_buffer+1319>: adcl $0x0,0xc(%ebx)
0x0815151b <demux_mov_fill_buffer+1323>: mov 0x48(%esi),%eax
0x0815151e <demux_mov_fill_buffer+1326>: mov %esi,0xffffffa0(%ebp)
0x08151521 <demux_mov_fill_buffer+1329>: test %eax,%eax
0x08151523 <demux_mov_fill_buffer+1331>: js 0x8151669 <demux_mov_fill_buffer+1657>
0x08151529 <demux_mov_fill_buffer+1337>: mov 0xffffff9c(%ebp),%edx
0x0815152c <demux_mov_fill_buffer+1340>: mov 0x24(%edx,%eax,4),%eax
0x08151530 <demux_mov_fill_buffer+1344>: mov 0x54(%eax),%esi
0x08151533 <demux_mov_fill_buffer+1347>: test %esi,%esi
0x08151535 <demux_mov_fill_buffer+1349>: jle 0x81517af <demux_mov_fill_buffer+1983>
0x0815153b <demux_mov_fill_buffer+1355>: mov 0x58(%eax),%edi
0x0815153e <demux_mov_fill_buffer+1358>: fildl 0x18(%eax)
0x08151541 <demux_mov_fill_buffer+1361>: xor %edx,%edx
0x08151543 <demux_mov_fill_buffer+1363>: fstpl 0xffffffa8(%ebp)
0x08151546 <demux_mov_fill_buffer+1366>: xor %ebx,%ebx
0x08151548 <demux_mov_fill_buffer+1368>: mov (%edi),%eax
0x0815154a <demux_mov_fill_buffer+1370>: mov %edi,%ecx
0x0815154c <demux_mov_fill_buffer+1372>: flds 0xffffffbc(%ebp)
0x0815154f <demux_mov_fill_buffer+1375>: push %edx
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x14525 83237
edx 0x87333a8 141767592
ebx 0x87356d8 141776600
esp 0xbfcc15c0 0xbfcc15c0
ebp 0xbfcc1658 0xbfcc1658
esi 0x87316f0 141760240
edi 0x0 0
eip 0x8151530 0x8151530 <demux_mov_fill_buffer+1344>
eflags 0x10202 [ IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x37f 895
fstat 0x20 32
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 = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
---Type <return> to continue, or q <return> to quit---

0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}

mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

comment:5 by ajaxas@…, 17 years ago

Valgrind says:

ajaxas@r2d2:~/soft/make/mplayer> valgrind --tool=memcheck mplayer /mnt/m/new_2/Death_Note_-_Promo_\[Karehi\]_\[H264_AAC\]\[44C47DE5\].mp4
==10689== Memcheck, a memory error detector.
==10689== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==10689== Using LibVEX rev 1658, a library for dynamic binary translation.
==10689== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==10689== Using valgrind-3.2.2.SVN, a dynamic binary instrumentation framework.
==10689== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==10689== For more details, rerun with: -v
==10689==
MPlayer dev-SVN-r22323-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Intel Celeron 2/Pentium III Tualatin (Family: 6, Model: 11, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Cannot load bitmap font: arial

Playing /mnt/m/new_2/Death_Note_-_Promo_[Karehi]_[H264_AAC][44C47DE5].mp4.
Quicktime/MOV file format detected.
MOV: selected subtitle stream (0) does not exist
VIDEO: [avc1] 640x352 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, s16le, 166.0 kbit/10.81% (ratio: 20746->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
==10689== Syscall param semctl(IPC_SET, arg.buf) points to uninitialised byte(s)
==10689== at 0x47E1E6E: semctl@@GLIBC_2.2 (in /lib/libc-2.5.so)
==10689== by 0x440C497: snd_pcm_direct_semaphore_create_or_connect (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x4406CAD: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440794A: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5987: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A42: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43F17DF: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A71: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440EA0E: _snd_pcm_asym_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== Address 0xBEAFE25C is on thread 1's stack
==10689==
==10689== Syscall param ioctl(arg) contains uninitialised byte(s)
==10689== at 0x47D9019: ioctl (in /lib/libc-2.5.so)
==10689== by 0x43CF901: snd_pcm_prepare (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5E5C: snd_pcm_hw_params (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440D893: snd_pcm_direct_initialize_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x44074C7: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440794A: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5987: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A42: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43F17DF: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A71: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689==
==10689== Syscall param ioctl(arg) contains uninitialised byte(s)
==10689== at 0x47D9019: ioctl (in /lib/libc-2.5.so)
==10689== by 0x43CF7C1: snd_pcm_start (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440DC16: snd_pcm_direct_initialize_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x44074C7: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440794A: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5987: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A42: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43F17DF: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5304: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D5A71: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440EA0E: _snd_pcm_asym_open (in /usr/lib/libasound.so.2.0.0)
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
==10689==
==10689== Invalid read of size 4
==10689== at 0x81690CB: (within /usr/bin/mplayer)
==10689== Address 0x54 is not stack'd, malloc'd or (recently) free'd

MPlayer interrupted by signal 11 in module: decode_audio

  • 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.

==10689==
==10689== Syscall param ioctl(arg) contains uninitialised byte(s)
==10689== at 0x47D9019: ioctl (in /lib/libc-2.5.so)
==10689== by 0x4415071: snd_timer_stop (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x440C1A7: snd_pcm_direct_timer_stop (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x4405953: (within /usr/lib/libasound.so.2.0.0)
==10689== by 0x43CF721: snd_pcm_drop (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x43D69D4: snd_pcm_close (in /usr/lib/libasound.so.2.0.0)
==10689== by 0x80C1A0F: (within /usr/bin/mplayer)
==10689==
==10689== ERROR SUMMARY: 6 errors from 5 contexts (suppressed: 12 from 2)
==10689== malloc/free: in use at exit: 85,298 bytes in 2,507 blocks.
==10689== malloc/free: 6,383 allocs, 3,876 frees, 2,097,736 bytes allocated.
==10689== For counts of detected errors, rerun with: -v
==10689== searching for pointers to 2,507 not-freed blocks.
==10689== checked 2,468,944 bytes.
==10689==
==10689== LEAK SUMMARY:
==10689== definitely lost: 218 bytes in 13 blocks.
==10689== possibly lost: 22,132 bytes in 617 blocks.
==10689== still reachable: 62,948 bytes in 1,877 blocks.
==10689== suppressed: 0 bytes in 0 blocks.
==10689== Use --leak-check=full to see details of leaked memory.

comment:6 by ajaxas@…, 17 years ago

OK, I found it: this starts from r22252:


r22252 | reimar | 2007-02-18 03:12:27 +0600 (Sun, 18 Feb 2007) | 4 lines
Changed paths:

M /trunk/mplayer.c

Make sure that -sid works even if the number of subtitles initially detected
by the demuxer is smaller. Should improve a bit problems with non-selectable
DVD/VOB subtitles.


comment:7 by ajaxas@…, 17 years ago

Cc: Reimar.Doeffinger@… added

comment:8 by reimar, 17 years ago

Adding CC before or at the same time as the comment makes much more sense than afterwards ;-).
Anyway, it's also your fault for specifying a -sid that does not exist.
I seems fixed for me in SVN r22333 though.

comment:9 by ajaxas@…, 17 years ago

(In reply to comment #7)

Adding CC before or at the same time as the comment makes much more sense than
afterwards ;-).

Sorry, I'm not that familiar with bugzilla, it's my 2nd report for the whole life. :)

Anyway, it's also your fault for specifying a -sid that does not exist.
I seems fixed for me in SVN r22333 though.


Indeed, seems like it's fixed for me.
I had that "sid=0" string in my ~/.mplayer/config to force usage of embedded subtitle streams in MKV, as long as mere "mplayer file_with_embedded_subs.mkv" doesn't work (and switching subtitle streams with "j" afterwards may cause subtitle hangs...) But this is absolutely another topic.

Then, why "-demuxer lavf" isn't the default for .MP4 files?

comment:10 by reimar, 17 years ago

Resolution: fixed
Status: newclosed

Ok, seems to be fixed thus.
And please add a ;-) to that "it's also your fault", it was of course a bug. Was mostly meant as a reminder to comment out options in your config file, they might be causing it (though report the problem anyway).
-demuxer lavf is not the default because 1) it is currently not possible to make it default only for mp4 2) the "native" demuxer seems to work as well on average 3) only with the native demuxer subtitles in MP4/MOV are supported (both text and Nero vobsub style).
And I think the "subtitle hangs" might be fixed in current SVN versions, too.

comment:11 by ajaxas@…, 17 years ago

(In reply to comment #9)
It's ok, I understood it was a joke :)
I don't know whether it's an appropriate place to discuss such things, but what about an option for automatic dispalying of subtitles in MKV, OGG (and other?) containers? Using "-sid 0" is not a very elegant way...

Note: See TracTickets for help on using tickets.