Opened 3 years ago

Closed 3 years ago

#12045 closed defect (fixed)

SCUMM: FT: seg fault in the imuse_digi submodule when a game action is attempted.

Reported by: nniro Owned by: AndywinXp
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Full Throttle

Description

I am testing this on a raspberry pi 4 with the bleeding edge scummvm which I compiled myself. I'm not sure if the same issue happens on other platforms, please check.

At the beginning of the game, when you are next to the dumpster. If you attempt to use your hand or leg on the dumpster there is a 50% chance of a crash. On the next screen (in front of the bar), when you use your eyes on the window of the bar, the game crashes on all attempts. Doing actions pretty much always end up in a crash.

Running scummvm with gdb gave me this result :

0x0007d0c0 in Scumm::IMuseDigital::switchToNextRegion (track=0x2bbd6d0, this=0x2bfa640) at engines/scumm/imuse_digi/dimuse.cpp:582

582 bool isJumpToStart = (soundDesc->jump[jumpId].dest == soundDesc->marker[2].pos && !scumm_stricmp(soundDesc->marker[2].ptr, "start"));

Program terminated with signal SIGSEGV, Segmentation fault.

I used git blame to check which commit actually made changes around that line and found 3 possible commits :
434d1f37f9398b6a7a1b08cd5464a1d5ecccdc41
8be297ea4fcb6dc56b28e7484913f149e6ff796d
5ea8e62e5315c940556b27d6fbf91a4e278e4e6c

The problem was solved after reverting these 3 commits. Do note however that I don't think all of these 3 commits caused the regression.

Change History (1)

comment:1 by AndywinXp, 3 years ago

Owner: set to AndywinXp
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.