https://bugs.winehq.org/show_bug.cgi?id=54152
Bug ID: 54152 Summary: mshtml:misc sometimes times out in Wine Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: mshtml Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
mshtml:misc sometimes times out on exit in Wine. Sometimes the timeout happens on exit:
0a50:misc: 244 tests executed (0 marked as todo, 0 as flaky, 0 failures), 0 skipped. mshtml:misc:0a50 done (258) in 120s 86B
and sometimes before in which case there is no trace:
mshtml:misc:04c0 done (258) in 120s 0B
See https://test.winehq.org/data/patterns.html#mshtml:misc
The first timeout happened on 2022-11-10 but there is only a bit over 1 per month. Also the GitLab CI seems to be more prone to getting those.
There is also one case where the test got a failure instead:
misc.c:257: Test failed: key failed 80004005 0a4c:misc: 244 tests executed (0 marked as todo, 0 as flaky, 1 failure), 0 skipped. mshtml:misc:0a4c done (1) in 0s 131B
256 hres = IHTMLStorage_key(storage, -1, &key); 257 ok(hres == E_INVALIDARG, "key failed %08lx\n", hres);
Where: 0x80004005 == E_FAIL 0x80070057 == E_INVALIDARG
Hopefully that failure is related and the timeout is caused by either HTMLStorage_key() going into an infinite loop or corrupting the memory.
https://bugs.winehq.org/show_bug.cgi?id=54152
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase CC| |gabrielopcode@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=54152
--- Comment #1 from Gabriel Ivăncescu gabrielopcode@gmail.com --- That IHTMLStorage_key is from local storage, and the mshtml code never returns E_FAIL directly without using another API (it expects E_INVALIDARG because the index is negative, i.e. out of range). The failure is probably coming from msxml or the opening of the file itself. open_document returns E_FAIL if IXMLDOMDocument_load returns S_FALSE or doesn't succeed loading, for example, so it's probably from there, unless it's a propagated error.
If it's a memory corruption it's unlikely I can find the cause unfortunately, especially since I never saw it locally / can't reproduce. Not sure what can cause the timeout, but some of the tests are reliant a bit on local files and such, which might be prone to flaky errors?