VX Ace game crashing to desktop on load

Status
Not open for further replies.

Mhin Ra

Veteran
Veteran
Joined
Aug 17, 2015
Messages
61
Reaction score
18
First Language
English
Primarily Uses
RMVXA
I am seeing an issue in my game where a player has just died and I'm reloading them back to their most recent save. During this load (or actually just after it), the entire RPG Maker engine crashes to desktop (i.e. the game window just vanishes). This seems to happen entirely outside of the ruby interpreter b/c I get no exception even if I wrap the call to SceneManager.run in a rescue. I've even had it happen while in the editor a few times, and there's no error dialog there either. It does not happen reliably, although maybe it happens more on slow machines than faster ones. I've got a lot of modified scripts, so it's very possible something I'm doing is causing this, but with zero hints from the engine, I am at a loss for what.

I realize this isn't even remotely enough information to debug something on (that is, in fact, my problem). But, I'm hoping that maybe someone else has hit a problem that sounds like this and might have some ideas or suggestions on either a fix or how I could go about debugging it.

Anyway, any help would be greatly appreciated!
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
2,402
Reaction score
499
First Language
English
Primarily Uses
RMVXA
Are you using a backtracer script and GOBJ script for logging the errors?
 

Mhin Ra

Veteran
Veteran
Joined
Aug 17, 2015
Messages
61
Reaction score
18
First Language
English
Primarily Uses
RMVXA
Not explicitly. I just wrote my own... so this is what my scenemanager.run looks like:

Code:
  def self.run
    # MhinRa added: seems like this is needed to make reset work
    Graphics.frame_rate = MrFrameInfo.graphicsFrameRate()
    
    begin
      DataManager.init
      Audio.setup_midi if use_midi?

      @scene = first_scene_class.new
      @scene.main while @scene
    # MhinRa : I added the rescue here, to allow sending crash data
    rescue RGSSReset
      raise
    rescue Exception => e
      trace = e.backtrace.join("\n") + "\n== END =="
      Telemetry.sendError("Global exception: #{e.inspect}", trace)
      logfile("Global error: #{e.inspect} @ #{trace}")
      raise
    end
  end
And I don't see any logfile or telemetry created as a result of the crash... which is why I am thinking it's happening outside of the ruby code (although it's still very possible I am triggering it by doing something _in_ my code... just not something that's immediately causing the crash).

But, also, if the error occurs anywhere in the ruby interpreter and it gets hit while running under the editor, it's always displayed an error message of some sort in RPGMaker. So, I'd also assumed it was outside my direct control b/c of that.
 

Mhin Ra

Veteran
Veteran
Joined
Aug 17, 2015
Messages
61
Reaction score
18
First Language
English
Primarily Uses
RMVXA
NOTE: I've moved (actually reposted b/c I cannot figure out how to move) this thread to the support part of the forum, b/c I think it actually belongs there. So, maybe go here if you want to reply.

So, I've managed to set up a repro (which involves putting the game into an infinite death \ reload loop). I can manage to make the crash happen after 20-100 deaths, usually.

I attached a debugger to Game.exe and the actual issue is a null dereference exception in the RPG Maker engine:

First-chance exception at 0x10111A1C (RGSS301.dll) in Game.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception at 0x10111A1C (RGSS301.dll) in Game.exe: 0xC0000005: Access violation reading location 0x00000000.
I have also taken a dump of the process when the crash happens; I won't post that here, but if you ping me either at these forums or at LongJourneyToFarewell@gmail.com, I can send it.

Do we have access (or could we get access) to symbols for the RGSS301.dll? Or, is there a mechanism to ping the RPG Maker folks and ask if they could look at a crash? I realize that patching VX Ace's dll is unlikely at this point, but I don't necessarily need a fix for the engine. I'm hoping that understanding what the null dereference is might be sufficient for me to come up with a way to work around it in ruby.
 
Last edited:

Mhin Ra

Veteran
Veteran
Joined
Aug 17, 2015
Messages
61
Reaction score
18
First Language
English
Primarily Uses
RMVXA
Due to some confusion on my part, I ended up creating a thread elsewhere that ended up being moved back here. In any case, the other thread is here https://forums.rpgmakerweb.com/inde...shing-with-null-dereference-exception.123826/ and contains a solution (in the form of this script: https://forums.rpgmakerweb.com/inde...-graphical-object-global-reference-ace.17400/ ).
So, this thread can be closed and you should click those links if you have written (or used) custom scripts that create disposable sprites and are seeing your game occasionally and unpredictably crash.
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,113
Reaction score
11,462
First Language
English
Primarily Uses
RMVXA
@Mhin Ra To close a thread please Report your opening post and ask for it to be closed. Mods might not see a post but they will see a Report.
 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Just a heads-up that Slip into Ruby and Jump into Javascript might be a bit slow for now while I'm on the team porting the YEP plugins to VisuStella's MZ suite.
So I managed to build a teleport skill. You can see the progression in the development topic
https://forums.rpgmakerweb.com/index.php?threads/in-dev-multi-hit-target-selection.125049/

Here's how it looks:


But the real question is, can I pull off FF8?

I love these little slime battlers. Really wish I could find more animated ones :'(
The curse of retail: you get ideas, you want to make something with those ideas, but because you're always at friggin' work you can't actually do anything with them.
Quexp wrote on lumimae's profile.
Welcome! :)

Forum statistics

Threads
100,629
Messages
977,958
Members
132,248
Latest member
Dealdeg
Top