2025-07-22 20:57 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003340Spring engineGeneralpublic2012-12-05 19:11
Reporterabma 
Assigned Toabma 
PriorityhighSeveritycrashReproducibilityhave not tried
StatusresolvedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0003340: assertion failed: CHoverAirMoveType::SetState(AAirMoveType::AircraftState): Assertion `aircraftState != AIRCRAFT_CRASHING
Descriptionspring: rts/Sim/MoveTypes/HoverAirMoveType.cpp:122: virtual void CHoverAirMoveType::SetState(AAirMoveType::AircraftState): Assertion `aircraftState != AIRCRAFT_CRASHING || newState == AIRCRAFT_CRASHING' failed.
[f=0004415] Error: Aborted (SIGABRT) in spring 91.0.1-419-g370ce7e develop (Debug OMP)
[f=0004415] Error: Stacktrace:
[f=0004415] Error: <0> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7f7f5b7facb0]
[f=0004415] Error: <1> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f7f585ce425]
[f=0004415] Error: <2> /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x7f7f585d1b8b]
[f=0004415] Error: <3> /lib/x86_64-linux-gnu/libc.so.6(+0x2f0ee) [0x7f7f585c70ee]
[f=0004415] Error: <4> /lib/x86_64-linux-gnu/libc.so.6(+0x2f192) [0x7f7f585c7192]
[f=0004415] Error: <5> /home/abma/dev/spring/develop/rts/Sim/MoveTypes/HoverAirMoveType.cpp:124
[f=0004415] Error: <6> /home/abma/dev/spring/develop/rts/Sim/MoveTypes/HoverAirMoveType.cpp:243
[f=0004415] Error: <7> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:808
[f=0004415] Error: <8> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/CommandAI.cpp:1326
[f=0004415] Error: <9> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:414
[f=0004415] Error: <10> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <11> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:430
[f=0004415] Error: <12> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:406
[f=0004415] Error: <13> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <14> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:430
[f=0004415] Error: <15> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:406
[f=0004415] Error: <16> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <17> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:430
[f=0004415] Error: <18> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:406
[f=0004415] Error: <19> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <20> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:430
[f=0004415] Error: <21> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:406
[f=0004415] Error: <22> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <23> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:430
[f=0004415] Error: <24> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:406
[f=0004415] Error: <25> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:396
[f=0004415] Error: <26> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/CommandAI.cpp:1449
[f=0004415] Error: <27> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/MobileCAI.cpp:1026
[f=0004415] Error: <28> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/CommandAI.cpp:1048
[f=0004415] Error: <29> /home/abma/dev/spring/develop/rts/Sim/Units/CommandAI/CommandAI.cpp:1401
[f=0004415] Error: <30> /home/abma/dev/spring/develop/rts/System/Object.cpp:51
[f=0004415] Error: <31> /home/abma/dev/spring/develop/rts/System/Object.cpp:69
[f=0004415] Error: <32> /home/abma/dev/spring/develop/rts/Sim/Objects/WorldObject.h:34
[f=0004415] Error: <33> /home/abma/dev/spring/develop/rts/Sim/Objects/SolidObject.cpp:128
[f=0004415] Error: <34> /home/abma/dev/spring/develop/rts/Sim/Units/Unit.cpp:308 (discriminator 10)
[f=0004415] Error: <35> /home/abma/dev/spring/develop/rts/Sim/Units/Unit.cpp:308
[f=0004415] Error: <36> /home/abma/dev/spring/develop/rts/Sim/Units/UnitHandler.cpp:182
[f=0004415] Error: <37> /home/abma/dev/spring/develop/rts/Sim/Units/UnitHandler.cpp:209 (discriminator 1)
[f=0004415] Error: <38> /home/abma/dev/spring/develop/rts/Game/Game.cpp:1507
[f=0004415] Error: <39> /home/abma/dev/spring/develop/rts/Game/NetCommands.cpp:392
[f=0004415] Error: <40> /home/abma/dev/spring/develop/rts/Game/Game.cpp:902
[f=0004415] Error: <41> /home/abma/dev/spring/develop/rts/lib/gml/gml_base.h:43
[f=0004415] Error: <42> /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:961
[f=0004415] Error: <43> /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:1043
[f=0004415] Error: <44> /home/abma/dev/spring/develop/rts/System/Main.cpp:57
[f=0004415] Error: <45> /home/abma/dev/spring/develop/rts/System/Main.cpp:71
[f=0004415] Error: <46> /home/abma/dev/spring/develop/rts/System/Main.cpp:91
[f=0004415] Error: <47> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f7f585b976d]
[f=0004415] Error: <48> ??:?
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0003347resolvedcleanrock assertion failed in HoverAirMoveType.cpp:122 
+Relationships

-Notes

~0009389

abma (administrator)

