[MPlayer-advusers] mplayer crashes with -ass
Christian Ohm
chr.ohm at gmx.net
Mon Aug 8 06:39:35 CEST 2011
Hello,
since a few days, mplayer crashes occasionally. The problem seems to be
in libass, probably caused by a libfreetype update (Debian switched from
2.4.4-2 to 2.4.6-1 four days ago, which might coindice with when the
crashes started).
The attached a.ass (just rename a random video file to a.avi) plays with
"mplayer a.avi", but fails with "mplayer -ass a.avi". A (very) short
look at the backtrace (unfortunately Debian has no -dbg package for
freetype, so no detailed info from that) led me to make the change in
workaround.diff (basically just disabling the line it crashed in), and
with that change, it doesn't crash anymore.
Best regards,
Christian Ohm
-------------- next part --------------
?[Script Info]
; Script generated by Aegisub v2.1.2 RELEASE PREVIEW (SVN r1987, amz)
; http://www.aegisub.net
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
ScaledBorderAndShadow: yes
Audio File: ?video
Video File: a.avi
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 89492
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Sans,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:15.00,Default,,0000,0000,0000,,asdf\Nzxcv
-------------- next part --------------
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff602731f in ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#0 0x00007ffff602731f in ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#1 0x00007ffff6027496 in ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#2 0x00007ffff6028266 in FT_Stroker_LineTo () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#3 0x00007ffff6029b37 in FT_Stroker_ParseOutline () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#4 0x00007ffff6029db6 in FT_Glyph_StrokeBorder () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#5 0x000000000062040c in stroke_outline_glyph (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1002
#6 get_outline_glyph (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1127
#7 ass_render_event (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1822
#8 0x0000000000622f28 in ass_render_frame (priv=0x15dffa0, track=0x1728dd0, now=0, detect_change=0xfb9540) at libass/ass_render.c:2503
#9 0x0000000000610ca2 in eosd_ass_update (src=0xfb9520, res=0xff6100, ts=<value optimized out>) at sub/ass_mp.c:338
#10 0x00000000005c4479 in eosd_render_frame (ts=0, images=0x7fffffffbff0) at sub/eosd.c:79
#11 0x000000000060f586 in put_image (vf=0x17190e0, mpi=0x1b45bc0, pts=0) at libmpcodecs/vf_ass.c:356
#12 0x0000000000534034 in filter_video (sh_video=<value optimized out>, frame=<value optimized out>, pts=<value optimized out>) at libmpcodecs/dec_video.c:481
#13 0x00000000004bb11f in generate_video_frame (blit_frame=0x7fffffffe1a8) at mplayer.c:1820
#14 update_video (blit_frame=0x7fffffffe1a8) at mplayer.c:2491
#15 0x00000000004aedc4 in main (argc=<value optimized out>, argv=<value optimized out>) at mplayer.c:3779
rax 0xfffffffe0 68719476704
rbx 0x1b485a0 28607904
rcx 0x16 22
rdx 0x0 0
rsi 0x7fffffffb9f0 140737488337392
rdi 0x1b485a0 28607904
rbp 0x7fffffffb9f0 0x7fffffffb9f0
rsp 0x7fffffffb9c0 0x7fffffffb9c0
r8 0x7ffff607f320 140737321104160
r9 0xffffffffffa60001 -5898239
r10 0x0 0
r11 0x7ffff601e360 140737320706912
r12 0x0 0
r13 0x1b485a0 28607904
r14 0x104 260
r15 0x1b4770a 28604170
rip 0x7ffff602731f 0x7ffff602731f
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0x9090909090909090) (raw 0xffff9090909090909090)
st1 -nan(0x9090909090909090) (raw 0xffff9090909090909090)
st2 -nan(0x9090908f8f8e8e8e) (raw 0xffff9090908f8f8e8e8e)
st3 -inf (raw 0xffff0000000000000000)
st4 -nan(0x8081817f80808080) (raw 0xffff8081817f80808080)
st5 -nan(0x1000001000000) (raw 0xffff0001000001000000)
st6 -inf (raw 0xffff0000000000000000)
st7 -inf (raw 0xffff0000000000000000)
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, 0x3, 0x0, 0x0}, v2_double = {0x60, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x4058, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x40580000, 0x0, 0x0}, v2_int64 = {0x4058000000000000, 0x0}, uint128 = 0x00000000000000004058000000000000}
xmm1 {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x60, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x4058, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x40580000, 0x0, 0x0}, v2_int64 = {0x4058000000000000, 0x0}, uint128 = 0x00000000000000004058000000000000}
xmm2 {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x40, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x4050, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x40500000, 0x0, 0x0}, v2_int64 = {0x4050000000000000, 0x0}, uint128 = 0x00000000000000004050000000000000}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, v8_int16 = {0x0, 0xff00, 0x0, 0xffff, 0xff00, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xff000000, 0xffff0000, 0xffffff00, 0xffffffff}, v2_int64 = {0xffff0000ff000000, 0xffffffffffffff00}, uint128 = 0xffffffffffffff00ffff0000ff000000}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x61, 0x70, 0x73, 0x0, 0x70, 0x73, 0x61, 0x75, 0x78, 0x0, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61}, v8_int16 = {0x7061, 0x73, 0x7370, 0x7561, 0x78, 0x6552, 0x7567, 0x616c}, v4_int32 = {0x737061, 0x75617370, 0x65520078, 0x616c7567}, v2_int64 = {0x7561737000737061, 0x616c756765520078}, uint128 = 0x616c7567655200787561737000737061}
xmm5 {v4_float = {0x3, 0x3, 0x3, 0x3}, v2_double = {0x20, 0x20}, v16_int8 = {0x40 <repeats 16 times>}, v8_int16 = {0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040, 0x4040}, v4_int32 = {0x40404040, 0x40404040, 0x40404040, 0x40404040}, v2_int64 = {0x4040404040404040, 0x4040404040404040}, uint128 = 0x40404040404040404040404040404040}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x5b <repeats 16 times>}, v8_int16 = {0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b}, v4_int32 = {0x5b5b5b5b, 0x5b5b5b5b, 0x5b5b5b5b, 0x5b5b5b5b}, v2_int64 = {0x5b5b5b5b5b5b5b5b, 0x5b5b5b5b5b5b5b5b}, uint128 = 0x5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x20 <repeats 16 times>}, v8_int16 = {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020}, v4_int32 = {0x20202020, 0x20202020, 0x20202020, 0x20202020}, v2_int64 = {0x2020202020202020, 0x2020202020202020}, uint128 = 0x20202020202020202020202020202020}
xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x20, 0x20, 0x20, 0x0 <repeats 13 times>}, v8_int16 = {0x2020, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x202020, 0x0, 0x0, 0x0}, v2_int64 = {0x202020, 0x0}, uint128 = 0x00000000000000000000000000202020}
xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0, 0x20}, v8_int16 = {0x0, 0x0, 0x0, 0x2000, 0x2020, 0x2020, 0x2020, 0x2000}, v4_int32 = {0x0, 0x20000000, 0x20202020, 0x20002020}, v2_int64 = {0x2000000000000000, 0x2000202020202020}, uint128 = 0x20002020202020202000000000000000}
xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff}, v8_int16 = {0x0, 0x0, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xff00}, v4_int32 = {0x0, 0xffff0000, 0xffffffff, 0xff00ffff}, v2_int64 = {0xffff000000000000, 0xff00ffffffffffff}, uint128 = 0xff00ffffffffffffffff000000000000}
xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1}, v8_int16 = {0x1, 0x0, 0x101, 0x101, 0x100, 0x100, 0x100, 0x101}, v4_int32 = {0x1, 0x1010101, 0x1000100, 0x1010100}, v2_int64 = {0x101010100000001, 0x101010001000100}, uint128 = 0x01010100010001000101010100000001}
xmm13 {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}
xmm14 {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}
xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x1 <repeats 16 times>}, v8_int16 = {0x101, 0x101, 0x101, 0x101, 0x101, 0x101, 0x101, 0x101}, v4_int32 = {0x1010101, 0x1010101, 0x1010101, 0x1010101}, v2_int64 = {0x101010101010101, 0x101010101010101}, uint128 = 0x01010101010101010101010101010101}
mxcsr 0x1fa0 [ PE IM DM ZM OM UM PM ]
#0 0x00007ffff602731f in ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
No symbol table info available.
#1 0x00007ffff6027496 in ?? () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
No symbol table info available.
#2 0x00007ffff6028266 in FT_Stroker_LineTo () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
No symbol table info available.
#3 0x00007ffff6029b37 in FT_Stroker_ParseOutline () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
No symbol table info available.
#4 0x00007ffff6029db6 in FT_Glyph_StrokeBorder () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
No symbol table info available.
#5 0x000000000062040c in stroke_outline_glyph (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1002
error = <value optimized out>
#6 get_outline_glyph (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1127
v = {glyph = 0x168, outline_glyph = 0x32315659, bbox_scaled = {xMin = 24110640, yMin = 24219872, xMax = 28597184, yMax = 12}, advance = {x = 480, y = 1}, asc = 842094169, desc = 0}
val = <value optimized out>
key = {font = 0x1b48480, size = 20, ch = 97, bold = 0, italic = 0, scale_x = 65536, scale_y = 65536, outline = {x = 131070, y = 131070}, drawing_hash = 0, flags = 0, border_style = 1}
#7 ass_render_event (render_priv=0x15dffa0, event=0x162e3e0, event_images=0x1b45c60) at libass/ass_render.c:1822
p = 0x15de8a1 "sdf\\Nzxcv"
previous = <value optimized out>
num_glyphs = 0
pen = {x = 0, y = 0}
code = 97
bbox = {xMin = 2.5910383477981661e-318, xMax = 6.9550400934049006e-310, yMin = 1.260176484363217e-316, yMax = 1.1294032366967891e-316}
i = <value optimized out>
j = <value optimized out>
MarginL = <value optimized out>
MarginR = <value optimized out>
MarginV = <value optimized out>
last_break = <value optimized out>
alignment = <value optimized out>
halign = <value optimized out>
valign = <value optimized out>
kern = 0
device_x = 0
device_y = 0
text_info = 0x15e01d0
glyphs = 0x18531e0
drawing = 0x1b48610
#8 0x0000000000622f28 in ass_render_frame (priv=0x15dffa0, track=0x1728dd0, now=0, detect_change=0xfb9540) at libass/ass_render.c:2503
event = <value optimized out>
i = <value optimized out>
cnt = <value optimized out>
rc = <value optimized out>
last = <value optimized out>
tail = <value optimized out>
#9 0x0000000000610ca2 in eosd_ass_update (src=0xfb9520, res=0xff6100, ts=<value optimized out>) at sub/ass_mp.c:338
aimg = <value optimized out>
img = <value optimized out>
#10 0x00000000005c4479 in eosd_render_frame (ts=0, images=0x7fffffffbff0) at sub/eosd.c:79
src = 0xfb9520
changed = <value optimized out>
#11 0x000000000060f586 in put_image (vf=0x17190e0, mpi=0x1b45bc0, pts=0) at libmpcodecs/vf_ass.c:356
images = {first_source = 0x7fffffffc010, source = 0x7ffff7ffb9ad, image = 0x170a9d0, changed = 0}
#12 0x0000000000534034 in filter_video (sh_video=<value optimized out>, frame=<value optimized out>, pts=<value optimized out>) at libmpcodecs/dec_video.c:481
mpi = <value optimized out>
t2 = 3314116217
vf = 0x17190e0
ret = <value optimized out>
#13 0x00000000004bb11f in generate_video_frame (blit_frame=0x7fffffffe1a8) at mplayer.c:1820
drop_frame = 0
decoded_frame = 0x1b45bc0
start = 0x171ef00 ""
in_size = <value optimized out>
hit_eof = 0
pts = 0
#14 update_video (blit_frame=0x7fffffffe1a8) at mplayer.c:2491
sh_video = 0x170a9d0
frame_time = <value optimized out>
#15 0x00000000004aedc4 in main (argc=<value optimized out>, argv=<value optimized out>) at mplayer.c:3779
frame_time = <value optimized out>
frame_time_remaining = 0
blit_frame = 0
skip_timing = 1
aq_sleep_time = 0
opt_exit = <value optimized out>
i = <value optimized out>
A debugging session is active.
Inferior 1 [process 25037] will be killed.
Quit anyway? (y or n) [answered Y; input not from terminal]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: workaround.diff
Type: text/x-diff
Size: 551 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-advusers/attachments/20110808/f4d8ce24/attachment.bin>
More information about the MPlayer-advusers
mailing list