When testing freetype2 I found commit 5f18d867c0bf075153c8d6abb7e8d248a
([truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470)) resulted
in segmentation faults when using the mpv media player and attempting to
display its OSC (OnScreen Controller). As I don't believe this is an
issue with mpv (or the libass library) I'm posting this here
Here is a backtrace from the affected software:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f2e100e7b64 in tt_size_request (size=0x7f2df4412490,
req=0x7f2dfe752140) at /shortened/freetype2/src/truetype/ttdriver.c:367
367 : req->vertResolution;
[Current thread is 1 (Thread 0x7f2dfe753700 (LWP 19632))]
(gdb) bt full
#0 0x00007f2e100e7b64 in tt_size_request (size=0x7f2df4412490,
req=0x7f2dfe752140) at /shortened/freetype2/src/truetype/ttdriver.c:367
resolution = <optimized out>
error = <optimized out>
req = 0x7f2dfe752140
size = 0x7f2df4412490
error = <optimized out>
#1 0x00007f2e100d23cf in FT_Request_Size (face=face@entry=0x7f2df48bb650,
req=req@entry=0x7f2dfe752140)
at
/home/earnest/build/store/freetype2-git/src/freetype2/src/base/ftobjs.c:3071
clazz = <optimized out>
#2 0x00007f2e14096ebc in ass_face_set_size (face=face@entry=0x7f2df48bb650,
size=<optimized out>) at ass_font.c:305
hori = 0x7f2df48bb7e0
os2 = <optimized out>
mscale = 1
rq = {type = FT_SIZE_REQUEST_TYPE_REAL_DIM, width = 0, height = 0,
horiResolution = 0, vertResolution = 0}
m = 0x7f2df44124a8
#3 0x00007f2e1409715d in add_face (fontsel=fontsel@entry=0x7f2df8068dc0,
font=0x7f2df48aaa70, ch=ch@entry=0) at ass_font.c:220
path = 0x7f2df80b5b30 "/usr/share/fonts/TTF/DejaVuSans.ttf"
postscript_name = 0x7f2df80b5b10 "DejaVuSans"
i = <optimized out>
index = 0
uid = 351
error = <optimized out>
stream = {func = 0x0, priv = 0x0}
face = 0x7f2df48bb650
#4 0x00007f2e140973d2 in ass_font_new (font_cache=<optimized out>,
library=0x7f2df8065b30, ftlibrary=0x7f2df8065960, fontsel=0x7f2df8068dc0,
desc=desc@entry=0x7f2dfe752280) at ass_font.c:255
font = 0x7f2df48aaa70
new_desc = <optimized out>
error = <optimized out>
#5 0x00007f2e140a7855 in update_font
(render_priv=render_priv@entry=0x7f2df8067540) at ass_parse.c:132
val = <optimized out>
desc = {family = 0x7f2df4409f70 "sans-serif", bold = 400, italic = 0,
vertical = 0}
#6 0x00007f2e1409d312 in reset_render_context
(render_priv=render_priv@entry=0x7f2df8067540, style=<optimized out>) at
ass_render.c:858
No locals.
#7 0x00007f2e140aa335 in parse_tag
(render_priv=render_priv@entry=0x7f2df8067540, p=<optimized out>,
end=end@entry=0x7f2df80f3d8e "}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}", pwr=pwr@entry=1) at
ass_parse.c:775
len = <optimized out>
q = 0x7f2df80f3d6c
"\\blur0\\bord1\\1c&H000000\\3c&HFFFFFF}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}"
name_end = 0x7f2df80f3d6c
"\\blur0\\bord1\\1c&H000000\\3c&HFFFFFF}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}"
args = {{
start = 0x7f2df80f3d65
"Default\\blur0\\bord1\\1c&H000000\\3c&HFFFFFF}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\---Type <return> to continue, or q
<return> to quit---
\p0}{}", end = 0x7f2df80f3d6c
"\\blur0\\bord1\\1c&H000000\\3c&HFFFFFF}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}"}, {
start = 0x7f2e140b7ee8 "", end = 0x7f2e140b7ee8 ""}, {start =
0x7f2e140b7ee8 "", end = 0x7f2e140b7ee8 ""}, {start = 0x7f2e140b7ee8 "",
end = 0x7f2e140b7ee8 ""}, {start = 0x7f2e140b7ee8 "", end =
0x7f2e140b7ee8 ""}, {start = 0x7f2e140b7ee8 "", end = 0x7f2e140b7ee8 ""}, {
start = 0x7f2e140b7ee8 "", end = 0x7f2e140b7ee8 ""}, {start =
0x7f2e140b7ee8 "", end = 0x7f2e140b7ee8 ""}}
nargs = 1
__PRETTY_FUNCTION__ = "parse_tag"
#8 0x00007f2e1409dbb7 in parse_events (event=<optimized out>,
render_priv=0x7f2df8067540) at ass_render.c:1842
info = <optimized out>
q = 0x7f2df80f3d8e "}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4} m 0 0
l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}"
text_info = 0x7f2df8067840
drawing = 0x0
code = 0
p = 0x7f2df80f3d62
"{\\rDefault\\blur0\\bord1\\1c&H000000\\3c&HFFFFFF}{\\1a&H50&\\2a&HFF&\\3a&HFF&\\4a&HFF&}{\\p4}
m 0 0 l 12819 0 l 12819 448 l 0 448 l 0 0{\\p0}{}"
#9 ass_render_event (event_images=<optimized out>, event=<optimized out>,
render_priv=0x7f2df8067540) at ass_render.c:2461
device_y = 0
bbox = {xMin = 0, xMax = 6.9087803142822647e-310, yMin =
2.1239399353291325e-314, yMax = 6.9087841256730343e-310}
MarginL = <optimized out>
MarginR = <optimized out>
MarginV = <optimized out>
valign = <optimized out>
device_x = 0
text_info = 0x7f2df8067840
max_text_width = <optimized out>
#10 ass_render_frame (priv=0x7f2df8067540, track=<optimized out>,
now=<optimized out>, detect_change=<optimized out>) at ass_render.c:3015
event = <optimized out>
i = <optimized out>
cnt = <optimized out>
last = <optimized out>
tail = <optimized out>
_______________________________________________
Freetype mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype