Jibble

Author Topic: Crash (using AGS v3.3.3.0)  (Read 2015 times)

arj0n

  • Mittens Vassal
  • art consists in drawing a line somewhere
    • arj0n worked on a game that was nominated for an AGS Award!
Crash (using AGS v3.3.3.0)
« on: 03 Feb 2015, 20:58 »
While running a project from within the editor, the projects crashed after a second or two.
AGS version: AGS Editor .NET (Build 3.3.3.0) v3.3.3, December 2014.
Dump file: >here<

(not sure if this should be posted here or elsewhere on the forum...)



EDIT:
While I ran the same project from within the editor today, it crashes again after half a minute:

Illegal exception
---------------------------
An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x00559570 ; program pointer is +379, ACI version 3.3.3.0, gtags (2044,64)
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)


Dump file of this crash: >here<

Not sure if this adds any information, but here's a screenshot of the crash:
Spoiler: ShowHide
« Last Edit: 04 Feb 2015, 18:26 by Arj0n »

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: Crash (using AGS v3.3.3.0)
« Reply #1 on: 05 Feb 2015, 00:25 »
While running a project from within the editor, the projects crashed after a second or two.

Wait a second... did you just edited the post and changed "while running compilation" to "while running project"?
Or was I just seeing things? :tongue:
I was breaking my head wondering how you get the crash dump during compilation.

E: I will look into this tomorrow, today is too late for work... :)
« Last Edit: 05 Feb 2015, 00:27 by Crimson Wizard »

arj0n

  • Mittens Vassal
  • art consists in drawing a line somewhere
    • arj0n worked on a game that was nominated for an AGS Award!
Re: Crash (using AGS v3.3.3.0)
« Reply #2 on: 05 Feb 2015, 08:35 »
While running a project from within the editor, the projects crashed after a second or two.

Wait a second... did you just edited the post and changed "while running compilation" to "while running project"?
Or was I just seeing things? :tongue:
I was breaking my head wondering how you get the crash dump during compilation.

E: I will look into this tomorrow, today is too late for work... :)
Sorry, can't remember. But if so: I meant 'running the project from within the editor', not 'running a compilation'. ;)


Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: Crash (using AGS v3.3.3.0)
« Reply #3 on: 09 Feb 2015, 11:08 »
I can only tell that this occurs when drawing some button. Looks like sprite is missing in memory, but I am not sure.

Is it possible for you to send me this game so I could run it under debugger?

arj0n

  • Mittens Vassal
  • art consists in drawing a line somewhere
    • arj0n worked on a game that was nominated for an AGS Award!
Re: Crash (using AGS v3.3.3.0)
« Reply #4 on: 09 Feb 2015, 19:43 »
I can only tell that this occurs when drawing some button. Looks like sprite is missing in memory, but I am not sure.

Is it possible for you to send me this game so I could run it under debugger?
Sure, I'll PM you the link.

Re: Crash (using AGS v3.3.3.0)
« Reply #5 on: 24 Jul 2015, 20:19 »
this usually hints at an (accidental) infinite recursion.
usually a typo causes a function to call itself instead of the function you wanted it to use. autcomplete can be annoying like that.

this recursive loop executes infinitely untill you run out or memory.

check all newly written functions to see if you made one to call itself (unter conditions that you thought to filter out as impossiible, but that are apparently the case).
thinks like this also happen within accidentall recursive loops. they are NOT caught by the newbie-friendly ags-function that is made to prevent loops looping too often.


----

i think i salso had strange runtime erros like this when i tested what would happen if i instance over 30000 dynamicsprites, daring the engines limits. it might even be a different engine limit than its sprite limit of 30000 thats causing your error.
« Last Edit: 24 Jul 2015, 20:23 by ollj »

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: Crash (using AGS v3.3.3.0)
« Reply #6 on: 24 Jul 2015, 20:41 »
AGS has a built-in limit to loop iterations during one script "pass".
If you have a function with a long loop, add "noloopcheck" keyword to its declaration:
http://www.adventuregamestudio.co.uk/wiki/Script_language_keywords#noloopcheck
« Last Edit: 25 Jul 2015, 03:08 by Crimson Wizard »

monkey0506

  • SEND PIZZA.
    • Best Innovation Award Winner 2017, for his work to help AGS games reach the widest possible audience - through popular distribution platforms (Steam, Galaxy) as well as other operating systems (Android, Linux)
Re: Crash (using AGS v3.3.3.0)
« Reply #7 on: 28 Jul 2015, 13:13 »
I requested the noloopcheck keyword, possibly in relation to an earlier version of the Stack module or EncryptedFile module (IIRC) because they have to process large amounts of data. I also made use of the keyword in the EasyBake module, where again I was processing huge chunks of data at once.

Outside of exceptional cases of large data processing, the noloopcheck keyword is probably more dangerous than useful, but it is precisely because AGS has a "newbie-friendly" mechanism to catch infinite loops. As for recursive functions, that would overflow the stack long before it would hit the 150k loop limit, so that is also a non-issue. Sorry I don't really have anything more useful to contribute, but I wanted to clarify that the situation ollj is describing simply doesn't exist in AGS.