crash due to weird freetype font in gdiplus/sse
Marcus Meissner
meissner at suse.de
Fri Nov 10 11:10:53 CST 2017
Hi,
we saw this during wineconf
http://test.winehq.org/data/010119085b4cee3d7edbad2c5a46d35daa95000d/linux_mm-thinkpad-64/gdiplus:font.html
the actual instruction is:
cvttsd2si $xmm0, $eax
which receives a FPE trap as the content of $xmm0 does not fit into
$eax.
http://www.jaist.ac.jp/iscenter-new/mpc/altix/altixdata/opt/intel/vtune/doc/users_guide/mergedProjects/analyzer_ec/mergedProjects/reference_olh/mergedProjects/instructions/instruct32_hh/vc67.htm
This means someone switched on FPE traps for XMM instructions in $CR4
register, which I would expect freetype2 the prime candidate if it is
not Wine itself.
Debugging shows that capEmHeight and capXHeight are both values < 0.
long story short, in the loader we get these values:
fixme:font:get_outline_text_metrics L"Goha-Tibeb Zemen" sCapHeight=-32768
fixme:font:get_outline_text_metrics L"Goha-Tibeb Zemen" sxHeight=-32768
The documentation does not give 0x8000 a specific meaning in the OS2
table.
I can provide this font if needed for debugging.
Ciao, Marcus
More information about the wine-devel
mailing list