https://bugs.winehq.org/show_bug.cgi?id=53199
Bug ID: 53199 Summary: dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: directx-dinput Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine. There are three known instance but they don't all correspond to the same check:
2022-05-17 force_feedback.c:6097: Test failed: Release returned 1 6096 ref = IAsyncOperation_ForceFeedbackLoadEffectResult_Release( result_async ); 6097 ok( ref == 0, "Release returned %lu\n", ref );
2022-06-06 and 2022-06-17 force_feedback.c:6057: Test failed: Release returned 1 6056 ref = IForceFeedbackEffect_Release( effect ); 6057 ok( ref == 0, "Release returned %lu\n", ref );
https://test.winehq.org/data/patterns.html#dinput:force_feedback
This failure can happen on its own (so it's not a side-effect of another failure) and is pretty rare (~0.8%) so it's bound to cause false positives.
https://bugs.winehq.org/show_bug.cgi?id=53199
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=53199
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
--- Comment #1 from Rémi Bernon rbernon@codeweavers.com --- Probably because it's asynchronous and sometimes the worker thread terminates late. The checks should probably be removed.
https://bugs.winehq.org/show_bug.cgi?id=53199
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1854001c79eb756db667b3e813f | |14d2aa71a10be Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #2 from François Gouget fgouget@codeweavers.com --- This got fixed by the commit below which removed the checks:
commit 1854001c79eb756db667b3e813f14d2aa71a10be Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Jul 7 08:52:07 2022 +0200
dinput/tests: Remove racy IForceFeedbackEffect reference count checks.
Because the async operation holds a reference on the invoker and the param, it may keep the effect alive until the worker thread releases its reference on the async operation. We have no way to synchronize on that.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53199 Signed-off-by: Rémi Bernon rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=53199
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.0-rc1.