[Bug 52187] New: wine-mono's WPF tests hang

WineHQ Bugzilla wine-bugs at winehq.org
Tue Dec 7 15:54:27 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=52187

            Bug ID: 52187
           Summary: wine-mono's WPF tests hang
           Product: Wine
           Version: 6.23
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: madewokherd at gmail.com
      Distribution: ---

The test
WineMono.Tests.System.Windows.Media.TextFormatting.TextFormatterTest:IndentTest
hangs on current Wine.

It seems it gets in a loop where dwritetextanalyzer_AnalyzeLineBreakpoints
requests data past the end of the range provided by the source, and the source
returns 0-length text.

This is our implementation of GetTextAtPosition:
https://github.com/madewokherd/wpf/blob/main/src/Microsoft.DotNet.Wpf/src/DirectWriteForwarder/CPP/DWriteWrapper/TextAnalyzerSource.cs#L90

Print statement debugging shows that the "else" path is being taken in that
function, but on the dwrite side checking for a length of 0 works around the
hang.

Bisecting gave me this:

909f7aa7c21f82114586e98a0a9e940b13bc386a is the first bad commit
commit 909f7aa7c21f82114586e98a0a9e940b13bc386a
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Dec 2 15:37:19 2021 +0300

    dwrite: Use CRT allocation functions.

Nothing in that commit should change the behavior. I double-checked the result,
and it's consistent. I tried running with WINEDEBUG=warn+heap, both before and
after the bad commit, and that didn't change the behavior or print any warnings
while the test process was running.

Leaving component unknown because it's not clear to me that dwrite is doing
anything wrong.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list