[Scummvm-tracker] [ScummVM] #6638: RINGWORLD2: Game sometimes hangs in flup tube system (may affect other TsAGE games as well)

Colin Snover trac at scummvm.org
Mon Nov 20 18:16:26 CET 2017


#6638: RINGWORLD2: Game sometimes hangs in flup tube system (may affect other
TsAGE games as well)
---------------------------------+-----------------------------------------
  Reporter:  eriktorbjorn        |      Owner:  csnover
      Type:  defect              |     Status:  new
  Priority:  blocker             |  Component:  Engine: TsAGE
Resolution:                      |   Keywords:  has-save-game has-backtrace
      Game:  Return to           |
  Ringworld                      |
---------------------------------+-----------------------------------------

Comment (by csnover):

 In the attached save game there is a deadlock because:

 1. The save game restoration code acquires a lock on a game sound manager
 mutex which causes the audio thread to block on the game sound manager
 mutex when the OPL callback timer fires;
 2. The audio thread acquires the system mixer mutex prior to calling the
 OPL callback timer;
 3. The save game causes a fatal error in ManagedSurface which causes the
 debugger to be entered;
 4. The debugger tries to pause all audio in the system mixer, which causes
 the main thread to block on the system mixer mutex;
 5. Deadlock.

 I’m not sure why the save game restore code is acquiring a lock instead of
 just pausing the system mixer to stop audio from being serviced during the
 restore. I’m also not sure if this save game is even valid; fixing the
 ManagedSurface error just causes the game to be restored with no visible
 mouse cursor, and then forcing the cursor to be visible again by hitting
 F1 to show the game menu leaves me with a running game, but one where I
 can’t seem to get anything to happen.

--
Ticket URL: <https://bugs.scummvm.org/ticket/6638#comment:21>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list