View Issue Details

IDProjectCategoryView StatusLast Update
0002587FSSCPgameplaypublic2012-02-14 00:47
Reporterrodo Assigned ToGoober5000  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Platformnot sureOSWindows 7OS Version64bit ultimate
Product Version3.6.14 RC4 
Summary0002587: Canceling rearm procedure causes crash
DescriptionWhen rearming your ship, sending the cancel rearm command from the comms menu will crash FS2.

Tested on "Surrender, Belisarius!" (first mission of fs2 retail campaign) with mvps 3.6.12 + patch.

It also happens in mods, discovered issue on a mission of ED, so it's not mod related I guess.
Steps To ReproduceOpen any mission, deplete all your secondaries (or a lot of them).
Call a rearm ship.
Wait for it to dock.
When it docks you may send the order to cancel.
It will crash after doing that last step.
Additional InformationCrash warning from DEBUG version:

Assert: goal_objp != NULL
File: aicode.cpp
Line: 10160

ntdll.dll! ZwWaitForSingleObject + 21 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
fs2_open_3_6_14_RC4_DEBUG.exe! <no symbol>
kernel32.dll! BaseThreadInitThunk + 18 bytes
ntdll.dll! RtlInitializeExceptionChain + 99 bytes
ntdll.dll! RtlInitializeExceptionChain + 54 bytes
TagsNo tags attached.

Relationships

has duplicate 0002592 closedSushi_CW Abort Re-arm causes crash because of: ASSERTION: "goal_objp != NULL" at aicode.cpp:10160 

Activities

Yarn

2012-01-27 22:36

developer  

rearmtest.fs2 (4,254 bytes)

Yarn

2012-01-27 22:36

developer   ~0013171

Confirmed here. Also, this isn't limited to the player and the "Abort Rearm" command. If any rearm procedure--including those for AI ships--is aborted for any reason other than the support ship being destroyed, the game will crash.

I have also uploaded a mission to test for this. In it, Alpha 2's subsystems are damaged or destroyed, and his secondary banks are nearly empty, so a support ship will warp in to repair him. While they're docked, you can terminate the procedure by pressing "2" to destroy Alpha 2. You can also press "1" to destroy your own ship, just in case you need it.

Valathil

2012-01-28 19:07

developer   ~0013181

I looked over the source but couldn't figure out a quick fix. Leaving it to goober. My approach would be either triggering the animation when undocking BEFORE removing the reference to the goal_obj or triggering the animations from the routines each ship runs instead of triggering them for both at once by referencing by the goal_objp

Goober5000

2012-01-28 21:13

administrator   ~0013184

Will take a look.

Goober5000

2012-01-29 09:19

administrator   ~0013191

Fix committed to trunk@8398.

Zacam

2012-02-13 21:18

administrator   ~0013302

Fix committed to fs2_open_3_6_14@8479.

Related Changesets

fs2open: trunk r8398

2012-01-29 04:19

Goober5000


Ported: N/A

Details Diff
fix Mantis 0002587 Affected Issues
0002587
mod - /trunk/fs2_open/code/ai/aicode.cpp Diff File

fs2open: trunk r8399

2012-01-29 04:19

Goober5000


Ported: N/A

Details Diff
coded for Mantis 0002587 but not actually used... this can allow a series of animations to be pushed and then popped Affected Issues
0002587
mod - /trunk/fs2_open/code/model/modelanim.h Diff File
mod - /trunk/fs2_open/code/model/modelanim.cpp Diff File

fs2open: trunk r8412

2012-01-30 23:53

Goober5000


Ported: N/A

Details Diff
more robust saving of dockpoint indexes (again for Mantis 0002587) Affected Issues
0002587
mod - /trunk/fs2_open/code/ai/aicode.cpp Diff File

fs2open: fs2_open_3_6_14 r8479

2012-02-13 16:18

Zacam


Ported: N/A

Details Diff
Backport: Trunk r8398; fix Mantis 0002587 Affected Issues
0002587
mod - /branches/fs2_open_3_6_14/code/ai/aicode.cpp Diff File

fs2open: fs2_open_3_6_14 r8483

2012-02-13 19:47

Zacam


Ported: N/A

Details Diff
Backport: Trunk r8412; more robust saving of dockpoint indexes (again for Mantis 0002587) Affected Issues
0002587
mod - /branches/fs2_open_3_6_14/code/ai/aicode.cpp Diff File

Issue History

Date Modified Username Field Change
2012-01-27 14:14 rodo New Issue
2012-01-27 22:36 Yarn File Added: rearmtest.fs2
2012-01-27 22:36 Yarn Note Added: 0013171
2012-01-28 18:10 Valathil Assigned To => Valathil
2012-01-28 18:10 Valathil Status new => assigned
2012-01-28 19:03 Valathil Assigned To Valathil => Goober5000
2012-01-28 19:07 Valathil Note Added: 0013181
2012-01-28 21:13 Goober5000 Note Added: 0013184
2012-01-29 09:19 Goober5000 Changeset attached => fs2open trunk r8398
2012-01-29 09:19 Goober5000 Note Added: 0013191
2012-01-29 09:19 Goober5000 Status assigned => resolved
2012-01-29 09:19 Goober5000 Resolution open => fixed
2012-01-29 09:19 Goober5000 Changeset attached => fs2open trunk r8399
2012-01-31 00:17 niffiwan Relationship added has duplicate 0002592
2012-01-31 04:53 Goober5000 Changeset attached => fs2open trunk r8412
2012-02-13 21:18 Zacam Changeset attached => fs2open fs2_open_3_6_14 r8479
2012-02-13 21:18 Zacam Note Added: 0013302
2012-02-14 00:47 Zacam Changeset attached => fs2open fs2_open_3_6_14 r8483