Crash on restoring game

Started by Radiant, Fri 05/01/2018 21:20:03

Previous topic - Next topic

Radiant

A user reports the following crash when restoring the game in one specific room; loading normally does work.

An exception 0xC0000094 occurred in ACWIN.EXE at EIP = 0x004981BD ; program pointer is +2051, ACI version 3.3.0.1162, gtags (39,0)

Does anyone know what might cause this please?

(edit) crash.dmp file: http://crystalshard.net/test/CrashInfo.3.3.0.1162.dmp

Radiant

A second user reports the same problem. Is it possible to find out which function or room is causing the issue?

Crimson Wizard

#2
Hmm, somehow I missed this earlier.

0xC0000094 is the "division by zero".

Tag +2051 does not exist in newest code anymore... I'll have to get old engine code first.
UPD: Ok, this is loading a save.
I don't remember if we have old PDB files for this version anymore, brb.

Radiant

Thanks. The odd thing is that restoring a saved game normally works fine, but in one particular instance it crashes. I suspect there is something unusual about one particular room, and games saved in that room cannot be restored. I'll see if I can get more details from the player.

Crimson Wizard

#4
Quote from: Radiant on Sat 22/09/2018 20:14:38
Thanks. The odd thing is that restoring a saved game normally works fine, but in one particular instance it crashes. I suspect there is something unusual about one particular room, and games saved in that room cannot be restored. I'll see if I can get more details from the player.

Is it possible to get that savegame? If you also tell which game this is I could test this under debugger.
Unfortunately it does not look like I have necessary PDBs to read that crash dump. Things got messy during 3.3.0 development and there were multiple updates and hotfixes which were not archived anywhere. Only final 3.3.0 version is still available on ags fileserver: http://www.adventuregamestudio.co.uk/forums/index.php?topic=50021.0

UPD: Oh, actually found some old 3.3.0 archives in server backup folder, going to check that one.
But I still need to have the game exe to be able to use crash dump.

UPD2: Did not realize at first, but the crash dump dl link in the first post is dead.

Crimson Wizard

#5
Alright.

The crash is caused by seeking in MP3 clip while restoring audio to its positions during loading a save.
Actual clip, if you need to know, is aSound12.

The bug is in the MP3 library code used by AGS internally, which does not test some variable for 0 value before dividing on it.
This was fixed in AGS 3.3.4, as noted in Changelog:
Quote
Fixed division by zero in AlMP3 library code, that could cause crash when seeking in MP3 audio clip.
Commit: https://github.com/adventuregamestudio/ags/commit/487862d1bf3d70c022c2b4bcd47c18f025f52b14

Radiant

Thank you for the information! I'll put on my to-do list to upgrade this to the newer AGS.

SMF spam blocked by CleanTalk