[MPlayer-users] EXC_BAD_ACCESS with exotic expand/scale filter combination

cbreak cbreak at the-color-black.net
Mon Jul 21 03:08:11 CEST 2008


The crashes occur with many movies of various types and sizes, but not  
with all. They occured since I use the following config options:

vf-pre=screenshot
vf-add=expand=:::::1.6,scale=-2:1050

(The goal of that is to scale the image before the subtitles are  
rendered, so that the subtitles are rendered in a high resolution and  
aren't blurry.)


artefact:mplayer cbreak$ gdb --args ./mplayer test.ogm
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct  2 04:07:49  
UTC 2007)
Copyright 2004 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 "i386-apple-darwin"...Reading symbols for  
shared libraries .............

...

........ done

(gdb) run
Starting program: /Volumes/Chronos/Installers/mplayer/mplayer test.ogm
Reading symbols for shared libraries +++++++++++++++++++++++++ 
+....................................................................  
done
MPlayer dev-SVN-r27330-4.0.1 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Xeon(R) CPU           E5462  @ 2.80GHz (Family: 6,  
Model: 23, Stepping: 6)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing test.ogm.
[Ogg] stream 0: video (FOURCC DX50), -vid 0
[Ogg] stream 1: audio (Vorbis), -aid 0
[Ogg] stream 2: audio (Vorbis), -aid 1
[Ogg] stream 3: subtitles (SRT-like text subtitles), -sid 0
[Ogg] stream 4: subtitles (SRT-like text subtitles), -sid 1
Ogg file format detected.
VIDEO:  [DX50]  640x480  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
  Language: English
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Opening video filter: [scale]
[ass] auto-open
Opening video filter: [scale w=-2 h=1050]
Opening video filter: [expand aspect=1.6]
Expand: -1 x -1, -1 ; -1, osd: 0, aspect: 1.600000, round: 1
Opening video filter: [screenshot]
[ass] Init
= 
= 
========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
= 
= 
========================================================================
= 
= 
========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[Ogg] Language for -sid 0 is '-slang "English (Formated)"'
[Ogg] Language for -sid 1 is '-slang "English (Unformated)"'
Demuxer info Language changed to English (Unformated)
AUDIO: 48000 Hz, 2 ch, s16le, 96.0 kbit/6.25% (ratio: 12000->192000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis decoder)
= 
= 
========================================================================
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
AO: [macosx] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
[mpeg4 @ 0x81faf0]Invalid and inefficient vfw-avi packed B frames  
detected
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[swscaler @ 0x81cde0]No accelerated colorspace conversion found.
[swscaler @ 0x81cde0]using unscaled yuv420p -> rgb24 special converter
VO: [macosx] 1680x1050 => 1680x1050 Packed YUY2
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Full DR not possible, trying SLICES instead!
Reading symbols for shared libraries .. done
Full DR not possible, trying SLICES instead!/  1 ??% ??% ??,?% 0 0
Full DR not possible, trying SLICES instead!/  2 ??% ??% ??,?% 1 0
Why do we get NULL??V:  0.130 ct: -0.004   3/  3 ??% ??% ??,?% 1 0

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
put_image (vf=0x108d720, mpi=0x0, pts=0.16683320701122284) at  
libmpcodecs/vf_scale.c:369
369	  if(!(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK && dmpi)){
(gdb) bt
#0  put_image (vf=0x108d720, mpi=0x0, pts=0.16683320701122284) at  
libmpcodecs/vf_scale.c:369
#1  0x0015e484 in put_image (vf=0x10915b0, mpi=0x10272c0,  
pts=0.16683320701122284) at libmpcodecs/vf_screenshot.c:205
Cannot access memory at address 0xbc
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x9f793 to 0x9f7d3:
0x0009f793 <put_image+3>:	mov    %esi,0x34(%esp)
0x0009f797 <put_image+7>:	mov    0x44(%esp),%esi
0x0009f79b <put_image+11>:	movsd  0x48(%esp),%xmm0
0x0009f7a1 <put_image+17>:	mov    %edi,0x38(%esp)
0x0009f7a5 <put_image+21>:	movsd  %xmm0,0x28(%esp)
0x0009f7ab <put_image+27>:	mov    0x40(%esp),%edi
0x0009f7af <put_image+31>:	mov    %ebx,0x30(%esp)
0x0009f7b3 <put_image+35>:	movzwl (%esi),%eax
0x0009f7b6 <put_image+38>:	mov    0x68(%esi),%ebx
0x0009f7b9 <put_image+41>:	shr    $0xc,%eax
0x0009f7bc <put_image+44>:	xor    $0x1,%eax
0x0009f7bf <put_image+47>:	mov    %al,%dl
0x0009f7c1 <put_image+49>:	and    $0x1,%dl
0x0009f7c4 <put_image+52>:	test   %ebx,%ebx
0x0009f7c6 <put_image+54>:	sete   %al
0x0009f7c9 <put_image+57>:	or     %al,%dl
0x0009f7cb <put_image+59>:	jne    0x9f810 <put_image+128>
0x0009f7cd <put_image+61>:	mov    0x64(%edi),%edx
0x0009f7d0 <put_image+64>:	mov    (%edx),%eax
0x0009f7d2 <put_image+66>:	cmp    0x18(%esi),%eax
End of assembler dump.
(gdb) info all-registers
eax            0x108d6b0	17356464
ecx            0x9f790	653200
edx            0x108d720	17356576
ebx            0x1091620	17372704
esp            0xbfffe540	0xbfffe540
ebp            0xb8	0xb8
esi            0x0	0
edi            0x108d720	17356576
eip            0x9f7b3	0x9f7b3 <put_image+35>
eflags         0x10282	66178
cs             0x17	23
ss             0x1f	31
ds             0x1f	31
es             0x1f	31
fs             0x0	0
gs             0x37	55
st0            -nan(0x532053205320532)	(raw 0xffff0532053205320532)
st1            -nan(0x360c0b1efed60000)	(raw 0xffff360c0b1efed60000)
st2            -nan(0x14c014c014c014c)	(raw 0xffff014c014c014c014c)
st3            -nan(0x4000400040004)	(raw 0xffff0004000400040004)
st4            -nan(0x4000400040004)	(raw 0xffff0004000400040004)
st5            -nan(0x14c014c014c014c)	(raw 0xffff014c014c014c014c)
st6            -nan(0x2000200020002)	(raw 0xffff0002000200020002)
st7            137328651016.7660064697265625	(raw  
0x4023ffcb67584620c800)
fctrl          0x37f	895
fstat          0x21	33
ftag           0xffff	65535
fiseg          0x17	23
fioff          0x116215	1139221
foseg          0x1f	31
fooff          0xbfffe680	-1073748352
fop            0x77c	1916
xmm0           {
   v4_float = {0, 0, 1.54183316, 3.68934881e+19},
   v2_double = {0, 0.16683320701122284},
   v16_int8 = "\000\000\000\000\000\000\000\000??Z?`\000\000",
   v8_int16 = {0, 0, 0, 0, 16325, 23242, 24576, 0},
   v4_int32 = {0, 0, 1069898442, 1610612736},
   v2_int64 = {0, 4595178820041965568},
   uint128 = 415711806783
}	(raw 0x00000060ca5ac53f0000000000000000)
xmm1           {
   v4_float = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), - 
