Player ship hyperspace jump crash to desktop

For test results, bug reports, announcements of new builds etc.

Moderators: another_commander, winston, Getafix

Post Reply
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Player ship hyperspace jump crash to desktop

Post by Switeck »

Subject was called: Out-of-Range NPC ship jump-related crash!

Running latest v1.75.2 trunk on Win XP SP3.

Probable causes:
out-of-bounds arrays, NPCs scripted to jump to impossible places.

I discovered a game-crashing effect of one-way ticket to Oresrati OXP, which I am hacking to bits. If you "miss" a jump, the jump number counter can tick past the last element in the array...and then try jumping to a "null" system.ID, which often results in a game crash.

this.planetArray = [88,118,88,162];
this.ship1.exitSystem(this.planetArray[missionVariables.owt2o_nextPlanet]);
missionVariables.owt2o_nextPlanet +=1;

missionVariables.owt2o_nextPlanet can count upwards past the 162 value if a jump is missed/fails.

Another problem is trying to jump to an out-of-range system.ID seems to cause problems, which can happen if a jump is missed. Strangely, this seemed to cause even more severe problems than the jump to "null" location!
Here's the error message:

00:35:07.218 [exception]: ***** Exception during [JUMP!] in -[PlayerEntity performWitchspaceCountdownUpdates:] : NSInternalInconsistencyException : NSIncrementExtraRefCount() asked to increment too far *****

Hacked code causing these effects here:
OneWayTicket2Oresrati v0.3.zip
http://www.mediafire.com/?ky3qqyyx6kfw13z

That one was a crash-to-desktop. I even saw it happen when the jump should have been possible, as the system was within 7 LY and the script "fuels up" the NPC ship on creation.

Here's the later version, less prone but not completely immune of the same effects:
http://www.mediafire.com/?el9hgh3ybbyyr6f
(Yeah, I need to increase version. # :lol: )
Last edited by Switeck on Tue Apr 12, 2011 4:56 pm, edited 1 time in total.
User avatar
Okti
---- E L I T E ----
---- E L I T E ----
Posts: 700
Joined: Sun Sep 26, 2010 1:51 pm
Location: A GH shop, near witchpoint to Oresrati in Galaxy 8

Re: Out-of-Range NPC ship jump-related crash!

Post by Okti »

Hi Switeck,

We discussed this topic on IRC,

In the original version I was changing the position of the ship to another one than witchspace entry positions. Because there are a lot of OXP's populating, interstellar space as an example assasins guild, you may end up with a NPC with a huge mass near the player ship. And obviously the exitsytem will not sucseed. :)
My OXP's
And Latest Mission Coyote's Run
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: Out-of-Range NPC ship jump-related crash!

Post by Switeck »

Oh, I expect mass-locking to cause the jump to fail ingame as far as the NPC failing to jump.
But it was generating game crashes as well when that happened.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: Out-of-Range NPC ship jump-related crash!

Post by Commander McLane »

A crash is always bad and shouldn't happen. Something has to be fixed in the game code.

However, short of fixing the crash issue the OXP-script should be made fail-safe, preventing it from the faulty incrementation which ultimately caused the crash. If that is possible, which I can't say because I don't have it.
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: Out-of-Range NPC ship jump-related crash!

Post by Switeck »

I eliminated out-of-range array calls as even remotely possible (by making the array immensely longer, or having it restart if it is about to go over) and still experienced crashes in my tests.

Telling an NPC ship to jump to a system.ID that's out of range due to low fuel or beyond 7 LYs...is one thing. I saw the NPC ship in my test fail on <7 LY jumps even when the script starts off by topping off its fuel. I put in debug-style reporting of both which array element was being called and what system.ID was being attempted.

The problem is pretty much beyond me at this point. :cry:
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: Out-of-Range NPC ship jump-related crash!

Post by Switeck »

Ok, I think this is related...so I'm making a NEW post here to draw attention to it.

(MIS!)Jumping too much in Galaxy 8 produced this crash:
18:30:22.281 [exception]: ***** Exception during [JUMP!] in -[PlayerEntity performWitchspaceCountdownUpdates:] : NSInternalInconsistencyException : NSIncrementExtraRefCount() asked to increment too far *****

Misjumping again, without null gates or 1way ticket 2 Oresrati installed:
19:39:35.750 [exception]: ***** Exception during [JUMP!] in -[PlayerEntity performWitchspaceCountdownUpdates:] : NSInternalInconsistencyException : NSIncrementExtraRefCount() asked to increment too far *****

Repeatedly misjumping to the same location (and ending up <0.5 LY from it after each jump):
19:49:12.234 [exception]: ***** Exception during [JUMP!] in -[PlayerEntity performWitchspaceCountdownUpdates:] : NSInternalInconsistencyException : NSIncrementExtraRefCount() asked to increment too far *****

What seems to make these crashes MORE likely is running the game at 4x, 8x, or 16x speed while jumping...but I have seen it happen without resorting to that.

NONE of these crashes can be attributed in any way to OneWayTicket2Oresrati, as I intentionally pulled it out of my add-ons folder to test. I was probably just mistaken to think that was the cause of the errors before. :(
User avatar
Cholmondely
Archivist
Archivist
Posts: 5004
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Player ship hyperspace jump crash to desktop

Post by Cholmondely »

Switeck wrote: Mon Apr 04, 2011 11:54 pm
Subject was called: Out-of-Range NPC ship jump-related crash!

Running latest v1.75.2 trunk on Win XP SP3.

Probable causes:
out-of-bounds arrays, NPCs scripted to jump to impossible places.

I discovered a game-crashing effect of one-way ticket to Oresrati OXP, which I am hacking to bits. If you "miss" a jump, the jump number counter can tick past the last element in the array...and then try jumping to a "null" system.ID, which often results in a game crash.

this.planetArray = [88,118,88,162];
this.ship1.exitSystem(this.planetArray[missionVariables.owt2o_nextPlanet]);
missionVariables.owt2o_nextPlanet +=1;

missionVariables.owt2o_nextPlanet can count upwards past the 162 value if a jump is missed/fails.

Another problem is trying to jump to an out-of-range system.ID seems to cause problems, which can happen if a jump is missed. Strangely, this seemed to cause even more severe problems than the jump to "null" location!
Here's the error message:

00:35:07.218 [exception]: ***** Exception during [JUMP!] in -[PlayerEntity performWitchspaceCountdownUpdates:] : NSInternalInconsistencyException : NSIncrementExtraRefCount() asked to increment too far *****

Hacked code causing these effects here:
OneWayTicket2Oresrati v0.3.zip
http://www.mediafire.com/?ky3qqyyx6kfw13z

That one was a crash-to-desktop. I even saw it happen when the jump should have been possible, as the system was within 7 LY and the script "fuels up" the NPC ship on creation.

Here's the later version, less prone but not completely immune of the same effects:
http://www.mediafire.com/?el9hgh3ybbyyr6f
(Yeah, I need to increase version. # :lol: )
Switeck - are there working versions of this? Or has it been nobbled by the various Oolite updates since 2011?
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2412
Joined: Mon May 31, 2010 11:11 pm

Re: Player ship hyperspace jump crash to desktop

Post by Switeck »

OneWayTicket2Oresrati v0.3.zip is so out-of-date as to be irrelevant.
It was mostly a personal hack by me of Okti's original OneWayTicket2Oresrati OXP.

But it has become the source OXP I modified to make other auto-jumping OXPs
...that I mostly haven't released due to being cheats.
...and doing my head in with their complexity.
Post Reply