Illegal exception 0xC0000094 (SOLVED)

Started by daemon, Sun 01/12/2013 18:07:59

Previous topic - Next topic

daemon

Hi all,

I'm having this problem in the game I'm developing: if I click on a particular part of the screen, my character correctly goes to the extreme point of the walkable area.
If I continue to insist clicking in the nearby of the character at a certain this message sometimes occurrs.

I put here the complete message:

Quote---------------------------
Illegal exception
---------------------------
An exception 0xC0000094 occurred in ACWIN.EXE at EIP = 0x00413214 ; program pointer is +332, ACI version 3.21.1115, gtags (0,199)

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)
---------------------------
OK   
---------------------------


A colleague of mine told me that he also had this problem when a character had a view with a loop with no frames (he forgot to populate it), so AGS fired a similar dialog when character had to move to the position for which the loop had to be used.

In theory I've verified, and to me it seems this is not my case.

My question is: is there any clue inside this message ? Can anybody help me to understand it ?
Here the link to the "CrashInfo" file.
http://fagiologions.altervista.org/CrashInfo.3.21.1115.dmp

Thanks for help !


Crimson Wizard

The error message may give some clues to find at which point in the engine this crash occured (program pointer is +332), but it's generally useless for common users.
I can only tell that it may have something to do with either applying area scaling, or area tint property. Can you give any details on that? Or just any more details, like what view do you use, and what regions are defined in that room?

Unfortunately we cannot use the crash dump created by AGS 3.2.1, because Chris Jones did not leave us the certain files required to decypher it.
However, you can try using newer AGS 3.3.0 beta engine to make a usable dump, if you like: download the package here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=47966.0
then copy acwin.exe to your compiled game folder (with you game's exe) and run it (it should "hook" to your game). The dump produced will correspond to AGS 3.3.0, and we will be able to use it (we will also need your game's executable - exactly the version that crashed).

daemon

Hi Crimson Wizard,

thanks for help.
I have a question, pardon me if silly ... have I also to install the new AGS 3.3.0 or is enough just to copy the acwin.exe and run the old exe (compiled with AGS 3.2.1) ?

I ask because I did this last thing and it created the dump with the same name as before "CrashInfo.3.21.1115.dmp".

If it's ok, the dump is here (I replaced the old one) : CrashInfo.3.21.1115.dmp

The crashing exe is here: Compiled.zip
it's about 90MB zip

Thanks again!

Crimson Wizard

Quote from: daemon on Sun 01/12/2013 21:39:08
I have a question, pardon me if silly ... have I also to install the new AGS 3.3.0 or is enough just to copy the acwin.exe and run the old exe (compiled with AGS 3.2.1) ?
No, perhaps I was not clear enough, you need to run acwin.exe from AGS 3.3.0. The crash dump will be named 3.3.0.1148.
You do not have to install all AGS, acwin.exe is all you need.

daemon

Oh sorry, I misunderstood.

Here we are:
CrashInfo.3.3.0.1148.dmp

I hope it's useful !

Crimson Wizard

#5
There's a division by zero.

EDIT: removed original post text, because I misinterpreted the engine code at first.

UPDATE: Ok, I got it.
This error can be reproduced if:
1. You have a 1 pixel high walkable area (just a straight horizontal line).
2. Area has a vector scaling (with different min & max scaling levels).

What happens is engine calculates the character scaling factor as (character.position - area.top * 100) / (area.bottom - area.top). If bottom and top coordinates of an area are the same, there's a division by zero.

What to do: this should be fixed in the new version of the engine, but for now do not set vector scaling for 1-pixel thin areas (only uniform scaling).

If it is not the case, please provide more info about your walkable areas in that room.

daemon

Oh got it !

I was about to write you exactly this case I had... I removed an old walkable area, with scaling from 100 to 65 ... but guess what ?

1 little pixel I didn't notice was not deleted ! So I had one walkable area with height 1 pixel .... I deleted that pixel .. that's it !

:-)

Thank you Crimson Wizard !!

SMF spam blocked by CleanTalk