http://bugs.winehq.org/show_bug.cgi?id=19986
--- Comment #9 from Tel lists@lnx-bsp.net 2010-01-04 03:39:57 --- Hopefully someone who reads this might be interested in fixing bugs rather than ignoring the problem, the following could be useful:
export WINEDEBUG=+font,+xrender,+xrandr,+synchronous
In the trace you get:
trace:xrender:UploadGlyph buflen = 127920. Got metrics: 78715x13 adv=13175,0 origin=-1,11 err:seh:setup_exception_record stack overflow 940 bytes in thread 0009 eip 7bc39bcf esp 00240f84 stack 0x240000-0x241000-0x340000
Note that the font metric is clearly WRONG (no possible font could be 78000 pixels wide) and the buflen is much larger than expected (typical buflen values in UploadGlyph are less than 100 bytes). This shows errors in the font metric calculation.
Anyone having similar problems should trace with similar WINEDEBUG and search for the UploadGlyph line with the broken metric values. If you have similar problems please post to this bug, maybe get it opened again.
As a bit of additional info, I see lines like this in the trace:
trace:font:WineEngGetGlyphOutline 4,8,(0,8),5,0
Almost always these are small numbers, but right before the bug hits I see larger numbers like so:
trace:xrender:get_xrender_format Returning wxr_format=0 trace:font:GetGlyphOutlineW (0x1d0, 0056, 0081, 0x33e338, 127920, 0x1fea40, 0x73632ab6) trace:font:WineEngGetGlyphOutline 0x1a0dc0, 0056, 00000081, 0x33e338, 0001f3b0, 0x1fea40, 0x73632ab6 trace:font:WineEngGetGlyphOutline font transform 1.000000 0.000000 0.000000 1.000000 trace:font:WineEngGetGlyphOutline Vec 0,704 trace:font:WineEngGetGlyphOutline Vec 0,-128 trace:font:WineEngGetGlyphOutline Vec 384,704 trace:font:WineEngGetGlyphOutline Vec 384,-128 trace:font:WineEngGetGlyphOutline transformed box: (-64,704 - 5037696,-128) trace:font:WineEngGetGlyphOutline 78715,13,(-1,11),13175,0
This is the only place I see the "Vec" lines and also the only place I see large numbers in the WineEngGetGlyphOutline result so that might be something to look for.