(moved to tracker) Crash in 3.3.0

Started by Radiant, Fri 21/03/2014 23:04:07

Previous topic - Next topic

Radiant

Some players report the following crash for 3.3.0, but only when running in windowed mode:


An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x00469B98 ; program pointer is -1893, ACI version 3.3.0.1156, gtags (8485,21)
AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and post the details on the AGS Technical Forum.
Most versions of Windows allow you to press Ctrl+C now to copy this entire message to the clipboard for easy reporting.
An error file CrashInfo.dmp has been created. You may be asked to upload this file when reporting this problem on the AGS Forums. (code 0)

I have the .dmp file too, if that helps. The screen is 320x200 using max NN scaling, perhaps something is going on with detecting the proper multiplier?

Radiant

A different one that has been reported is this, which occurs when restoring a game:

An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x004CFA76 ; program pointer is +2051, ACI version 3.3.0.1156, gtags (48,2)

Crimson Wizard

Please, send me crash dumps. Also, is it Heroine Quest? I will probably need a matching game executable.

Radiant

#3
Yes, it is HQ. It would be easiest if you could download the executable from http://store.steampowered.com/app/283880 - if that doesn't work for you let me know and we'll figure something out.

First crash dump: http://forum.caravelgames.com/getattachment.php?id=35692
Second crash dump: https://www.dropbox.com/s/bacwiz86puq6w7b/CrashInfo.3.3.0.1156.dmp

Crimson Wizard

I can't download from the first link.

Radiant

Hm, I guess it doesn't allow cross-site linking. Very well, it's attached (shown left of) the first post here: http://forum.caravelgames.com/viewtopic.php?TopicID=36960   

Crimson Wizard

#6
Was the game built with exactly AGS 3.3.01146, or with any of the intermediate fix releases?
In the latter case I won't be able to do anything, because I didn't kept any PDB files for them.

EDIT: Ok, I found those PDBs in my backups, these are from versions built 6th, 7th and 10th November (between Beta 9 and Beta 10). But still none of them match. :-\

Radiant

It's 1156, not 1146. That should be the final build minus the last hotfix.

Crimson Wizard

#8
Ooops. :embarrassed: I must be seeing things. Sorry.

Ok, this works, I can see where it happened. Will investigate.

E: the first crash occurs on taking a screenshot for savegame.
Strange, I remember seeing something like this from very early 3.3.0 development, or even 3.2.1.

Radiant

Yes. As I recall, the game makes a saved game when starting up (this is the .999 save used for restarting the game) and perhaps the screen isn't initialized yet or something. Easy workaround: never take screenshots for the .999 save.

Crimson Wizard

Quote from: Radiant on Sun 23/03/2014 22:25:09Easy workaround: never take screenshots for the .999 save.
And if that slot is saved in the midst the game and not in the start?

Radiant

Then it still doesn't need a screenshot, because the 999 doesn't show up in restore game GUIs, nor does it show up on the user's desktop (since it gets deleted when you quit the game).

Crimson Wizard

No. having screenshot for slot is completely unrelated issue. There should not be workarounds like that. The crash should be fixed instead.

Alan v.Drake

Are we talking about D3D mode ? If so we might try my patch against getFrontBufferData.

- Alan

Crimson Wizard

Quote from: Alan v.Drake on Mon 24/03/2014 06:42:19
Are we talking about D3D mode ? If so we might try my patch against getFrontBufferData.

- Alan
Please commit, or make pull request.

Radiant

Quote from: Crimson Wizard on Sun 23/03/2014 23:14:08
No. having screenshot for slot is completely unrelated issue. There should not be workarounds like that. The crash should be fixed instead.
Fair enough. Nevertheless, if the game is saved during the startup process, it would be reasonable to store a blank bitmap (after all, the screen isn't initialized yet so there's no screenshot to show).

And Alan - yes, this is D3D.

Radiant

Quote from: Radiant on Sun 23/03/2014 15:20:03
A different one that has been reported is this, which occurs when restoring a game:

An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x004CFA76 ; program pointer is +2051, ACI version 3.3.0.1156, gtags (48,2)

Do you have an idea what may be causing this? It's apparently a different issue.

Crimson Wizard

Didn't have time to examine precisely, but IIRC that crashes during restoring a room state.

Does it occur every time with a particular saved game? If yes, do you have it?

Radiant

Here you go:

https://www.dropbox.com/s/fv2g4yb0ulqa7yt/Heroine's%20Quest%201.2.rar

It reproduces for me if you open the second saved game ("Autosave Jarnvidr"). Given that the rooms of Jarnvidr use Rawdraws, it may have something to do with restoring the screen's background?

Crimson Wizard

#19
For now I can tell this: the dynamic room state is broken and some data is loaded incorrectly. This does not cause immediate crash for me though, but it crashes when I exit the game, simply put because it tries to delete excess objects that never existed.

This is not a precise information yet, but after adding few extra checks the incorrect data was detected on reading:
- Room 81 dynamic state
- Room object #13 data (but this may mean nothing, because in current save format rooms write all supported amount of objects, even if they are not really used in the room).

E: Other saves from this pack are similarily corrupted.

SMF spam blocked by CleanTalk