Crash in (or after?) RunAGSGame

Started by Radiant, Mon 14/11/2016 20:12:08

Previous topic - Next topic

Radiant

Any suggestions as to what this might mean? Happens right after a successful RunAGSGame call.


Crimson Wizard

This is somewhere in the midst of game update routine, I do not think it is possible to deduce exact reason without more info.

I see you have lots of issues related to RunAGSGame lately; I was going to setup some test projects to see how it works.
It may be that no one used this feature for several years, and some long existing bug was not found in time.

Radiant

Quote from: Crimson Wizard on Mon 14/11/2016 20:31:48It may be that no one used this feature for several years, and some long existing bug was not found in time.

That is likely :)

Radiant

Quote from: Crimson Wizard on Mon 14/11/2016 20:31:48
This is somewhere in the midst of game update routine, I do not think it is possible to deduce exact reason without more info.

Would it help to send you the game in question? It's not that big.

Crimson Wizard

Quote from: Radiant on Mon 14/11/2016 20:52:04
Quote from: Crimson Wizard on Mon 14/11/2016 20:31:48
This is somewhere in the midst of game update routine, I do not think it is possible to deduce exact reason without more info.

Would it help to send you the game in question? It's not that big.
Yes, but I want to clarify: is it important for you that the version is 3.3.0?

Radiant

For the moment, yes. We're in the middle of a release and would prefer not to switch engine versions now.

Radiant

Oh, it did generate a .dmp file, does that help?

Crimson Wizard

Quote from: Radiant on Tue 15/11/2016 08:23:54
Oh, it did generate a .dmp file, does that help?
That may help in a way, but it is not always enough to understand what happened.

Radiant

All right, I've PM'ed it to you. I've been trying if this might be e.g. a missing rep_ex function or on_call, but that doesn't seem to be the case. Some nullpointer perhaps? We'd appreciate your advice.

Radiant


Crimson Wizard

All I could find from the crash dump was that the crash is occuring when trying to update animated button.
This may be because some view does not exist anymore, but I am not sure. AGS writes "minidumps" which do not contain full program memory image, and it is impossible to see whole picture.

In the archive which you sent me there was only launcher. Is it possible to also get any of the games so that I could actually reproduce the case myself?

Crimson Wizard

#11
As I was beginning to suspect, this was because game data is not properly cleaned up before running another game, and some traces of old game remained.
To be specific, animated buttons array was never cleared. "Quest for Ylrog" seem to have one animated button in the start, and when going back to the main game engine tried to update that button's animation again, using obsolete View reference.

This seem to be an ancient bug, and knowing how badly the game cleanup code is written in general, I would not be surprised if there are other bugs related to game switch that were not noticed before.

Radiant

Great, that info allowed me to fix it.

I've logged a few other bugs related to game switch, but they didn't cause a crash like this one, so they're less of a big deal. But yeah, this is not a function that's commonly used. I'm happy it exists though :)

SMF spam blocked by CleanTalk