Hard Light Productions Forums

Hosted Projects - Standalone => Diaspora => Diaspora Tech Help => Topic started by: Dart Zaidyer on April 22, 2014, 04:59:13 pm

Title: Crash in missions with Autopilot
Post by: Dart Zaidyer on April 22, 2014, 04:59:13 pm
I've been playing around in FRED, trying to design a mission that makes use of autopilot.

As soon as any Navpoint is set up during gameplay, the whole game crashes. Log files and debug mode show an error in autopilot.cpp:

Code: [Select]
ASSERTION: "wpt != NULL" at autopilot.cpp:116
This error happens both in the current release build as well as the April 19th 2014 build of FSO, currently the latest as of this post.

EDIT: This also happens in the stable release of FSO 3.7.0, which suggests it's a problem with Diaspora, not FSO itself.
Title: Re: Crash in missions with Autopilot
Post by: Echelon9 on April 23, 2014, 01:26:42 am
EDIT: This also happens in the stable release of FSO 3.7.0, which suggests it's a problem with Diaspora, not FSO itself.

Sorry, doesn't that indicate it is a problem with FSO, not Diaspora? Regardless, do you mind sharing you mission or a simpler one that reproduces the problem? Some of the FRED guru's should be able to see what is going on.

As an aside, if it is a general FSO problem, you're likely to get more eyes on it by posting in the general Freespace support sub-forum here.
Title: Re: Crash in missions with Autopilot
Post by: Dart Zaidyer on April 23, 2014, 05:40:27 pm
Here's a quick mission to demonstrate.

After 3 seconds the Nav points will be activated, at which point the game crashes.

[attachment deleted by an evil time traveler]
Title: Re: Crash in missions with Autopilot
Post by: Echelon9 on April 24, 2014, 12:10:02 pm
Thanks for the reproduction mission, have been able to recreate here.

Looking at the mission, you are using the following SEXP ( set-nav-carry (http://www.hard-light.net/wiki/index.php/SCP_SEXPs#set-nav-carry) "Alpha 1" ) which I understand is used to set a third party ship to autopilot *with* the player. Using set-nav-carry on the player itself is likely undefined, as indicated by the Assertion() . I think you mean instead to use ai-waypoints-once (http://www.hard-light.net/wiki/index.php/Retail_SEXPs#ai-waypoints-once).


This is the preceding call stack:
Code: [Select]
3   FS2_Open 3.7.1 (debug)        0x00000001026e5b30 WinAssert(char*, char*, int) + 960 (stubs.cpp:117)
4   FS2_Open 3.7.1 (debug)        0x000000010057b91f NavPoint::GetPosition() + 863 (autopilot.cpp:116)
5   FS2_Open 3.7.1 (debug)        0x000000010058a746 DistanceTo(int) + 758 (autopilot.cpp:1611)
6   FS2_Open 3.7.1 (debug)        0x000000010059039c NavSystem_Do() + 3644 (autopilot.cpp:1144)
7   FS2_Open 3.7.1 (debug)        0x00000001001608b4 game_simulation_frame() + 5588 (freespace.cpp:4019)
8   FS2_Open 3.7.1 (debug)        0x0000000100166573 game_frame(bool) + 4499 (freespace.cpp:4476)
9   FS2_Open 3.7.1 (debug)        0x000000010016bdfc game_do_frame() + 604 (freespace.cpp:4892)
10  FS2_Open 3.7.1 (debug)        0x00000001001778fa game_do_state(int) + 922 (freespace.cpp:6576)
11  FS2_Open 3.7.1 (debug)        0x00000001007b491e gameseq_process_events() + 1262 (gamesequence.cpp:409)
12  FS2_Open 3.7.1 (debug)        0x000000010017e095 game_main(char*) + 2085 (freespace.cpp:7142)

Before:
Code: [Select]
ASSERTION FAILED: "wpt != NULL" at code/autopilot/autopilot.cpp:116