[Bug 49564] Tomb Raider I (using DosBox) hangs after starting

WineHQ Bugzilla wine-bugs at winehq.org
Fri Aug 7 10:20:18 CDT 2020


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

Arek Hiler <ahiler at codeweavers.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ahiler at codeweavers.com

--- Comment #3 from Arek Hiler <ahiler at codeweavers.com> ---
I've been debugging the same issue that happens with Doom II from Steam (also
ships with dosbox.exe).

The problem got introduced with cd215bb49b ("kernel32: Use the user shared data
to implement GetTickCount().") - instead of 1ms resolution we started slipping
into 16-17ms. Windows apparently provides resolution of 10-16ms (according to
doc), which turns out to actually be 15-16ms with occasional hiccups
https://testbot.winehq.org/JobDetails.pl?Key=76665

This was easy to fix but decreasing the update time to 15 ms:
-static const timeout_t kusd_timeout = 16 * -TICKS_PER_SEC / 1000;
+static const timeout_t kusd_timeout = 15 * -TICKS_PER_SEC / 1000;

Doom II worked reliably.

Since then another change got introduced - 1ae1088964 ("server: Update shared
user data timestamps on every request.") - apparently to address
https://bugs.winehq.org/show_bug.cgi?id=49228

So I have tried:
-static const int user_shared_data_timeout = 16;
+static const int user_shared_data_timeout = 15;

Sadly, the game sill crashes. My current guess is that dosbox.exe doesn't like
very unstable deltas between ticks, which we have now because we update
timestamps at "random" intervals - on each server request. I am yet to verify
that

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