Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Info] FARc 0_16_0_1_Mader can lead to a Principia Fatal error in KSP 1.11.1 #2922

Closed
Growflavor opened this issue Mar 15, 2021 · 3 comments · Fixed by #2983
Closed

[Info] FARc 0_16_0_1_Mader can lead to a Principia Fatal error in KSP 1.11.1 #2922

Growflavor opened this issue Mar 15, 2021 · 3 comments · Fixed by #2983
Labels
Milestone

Comments

@Growflavor
Copy link

I am providing this mod interaction report since one can easily leave an older version of a mod in GameData & also in case the normal work on FARc for a KSP 1.11.1 version does not resolve this. FARc has not yet been released for KSP1.11.1 but several FARc users report using the 1.10.1 version with KSP 1.11.x. I have only been able to produce this FATAL with FARc added to GameData in KSP 1.11.1...when I remove it from GamaData launches proceed fine, as soon as I add FARc back & reload KSP I get the FATAL with the 1st stage debris. Also, Principia & this 0_16_0_1_Mader version of FARc appear to work fine together in KSP 1.10.1 as expected.

journal attached: JOURNAL.zip
also available with principia logs at: https://drive.google.com/drive/folders/1qx9jgqkaWLg7lPo5g627eSItruQTzOVr?usp=sharing

Reproduction steps:

  • KSP 1.11.1
  • FARc 0_16_0_1_Mader (= for KSP 1.10.x)
  • Principia
  • Build in VAB a rocket with small solid rocket motor boosters as 1st stage attached via radial decoupler, example .craft:
    x2bCRAFT.zip
  • Launch at KSC launch pad
  • Turn slightly towards the water
  • Stage the small SRBs when their burn is complete
  • Fatal occurs when SRB debris visually appears to impact the water facing side of KSC ground e.g. the field between the VAB & Launchpad.
  • FARcFATAL.gif

part.cpp:67] Destroying part radialDecoupler (3319418D) ... vessel.cpp:155] Check failed: !parts_.empty()

pleroy was kind to respond on the forum since issues are not tracked there:

"This does indeed seem somewhat similar to #1549, in the sense that I suspect that we end up with a vessel having no parts, although that probably happens in a completely different manner.

From looking at one particular log file, we have a vessel (Vessel x2b Debris) that has 3 parts (a noseCone, a solidBooster and a radialDecoupler). The first two parts are removed from the vessel (so far so good) and then the third part is destroyed. Since we see no message telling us that the vessel itself is destroyed, we are probably left with an empty vessel.

My gut feeling is that this could be KSP violating one of its own "invariants" or some other mod not properly managing parts and vessels.

If you know how to reproduce this, a journal would help greatly. "

@Growflavor
Copy link
Author

More tracking notes...hmmm...just encountered this "Check failed: !parts_.empty() " with different radial decoupler...strangely this time in KSP 1.10.1 while in the upper Kerbin atmosphere shortly after separation:
Principia_KSP1101_Logs_FATAL_20210510_195502_16856.zip

also, seems less frequent with the new FAR in KSP 1.11.2 with the simple X2B test craft but I am still able to get a crash:
Principia_KSP1112_Logs_FATAL_20210510_175954_8968.zip

I will keep observing & if I see something consistent will get another journal.

@pleroy
Copy link
Member

pleroy commented May 10, 2021

For the record, I was able to replay the journal given in the first comment and to reproduce the crash. No further analysis yet.

@pleroy
Copy link
Member

pleroy commented May 11, 2021

Excerpts from the log and journal regarding the interesting parts and vessels:

