[Bug 52079] New: oleacc:main crashes randomly on Windows 10 1709+

WineHQ Bugzilla wine-bugs at winehq.org
Sun Nov 21 04:31:08 CST 2021


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

            Bug ID: 52079
           Summary: oleacc:main crashes randomly on Windows 10 1709+
           Product: Wine
           Version: unspecified
          Hardware: x86-64
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: oleacc
          Assignee: wine-bugs at winehq.org
          Reporter: fgouget at codeweavers.com

oleacc:main crashes randomly on Windows 10 1709+ in both 32- and 64-bit:

main.c:1041: Test failed: V_VT(&v) = 0
main.c:1048: Test failed: V_VT(&v) = 0
main.c:1049: Test failed: V_DISPATCH(&v) = 0000000000000000
main.c:1049: this is the last test seen before the exception
1050:main: unhandled exception c0000005 at 0000000000401597
oleacc:main:1050 done (-1073741819) in 0s
Test failed: crash (c0000005)

https://test.winehq.org/data/patterns.html#oleacc:main

Unsurprisingly a bisect shows that the tests started failing with the commit
that introduced the test:

commit 1a3db363c6b4065af532a8db1e6309be753b1781
Author: Connor McAdams <cmcadams at codeweavers.com>
Date:   Mon Sep 20 18:03:31 2021 +0200

    oleacc: Add Client_get_accFocus tests.

    Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
    Signed-off-by: Piotr Caban <piotr at codeweavers.com>
    Signed-off-by: Alexandre Julliard <julliard at winehq.org>


At the time the crash happened after line 1037 which points to line 1039 as a
likely culprit:
1032    /* Set focus to each child window. */
1033    SetFocus(btn);
1034    hr = IAccessible_get_accFocus(acc, &v);
1035    ok(hr == S_OK, "hr %#x\n", hr);
1036    ok(V_VT(&v) == VT_DISPATCH, "V_VT(&v) = %d\n", V_VT(&v));
1037    ok(V_DISPATCH(&v) != NULL, "V_DISPATCH(&v) = %p\n", V_DISPATCH(&v));
1038
1039    hr = IDispatch_QueryInterface(V_DISPATCH(&v), &IID_IOleWindow,
(void**)&ow);
1040    ok(hr == S_OK, "got %x\n", hr);

That call has been moved to _check_acc_hwnd() and so the crash now happens in
the first QueryInterface() call in that function:

    hr = IUnknown_QueryInterface(unk, &IID_IOleWindow, (void**)&ow);
called from
    check_acc_hwnd((IUnknown*)V_DISPATCH(&v), btn);

-- 
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