[f=0000599] Cheating is enabled!
spring-headless: rts/Sim/MoveTypes/StrafeAirMoveType.cpp:1053: virtual void CStrafeAirMoveType::SetState(AAirMoveType::AircraftState): Assertion `aircraftState != AIRCRAFT_CRASHING || newState == AIRCRAFT_CRASHING' failed.
[f=0001012] Error: Aborted (SIGABRT) in spring 91.0.1-475-g93354df develop (Debug Headless OMP)
[f=0001012] Error: Stacktrace:
[f=0001012] Error: <0> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7f6082a94cb0]
[f=0001012] Error: <1> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f60826fc425]
[f=0001012] Error: <2> /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x7f60826ffb8b]
[f=0001012] Error: <3> /lib/x86_64-linux-gnu/libc.so.6(+0x2f0ee) [0x7f60826f50ee]
[f=0001012] Error: <4> /lib/x86_64-linux-gnu/libc.so.6(+0x2f192) [0x7f60826f5192]
[f=0001012] Error: <5> /var/tmp/home/dev/spring/develop/rts/Sim/MoveTypes/StrafeAirMoveType.cpp:1055
[f=0001012] Error: <6> /var/tmp/home/dev/spring/develop/rts/Sim/MoveTypes/AAirMoveType.cpp:124
[f=0001012] Error: <7> /home/abma/dev/spring/develop/rts/System/Object.cpp:51
[f=0001012] Error: <8> /home/abma/dev/spring/develop/rts/System/Object.cpp:69
[f=0001012] Error: <9> /var/tmp/home/dev/spring/develop/rts/Sim/Misc/AirBaseHandler.h:26
[f=0001012] Error: <10> /var/tmp/home/dev/spring/develop/rts/Sim/Misc/AirBaseHandler.h:26
[f=0001012] Error: <11> /var/tmp/home/dev/spring/develop/rts/Sim/Misc/AirBaseHandler.cpp:101
[f=0001012] Error: <12> /var/tmp/home/dev/spring/develop/rts/Sim/Units/Unit.cpp:271
[f=0001012] Error: <13> /var/tmp/home/dev/spring/develop/rts/Sim/Units/UnitTypes/Builder.cpp:107 (discriminator 1)
[f=0001012] Error: <14> /var/tmp/home/dev/spring/develop/rts/Sim/Units/UnitTypes/Builder.cpp:107
[f=0001012] Error: <15> /var/tmp/home/dev/spring/develop/rts/Sim/Units/UnitHandler.cpp:182
[f=0001012] Error: <16> /var/tmp/home/dev/spring/develop/rts/Sim/Units/UnitHandler.cpp:209 (discriminator 1)
[f=0001012] Error: <17> /home/abma/dev/spring/develop/rts/Game/Game.cpp:1508
[f=0001012] Error: <18> /var/tmp/home/dev/spring/develop/rts/Game/NetCommands.cpp:392
[f=0001012] Error: <19> /home/abma/dev/spring/develop/rts/Game/Game.cpp:902
[f=0001012] Error: <20> /home/abma/dev/spring/develop/rts/lib/gml/gml_base.h:43
[f=0001012] Error: <21> /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:1009
[f=0001012] Error: <22> /home/abma/dev/spring/develop/rts/System/SpringApp.cpp:1094
[f=0001012] Error: <23> /home/abma/dev/spring/develop/rts/System/Main.cpp:61
[f=0001012] Error: <24> /home/abma/dev/spring/develop/rts/System/Main.cpp:109
[f=0001012] Error: <25> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f60826e776d]
[f=0001012] Error: <26> ??:?

~0009390

abma (administrator)

i often hit this failed assertion when testing... not sure if commenting out is fine, i guess not...

~0009392

cleanrock (reporter)

I reproduced this with
"20121125_232531_Red Comet_91.0.1-475-g93354df develop.sdf" (btw, spaces in all filenames should be avoided imo).

This is what happens (taken from gdb callstack on assert):
1. A "Hive" unit is destroyed (DeleteUnitNow)
2. which deregisters its AirBases which destroys its LandingPads which call Detach in ~CObject
3. Detach call DependentDied which call SetState(AIRCRAFT_TAKEOFF) on unit
4. assert/abort is triggered since aircraftState == AIRCRAFT_CRASHING

~0009393

cleanrock (reporter)

With this patch it will at least reach end of demo but crash later:

@@ -1600,7 +1600,10 @@ void CUnitScript::SetUnitVal(int val, int param)
                        AAirMoveType* amt = dynamic_cast<AAirMoveType*>(unit->moveType);
                        if (amt != NULL) {
                                if (!!param) {
- amt->SetState(AAirMoveType::AIRCRAFT_CRASHING);
+ const AAirMoveType::AircraftState aircraftState = amt->aircraftState;
+ if (aircraftState == AAirMoveType::AIRCRAFT_FLYING) {
+ amt->SetState(AAirMoveType::AIRCRAFT_CRASHING);
+ }
                                } else {
                                        amt->SetState(AAirMoveType::AIRCRAFT_FLYING);
                                }

~0009394

abma (administrator)

comment from the assertion:

// once in crashing, we should never change back into another state

print newState
$2 = AAirMoveType::AIRCRAFT_TAKEOFF

i guess that explains all?!

(i'm still new to this, so i need help/feedback, too)

~0009395

abma (administrator)

https://github.com/spring/spring/commit/59493e2f091ddd83a08ef3d4ee8d24ab05e21a54

please, please correct me if i'm wrong, i still have no clue about sim...

this commit fixed the crash for me, so i hope it is fine...
+Notes

-Issue History
Date Modified Username Field Change
2012-11-23 10:05 abma New Issue
2012-11-23 10:05 abma File Added: 20121123_095748_Blue Comet v4_91.0.1-419-g370ce7e develop.sdf
2012-11-25 23:25 abma Note Added: 0009389
2012-11-25 23:26 abma Priority normal => high
2012-11-25 23:27 abma Note Added: 0009390
2012-11-25 23:32 abma File Added: 20121125_232531_Red Comet_91.0.1-475-g93354df develop.sdf
2012-11-26 18:39 cleanrock Note Added: 0009392
2012-11-26 19:27 cleanrock Note Added: 0009393
2012-11-27 03:59 abma Note Added: 0009394
2012-11-27 04:16 abma Note Added: 0009395
2012-11-27 04:16 abma Status new => resolved
2012-11-27 04:16 abma Resolution open => fixed
2012-11-27 04:16 abma Assigned To => abma
2012-12-02 07:39 cleanrock Relationship added related to 0003347
2012-12-05 19:11 abma Changeset attached => spring develop 59493e2f
+Issue History