Sam Edwards cfsworks@gmail.com writes:
From a2905abf287ff1ac44c93119d76b14b6fc3992c3 Mon Sep 17 00:00:00 2001 From: Sam Edwards CFSworks@gmail.com Date: Sat, 20 Apr 2013 05:48:07 -0600 Subject: gdi32: Clip font glyphs to fit within text metrics.
It doesn't work here:
../../../../wine/tools/runtest -q -P wine -M comctl32.dll -T ../../.. -p comctl32_test.exe.so ../../../../wine/dlls/comctl32/tests/listview.c && touch listview.ok wine: Unhandled page fault on write access to 0x400053b34 at address 0x2b4c3d69e6b7 (thread 0398), starting debugger... winedbg: Internal crash at 0x2b53f78066b7 make: *** [listview.ok] Error 84
On 04/25/2013 12:28 PM, Alexandre Julliard wrote:
It doesn't work here:
../../../../wine/tools/runtest -q -P wine -M comctl32.dll -T ../../.. -p comctl32_test.exe.so ../../../../wine/dlls/comctl32/tests/listview.c && touch listview.ok wine: Unhandled page fault on write access to 0x400053b34 at address 0x2b4c3d69e6b7 (thread 0398), starting debugger... winedbg: Internal crash at 0x2b53f78066b7 make: *** [listview.ok] Error 84
Thanks for the heads-up, AJ.
I can't reproduce this problem, and it's strange that the debugger itself suffered an internal crash as well. Can anyone else verify? Did something mess up during AJ's build?
Thanks for the help, Sam
On 04/26/2013 05:54 AM, Sam Edwards wrote:
On 04/25/2013 12:28 PM, Alexandre Julliard wrote:
It doesn't work here:
../../../../wine/tools/runtest -q -P wine -M comctl32.dll -T ../../.. -p comctl32_test.exe.so ../../../../wine/dlls/comctl32/tests/listview.c && touch listview.ok wine: Unhandled page fault on write access to 0x400053b34 at address 0x2b4c3d69e6b7 (thread 0398), starting debugger... winedbg: Internal crash at 0x2b53f78066b7 make: *** [listview.ok] Error 84
Thanks for the heads-up, AJ.
I can't reproduce this problem, and it's strange that the debugger itself suffered an internal crash as well. Can anyone else verify? Did something mess up during AJ's build?
Sam, look at the size of the address. It is the 64bit build that crashes.
bye michael
On 04/26/2013 08:17 AM, Michael Stefaniuc wrote:
Sam, look at the size of the address. It is the 64bit build that crashes.
bye michael
Michael: Thanks for the advice; I noticed that too and have been running both 64-bit and 32-bit tests. (Although, it's perplexing to me that a change like this would affect 64-bit and not 32-bit.)
AJ: I can't reproduce the crash at all. I spoke with Marcus on #winehackers last night and he found no test failures with the patch either. Could you provide a backtrace on the crash, or at least run the failing test with WINETEST_REPORT_SUCCESS=1 to give me more information on where/how it's dying?
Thanks, Sam
Sam Edwards cfsworks@gmail.com writes:
On 04/26/2013 08:17 AM, Michael Stefaniuc wrote:
Sam, look at the size of the address. It is the 64bit build that crashes.
bye michael
Michael: Thanks for the advice; I noticed that too and have been running both 64-bit and 32-bit tests. (Although, it's perplexing to me that a change like this would affect 64-bit and not 32-bit.)
AJ: I can't reproduce the crash at all. I spoke with Marcus on #winehackers last night and he found no test failures with the patch either. Could you provide a backtrace on the crash, or at least run the failing test with WINETEST_REPORT_SUCCESS=1 to give me more information on where/how it's dying?
Well, there was no backtrace since winedbg crashes. Fortunately gdb works:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff550f6b7 in get_glyph_outline (incoming_font=<optimized out>, glyph=<optimized out>, format=24, lpgm=0x20, abc=0x22c7d0, buflen=288, buf=0x538c4, lpmat=0x7ffff5535160) at ../../../wine/dlls/gdi32/freetype.c:6388 6388 ((unsigned int)src[hmul * x + rgb_interval * 2] << 0) | (gdb) bt #0 0x00007ffff550f6b7 in get_glyph_outline (incoming_font=<optimized out>, glyph=<optimized out>, format=24, lpgm=0x20, abc=0x22c7d0, buflen=288, buf=0x538c4, lpmat=0x7ffff5535160) at ../../../wine/dlls/gdi32/freetype.c:6388 #1 0x00007ffff550fd4e in freetype_GetGlyphOutline (dev=0x40df0, glyph=<optimized out>, format=<optimized out>, lpgm=0x22c9f0, buflen=288, buf=0x538c4, lpmat=0x7ffff5535160) at ../../../wine/dlls/gdi32/freetype.c:7132 #2 0x00007ffff54fcd84 in GetGlyphOutlineW (hdc=<optimized out>, uChar=103, fuFormat=17, lpgm=0x22c9f0, cbBuffer=288, lpBuffer=0x538c4, lpmat2=0x7ffff5535160) at ../../../wine/dlls/gdi32/font.c:2813 #3 0x00007ffff54c97b5 in render_string (hdc=0x490031, dib=<optimized out>, font=0x43cb0, x=95, y=11, flags=12288, str=0x51b70, count=13, dx=0x53470, clipped_rects=0x22cbb0, bounds=0x22cba0) at ../../../wine/dlls/gdi32/dibdrv/graphics.c:707 #4 0x00007ffff54cab68 in dibdrv_ExtTextOut (dev=0x4bbe0, x=51, y=11, flags=12288, rect=<optimized out>, str=0x51b70, count=13, dx=0x53470) at ../../../wine/dlls/gdi32/dibdrv/graphics.c:859 #5 0x00007ffff54c76c0 in windrv_ExtTextOut (dev=<optimized out>, x=51, y=11, flags=12288, rect=<optimized out>, str=<optimized out>, count=13, dx=0x53470) at ../../../wine/dlls/gdi32/dibdrv/dc.c:738 #6 0x00007ffff54fb5d6 in ExtTextOutW (hdc=0x490031, x=51, y=11, flags=12288, lprect=0x22d310, str=0x51b70, count=13, lpDx=0x533f0) at ../../../wine/dlls/gdi32/font.c:2439 #7 0x00007ffff0fbfe73 in ScriptTextOut (hdc=<optimized out>, psc=<optimized out>, x=51, y=0, fuOptions=<optimized out>, lprc=0x22d310, psa=0x47cb4, pwcReserved=0x0, iReserved=0, pwGlyphs=0x51b70, cGlyphs=13, piAdvance=0x51bd0, piJustify=0x0, pGoffset=0x51cd0) at ../../../wine/dlls/usp10/usp10.c:3318 #8 0x00007ffff0fc03e1 in SS_ItemOut (ssa=0x45a00, iX=2, iY=0, iItem=<optimized out>, cStart=<optimized out>, cEnd=<optimized out>, uOptions=0, prc=0x45928, fSelected=0, fDisabled=0) at ../../../wine/dlls/usp10/usp10.c:2147 #9 0x00007ffff0fc0898 in ScriptStringOut (ssa=0x45a00, iX=2, iY=0, uOptions=0, prc=0x45928, iMinSel=0, iMaxSel=0, fDisabled=0) at ../../../wine/dlls/usp10/usp10.c:2211 #10 0x00007ffff584c0c6 in EDIT_PaintLine (es=<optimized out>, dc=0x490031, line=0, rev=<optimized out>) at ../../../wine/dlls/user32/edit.c:2289
On 04/29/2013 08:20 AM, Alexandre Julliard wrote:
Well, there was no backtrace since winedbg crashes. Fortunately gdb works:
Big thanks! I found the problem (it only happened with subpixel rendering, which I don't have enabled) and am resending the patches now. :)