Opened 5 years ago

Closed 16 months ago

#6736 closed defect (fixed)

TSAGE: R2R - Crash on exit Vampire Lair

Reported by: SF/alien-grey Owned by: dreammaster
Priority: blocker Component: Engine: TsAGE
Keywords: has-save-game Cc:
Game: Return to Ringworld

Description

ScummVM 1.7.0 or Daily Build.

Exiting the Vampire Lair makes ScummVM crash. This also happens when switching from Seeker to Miranda or Quinn.

In the attached archive you can find three save files. One from before entering the Vampire Lair (no bug). A save file after collecting the blue crystal and scroll (switching between Seeker and Miranda or Quinn is no longer possible/crash). And one just before leaving the Vampire Lair (crash on exit).

Ticket imported from: bugs/6736.

Attachments (3)

RW2-Saves.zip (37.7 KB) - added by SF/alien-grey 5 years ago.
R2R - Exit Vampire Lair.7z (10.8 KB) - added by Alien-Grey 2 years ago.
R2R - Exit Vampire Lair.2.7z (10.8 KB) - added by Alien-Grey 2 years ago.

Download all attachments as: .zip

Change History (20)

Changed 5 years ago by SF/alien-grey

Attachment: RW2-Saves.zip added

comment:1 Changed 5 years ago by SF/alien-grey

I've found the problem. I should've continued with Quinn first. Once Quinn is at The Forest it's possible to make Seeker exit from the Vampire Lair.

comment:2 Changed 5 years ago by digitall

Loading the savegame after collecting the blue crystal and scroll and switching to Miranda or Quinn gives the following assertion:
scummvm: engines/tsage/scenes.cpp:116: void TsAGE::SceneManager::sceneChange(): Assertion `_objectCount == g_saver->getObjectCount()' failed.

comment:3 Changed 5 years ago by digitall

Loading the savegame just before leaving the lair gives the same assertion on exit.

comment:4 Changed 4 years ago by SF/softwarespecial

I have This game and it crashes on the ship at the very beginning I thought they were still making it compatible which would explain the crashing.

comment:5 Changed 4 years ago by digitall

Owner: set to Strangerke

comment:6 Changed 4 years ago by digitall

Summary: RINGWORLD2: Crash on exit Vampire LairTSAGE: R2R - Crash on exit Vampire Lair

comment:7 Changed 4 years ago by digitall

softwarespecial: Please test with the latest daily build from here:
http://www.scummvm.org/downloads/#daily

If that crash still occurs, then please file it as a separate bug, attaching details including operating system, a savegame or instructions for replication, screenshots if applicable, and any debugging backtraces.

comment:8 Changed 4 years ago by digitall

strangerke: Any progress on tracking down the reason for this assertion in the Vampire Lair?

Changed 2 years ago by Alien-Grey

Attachment: R2R - Exit Vampire Lair.7z added

Changed 2 years ago by Alien-Grey

comment:9 Changed 2 years ago by Alien-Grey

I'm playing this game for the second time with ScummVM and run in to this bug again. After replaying the Vampire Lair three times and several hours later I could exit it without crashing.

As I'm not the only one running in to this bug I decided to attach a save game to exit the Vampire Lair. If you need it and don't want to loose any game play, make sure that Quinn is at the ARM Base and Miranda is waiting in the ARM cell for the ARM soldier to bring her food, before you use it.

I added it 2x by mistake because I didn't know if it was uploaded the first time.

comment:10 Changed 17 months ago by csnover

Priority: normalblocker

Raising all identified crasher, hang, and memory violation bugs which I could not fully triage myself to blocker priority for the next release.

comment:11 Changed 17 months ago by csnover

Owner: Strangerke deleted

Removing all owners from release blockers so they can be reclaimed during the release process. If you are the previous owner and would graciously fix this bug for the next release, please go ahead and re-add yourself as owner.

comment:12 Changed 17 months ago by csnover

Keywords: has-save-game added

comment:13 Changed 16 months ago by csnover

Owner: set to csnover

comment:14 Changed 16 months ago by csnover

I don’t understand what the point is of that assertion. Why is the game not supposed to be able to add/remove saved objects during a scene?

comment:15 Changed 16 months ago by dreammaster

From memory, the savegame code for the TsAGE engine is somewhat different to how the original did things.. it simply dumped the area of memory that contained all the data for game objects. So, in the absense of that, I introduced a new mechanism where all the game objects derived from a common "saveable object" base class, that registers each object into a list. This list needs to remain constant, so that when loading a savegame, the correct data for each object can be loaded into that object.

However, there are some areas where temporary objects are created, such as "ScenePalette" objects used during the intro sequence. These need to be ensured to be freed after the sequence/cutscene is done, or else they'd permanently remain in the object list, and any save made could no longer be restored in your next play session. Hence the assert in the scenes.cpp was to ensure I'd correctly freed any temporary object I'd created.. scene transitions are a good point where any scene specific code should have already have been cleaned up and destroyed.

comment:16 Changed 16 months ago by csnover

dreammaster, I really don’t seem to know enough about TSAGE/R2R to get through this bug in a reasonable amount of time. Would you be willing to take a look at it? All that needs to be done to reproduce is:

  1. Download the RW2-Saves.zip
  2. Load ringworld2-cd.016
  3. Walk into the doorway at the left of the screen

comment:17 Changed 16 months ago by dreammaster

Owner: changed from csnover to dreammaster
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.