nan(0x7fff00)},
   v2_double = {-nan(0xfffffffffffff), -nan(0xfffffffffff00)},
   v16_int8 = '?' <repeats 15 times>,
   v8_int16 = {-1, -1, -1, -1, -1, -1, -1, -256},
   v4_int32 = {-1, -1, -1, -256},
   v2_int64 = {-1, -256},
   uint128 = 0xffffffffffffffffffffffffffffff00
}	(raw 0x00ffffffffffffffffffffffffffffff)
xmm2           {
   v4_float = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), - 
nan(0x7fffff)},
   v2_double = {-nan(0xfffffffffffff), -nan(0xfffffffffffff)},
   v16_int8 = '?' <repeats 16 times>,
   v8_int16 = {-1, -1, -1, -1, -1, -1, -1, -1},
   v4_int32 = {-1, -1, -1, -1},
   v2_int64 = {-1, -1},
   uint128 = 0xffffffffffffffffffffffffffffffff
}	(raw 0xffffffffffffffffffffffffffffffff)
xmm3           {
   v4_float = {5.62664606e-38, 5.6237762e-38, 0, 0},
   v2_double = {5.8729988089759157e-301, 0},
   v16_int8 = "\001?,\000\001?\030\000\000\000\000\000\000\000\000",
   v8_int16 = {409, 11264, 409, 6144, 0, 0, 0, 0},
   v4_int32 = {26815488, 26810368, 0, 0},
   v2_int64 = {115171644013090816, 0},
   uint128 = 0x01992c00019918000000000000000000
}	(raw 0x000000000000000000189901002c9901)
xmm4           {
   v4_float = {0, 0, 0, 5.62664606e-38},
   v2_double = {0, 1.3248611397268197e-316},
   v16_int8 = '\0' <repeats 12 times>, "\001?,",
   v8_int16 = {0, 0, 0, 0, 0, 0, 409, 11264},
   v4_int32 = {0, 0, 0, 26815488},
   v2_int64 = {0, 26815488},
   uint128 = 12553128549285888
}	(raw 0x002c9901000000000000000000000000)
xmm5           {
   v4_float = {0, 0, 0, 0},
   v2_double = {0, 0},
   v16_int8 = '\0' <repeats 15 times>,
   v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
   v4_int32 = {0, 0, 0, 0},
   v2_int64 = {0, 0},
   uint128 = 0
}	(raw 0x00000000000000000000000000000000)
xmm6           {
   v4_float = {-0.00268446305, 0.999996424, -0.0057523963, 0.99998343},
   v2_double = {-1.3205514186133783e-23, -6.0339505591072256e-21},
   v16_int8 = "?/????Ļ?~????",
   v8_int16 = {-17617, -4655, 16255, -60, -17476, 32409, 16255, -278},
   v4_int32 = {-1154486831, 1065353156, -1145274727, 1065352938},
   v2_int64 = {-4958483181742325820, -4918917496334975254},
   uint128 = 0xbb2fedd13f7fffc4bbbc7e993f7ffeea
}	(raw 0xeafe7f3f997ebcbbc4ff7f3fd1ed2fbb)
xmm7           {
   v4_float = {-0, -0, -0, -0},
   v2_double = {-1.0609978954826362e-314, -1.0609978954826362e-314},
   v16_int8 = "?\000\000\000?\000\000\000?\000\000\000?\000\000",
   v8_int16 = {-32768, 0, -32768, 0, -32768, 0, -32768, 0},
   v4_int32 = {-2147483648, -2147483648, -2147483648, -2147483648},
   v2_int64 = {-9223372034707292160, -9223372034707292160},
   uint128 = 0x80000000800000008000000080000000
}	(raw 0x00000080000000800000008000000080)
mxcsr          0x1fa7	8103
mm0            {
   uint64 = 374367431418840370,
   v2_int32 = {87164210, 87164210},
   v4_int16 = {1330, 1330, 1330, 1330},
   v8_int8 = "2\0052\0052\0052\005"
}	(raw 0x0532053205320532)
mm1            {
   uint64 = 3894500005520998400,
   v2_int32 = {-19529728, 906758942},
   v4_int16 = {0, -298, 2846, 13836},
   v8_int8 = "\000\000??\036\v\f6"
}	(raw 0x360c0b1efed60000)
mm2            {
   uint64 = 93451118218838348,
   v2_int32 = {21758284, 21758284},
   v4_int16 = {332, 332, 332, 332},
   v8_int8 = "L\001L\001L\001L\001"
}	(raw 0x014c014c014c014c)
mm3            {
   uint64 = 1125917086973956,
   v2_int32 = {262148, 262148},
   v4_int16 = {4, 4, 4, 4},
   v8_int8 = "\004\000\004\000\004\000\004"
}	(raw 0x0004000400040004)
mm4            {
   uint64 = 1125917086973956,
   v2_int32 = {262148, 262148},
   v4_int16 = {4, 4, 4, 4},
   v8_int8 = "\004\000\004\000\004\000\004"
}	(raw 0x0004000400040004)
mm5            {
   uint64 = 93451118218838348,
   v2_int32 = {21758284, 21758284},
   v4_int16 = {332, 332, 332, 332},
   v8_int8 = "L\001L\001L\001L\001"
}	(raw 0x014c014c014c014c)
mm6            {
   uint64 = 562958543486978,
   v2_int32 = {131074, 131074},
   v4_int16 = {2, 2, 2, 2},
   v8_int8 = "\002\000\002\000\002\000\002"
}	(raw 0x0002000200020002)
mm7            {
   uint64 = -14804544934328320,
   v2_int32 = {1176553472, -3446952},
   v4_int16 = {-14336, 17952, 26456, -53},
   v8_int8 = "\000? FXg??"
}	(raw 0xffcb67584620c800)
(gdb)




More information about the MPlayer-users mailing list