I0511 21:29:06.708827  9760 plugin.cpp:414] Inserted loaded vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:06.708827  9760 vessel.cpp:127] Extracting part radialDecoupler (61F4FA01) from vessel x2b (fe645c14-e320-455a-bda3-16b159db21c5)
I0511 21:29:06.708827  9760 vessel.cpp:117] Adding part radialDecoupler (61F4FA01) to vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:06.709827  9760 vessel.cpp:137] Keeping part radialDecoupler (61F4FA01)
I0511 21:29:06.709827  9760 vessel.cpp:127] Extracting part solidBooster.sm.v2 (001F207A) from vessel x2b (fe645c14-e320-455a-bda3-16b159db21c5)
I0511 21:29:06.709827  9760 vessel.cpp:117] Adding part solidBooster.sm.v2 (001F207A) to vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:06.709827  9760 vessel.cpp:137] Keeping part solidBooster.sm.v2 (001F207A)
I0511 21:29:06.709827  9760 vessel.cpp:127] Extracting part noseCone (FCA54FD3) from vessel x2b (fe645c14-e320-455a-bda3-16b159db21c5)
I0511 21:29:06.709827  9760 vessel.cpp:117] Adding part noseCone (FCA54FD3) to vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:06.709827  9760 vessel.cpp:137] Keeping part noseCone (FCA54FD3)
I0511 21:29:06.709827  9760 vessel.cpp:172] Preparing history of vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb) at +6.84400000000035220e+01 s
I0511 21:29:07.596916  9760 vessel.cpp:127] Extracting part noseCone (FCA54FD3) from vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:07.596916  9760 vessel.cpp:117] Adding part noseCone (FCA54FD3) to vessel x2b Debris (9c4f869f-f34b-4011-840e-4ce29011ee2f)
I0511 21:29:07.596916  9760 vessel.cpp:137] Keeping part noseCone (FCA54FD3)
I0511 21:29:07.596916  9760 vessel.cpp:172] Preparing history of vessel x2b Debris (9c4f869f-f34b-4011-840e-4ce29011ee2f) at +7.07000000000030724e+01 s
I0511 21:29:07.639920  9760 vessel.cpp:127] Extracting part solidBooster.sm.v2 (001F207A) from vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb)
I0511 21:29:07.639920  9760 vessel.cpp:117] Adding part solidBooster.sm.v2 (001F207A) to vessel x2b Debris (e076ef3c-3621-4c25-bff2-191e6b25318d)
I0511 21:29:07.639920  9760 vessel.cpp:137] Keeping part solidBooster.sm.v2 (001F207A)
I0511 21:29:07.639920  9760 vessel.cpp:172] Preparing history of vessel x2b Debris (e076ef3c-3621-4c25-bff2-191e6b25318d) at +7.08000000000030525e+01 s
E0511 21:29:08.014958  9760 player.cpp:60] index: 579798
[principia.journal.serialization.InsertOrKeepVessel.extension] { in { plugin: 2718550096736 vessel_guid: "25be3234-683a-4e79-bc90-f994c01abbeb" parent_index: 0 loaded: true vessel_name: "x2b Debris" } }
[principia.journal.serialization.InsertOrKeepVessel.extension] { out { inserted: false } }
I0511 21:29:08.014958  9760 vessel.cpp:111] Vessel x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb) switches parent from Kerbin to Sun
E0511 21:29:08.015959  9760 player.cpp:60] index: 579811
[principia.journal.serialization.InsertOrKeepVessel.extension] { in { plugin: 2718550096736 vessel_guid: "9c4f869f-f34b-4011-840e-4ce29011ee2f" parent_index: 1 loaded: true vessel_name: "x2b Debris" } }
[principia.journal.serialization.InsertOrKeepVessel.extension] { out { inserted: false } }
E0511 21:29:08.015959  9760 player.cpp:60] index: 579812
[principia.journal.serialization.InsertOrKeepLoadedPart.extension] { in { plugin: 2718550096736 part_id: 3545212412 mass_in_tonnes: 0.029999999329447746 vessel_guid: "9c4f869f-f34b-4011-840e-4ce29011ee2f" ... name: "noseCone" ...
[principia.journal.serialization.InsertOrKeepLoadedPart.extension] { }
E0511 21:29:08.015959  9760 player.cpp:60] index: 579815
[principia.journal.serialization.InsertOrKeepVessel.extension] { in { plugin: 2718550096736 vessel_guid: "e076ef3c-3621-4c25-bff2-191e6b25318d" parent_index: 1 loaded: true vessel_name: "x2b Debris" } }
[principia.journal.serialization.InsertOrKeepVessel.extension] { out { inserted: false } }
E0511 21:29:08.015959  9760 player.cpp:60] index: 579816
[principia.journal.serialization.InsertOrKeepLoadedPart.extension] { in { plugin: 2718550096736 part_id: 2048925440 mass_in_tonnes: 0.44999998807907104 vessel_guid: "e076ef3c-3621-4c25-bff2-191e6b25318d" ... name: "solidBooster.sm.v2" ...
[principia.journal.serialization.InsertOrKeepLoadedPart.extension] { }

The vessel of interest here is x2b Debris (25be3234-683a-4e79-bc90-f994c01abbeb). At time 21:29:06.708827 we add three parts to it (a radialDecoupler, a solidBooster.sm.v2, and a noseCone). Then at time 21:29:07.596916 the noseCone is kicked out and goes to vessel x2b Debris (9c4f869f-f34b-4011-840e-4ce29011ee2f), and at time 21:29:07.639920 the solidBooster.sm.v2 is kicked out and goes to vessel x2b Debris (e076ef3c-3621-4c25-bff2-191e6b25318d).

Note how, for vessels 9c4f869f-f34b-4011-840e-4ce29011ee2f and e076ef3c-3621-4c25-bff2-191e6b25318d each call to InsertOrKeepVessel is followed by a call to InsertOrKeepLoadedPart for the appropriate part. However, there are two notable things regarding vessel 25be3234-683a-4e79-bc90-f994c01abbeb: one is that its parent index is 0, which causes the mysterious message "switching to Sun"; the second is that it is not followed by a call to InsertOrKeepLoadedPart, even though it contains a part (the radialDecoupler). That part is then removed the next time we run through FreeVesselsAndPartsAndCollectPileUps, resulting in an empty vessel, which is a no-no.

I surmise that what's happening is that we have a vessel very close to being destroyed that is no longer attached to a main body and contains only unfaithful parts. Such a vessel should probably just be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants