Author Topic: Eyes in the Storm: Assert() when Satis docks  (Read 1074 times)

0 Members and 1 Guest are viewing this topic.

Offline Echelon9

  • 210
Eyes in the Storm: Assert() when Satis docks
This crash a few have reported is due to an Assert() in the physics code.
Appears most prevalent at or near the moment when a Satis docks with the station, while concurrently being pounded by the defenders.

Code: [Select]
nothing ok to fire
vm_forward_interpolate: Bad rotation
vm_forward_interpolate: Bad rotation
vm_forward_interpolate: Bad rotation
vm_forward_interpolate: Bad rotation
BETTY DEBUG Item: 1: 510
vm_forward_interpolate: Bad rotation
ASSERTION: "theta_goal >=0" at vecmat.cpp:1798

The code call chain up to that point is:
Code: [Select]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        0x00007fff863bf212 __pthread_kill + 10
1   libsystem_c.dylib              0x00007fff84005af4 pthread_kill + 90
2   libsystem_c.dylib              0x00007fff84049dce abort + 143
3   FS2_Open (debug)              0x000000010052b7d4 WinAssert(char*, char*, int) + 148
4   FS2_Open (debug)              0x000000010021f5c1 away(float, float, float, float, float, float*, int) + 81 (vecmat.cpp:1798)
5   FS2_Open (debug)              0x0000000100221c1e vm_forward_interpolate(vec3d*, matrix*, vec3d*, float, float, matrix*, vec3d*, vec3d*, vec3d*, int) + 1230 (vecmat.cpp:2346)
6   FS2_Open (debug)              0x000000010009df14 ai_turn_towards_vector(vec3d*, object*, float, float, vec3d*, vec3d*, float, int, vec3d*, int) + 1524 (aicode.cpp:1240)
7   FS2_Open (debug)              0x0000000100506a76 weapon_home(object*, int, float) + 5766 (weapons.cpp:4376)
8   FS2_Open (debug)              0x00000001005079a3 weapon_process_post(object*, float) + 1971 (weapons.cpp:4641)
9   FS2_Open (debug)              0x00000001003a57d3 obj_move_all_post(object*, float) + 99 (object.cpp:1184)
10  FS2_Open (debug)              0x00000001003a67df obj_move_all(float) + 431 (object.cpp:1457)
11  FS2_Open (debug)              0x000000010005ddbc game_simulation_frame() + 1644 (freespace.cpp:4134)
12  FS2_Open (debug)              0x000000010005ebf3 game_frame(bool) + 707 (freespace.cpp:4539)
13  FS2_Open (debug)              0x000000010005fba0 game_do_frame() + 272 (freespace.cpp:4954)
14  FS2_Open (debug)              0x0000000100062a33 game_do_state(int) + 339 (freespace.cpp:6652)
15  FS2_Open (debug)              0x0000000100131c58 gameseq_process_events() + 296 (gamesequence.cpp:407)
16  FS2_Open (debug)              0x000000010006409d game_main(char*) + 509 (freespace.cpp:7227)
17  FS2_Open (debug)              0x0000000100064496 SDL_main + 454 (freespace.cpp:7361)

 
Re: Eyes in the Storm: Assert() when Satis docks
Aye I think I got this one.

 

Offline Echelon9

  • 210
Re: Eyes in the Storm: Assert() when Satis docks
I think what is happening is that the physics which calculates small movements to the docking craft on final approach is getting pushed around a by continued missile attack in the final meters to the dock point.

This mechanic is unique within FS2 AFAIK.

One of those forces is causing a small value to become less than zero, with cascading failures.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Eyes in the Storm: Assert() when Satis docks
A user on IRC just reported catching this in a debug build. Reported context:

[20:44] * Vaktezraj swapped Laporte's normal craft for the Custos-X, and the game crashes as Katana and the Altan Orde come in
[20:44] <battuta> okay, interesting
[20:44] <battuta> debug or release?
[20:44] <ShivanHunter> hwat
[20:44] <Vaktezraj> Debug