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

Weird problem when launching heavy crafts when there's a Inventory part (SEQ9), a cargo part (Service Bay) between the heaviest part and the root part when the root part is crewed! #162

Open
Lisias opened this issue Feb 1, 2021 · 27 comments
Labels
Not My Fault Not my Fault! I'm innocent! :) unrelated This is something on some other Add'On.
Milestone

Comments

@Lisias
Copy link

Lisias commented Feb 1, 2021

So, I came to this craft:
screenshot1

It was working fine on 1.10.x, but on 1.11.0 (and now on 1.11.1) the thing is just blowing up while being launched.
screenshot2

Instantaneous Craft Annihilation - ICA .

Further tests revealed that the craft is being placed at the PQS ground level nevertheless having something with a collider below (the runway, the launchpad, anything).

World Stabiliser does not helps.

Using VesselMover to spawn the craft solves the problem, however. But if you change the focus to another vessel, when returning to the problematic one the craft blows up again - as long it's over the runway, the launchpad or any other static with collider. When the craft is over the PQS ground, ICA does not happens!

So it's not something happening on spawning the craft, but when changing the focus to it (what happens at launch, by the way!).

I simplified the craft to what follows:
screenshot3

This craft as is blows up. However, I realised that:

  1. If the root part is not the MK1 Inline Cockpit, ICA doesn't happen. Any part will do, any. The only part that triiggers the ICA at focus is the MK1 Inline Cockpit (perhaps others?)

On the example below, the root part is the Nose Cone (and this vessel does not ICA):
screenshot4

  1. By removing the SEQ9 part, ICA doesn't happens even with the MK1 Inline Cockpit as root.

  2. By removing the Service Bay 1.25 part, ICA doesn't happens even with the MK1 Inline Cockpit as root.

  3. By replacing the Mk1 Inline Cockpit to any crewed part, ICA do happens! The part doesn't needs to have control (a probe part works fine), the problem is with crewed parts.

  4. By removing the Ore from the containers, the weight goes from 130tons to about 30. And the ICA doesn't happens
    screenshot5

  5. By moving the SEQ9 and/or ServiceBay to be after the heaviest part, ICA doesn't happens.
    screenshot6

  6. By removing the wheels, ICA doesn't happens.

  7. By creating a somewhat similar craft without using TweakScale, ICA doesn't happens.

So, this is the Modus Operandi:

  1. Use TweakScale to build something really heavy. Make sure the root part is a crewed part.
  2. Shove some wheels on it
  3. Be sure to add a SEQ9 and a Service Bet between the root part and the heaviest part.

Craft file:
Ore Train Bug.craft.zip

@Lisias Lisias changed the title Weird problem when launching heavy crafts when Mk1 Inline Cockpit is the root. Weird problem when launching heavy crafts when there's a inventory part between the heaviest part and the root part. Feb 1, 2021
@Lisias Lisias changed the title Weird problem when launching heavy crafts when there's a inventory part between the heaviest part and the root part. Weird problem when launching heavy crafts when there's a Inventory part (SEQ9), a cargo part (Service Bay) and a Crewed Part between the heaviest part and the root part. Feb 1, 2021
@Lisias Lisias changed the title Weird problem when launching heavy crafts when there's a Inventory part (SEQ9), a cargo part (Service Bay) and a Crewed Part between the heaviest part and the root part. Weird problem when launching heavy crafts when there's a Inventory part (SEQ9), a cargo part (Service Bay) between the heaviest part and the root part when the root part is crewed! Feb 1, 2021
@Lisias
Copy link
Author

Lisias commented Feb 1, 2021

I wonder it's something related to auto-struts? There must be a reason to wheels be involved on the mess...

@Lisias
Copy link
Author

Lisias commented Feb 1, 2021

UNBELIEVABLE... JUST FSCKING UNBELIEVABLE!!

I rebuild the same craft from scratch, using a 1.11.1 created savegame. And the Kraken damned thing works fine.... (sigh)

screenshot7

Craft file:
Ore Cargo.craft.zip

@Lisias
Copy link
Author

Lisias commented Feb 1, 2021

I copied the old craft into the new savegame, and it exploded as... "expected".

Then I copied the new craft into the old savegame, and it worked fine!!!

There's something wrong on using KSP 1.10.x crafts on KSP 1.11 !!!

My guess? Something missing on the upgradepipeline....

@Lisias Lisias added the Not My Fault Not my Fault! I'm innocent! :) label Feb 1, 2021
@Lisias
Copy link
Author

Lisias commented Feb 1, 2021

Marking it as "Not my fault" for obvious reasons.

@Lisias
Copy link
Author

Lisias commented Feb 1, 2021

Current known work arounds:

  1. Build the craft from scratch on KSP 1.11; or
    • By building the craft entirely on KSP 1.11, the problem does not happens!
  2. Reroot the craft so the new root part is not crewable; or
    • I rooted the Nose Cone on the sample craft, and it worked!
  3. Move the SEQ9 or the Sevice Bat or both to be out of the line between the root part and the heaviest part.

@Lisias
Copy link
Author

Lisias commented Feb 2, 2021

Well, a setback on my hypothesis of this being something 100% KSP related.

I made this monster on KSP 1.10 and loaded it on KSP 1.11:
screenshot8

Craftfile:
Ore Tank TweakScaleless 1_10.craft.zip

And the damned thing worked fine on the spot:
screenshot9

This is not straightforward as I was thinking. Apparently, vanilla KSP is not suffering from problems on loading previous version's savegames and files, add'ons must be present somehow on the process.

I still think this is not something specific to TweakScale as I could reproduce the problem with TweakScale uninstalled, but apparently having it installed at some point triggered the problem, and once the problem is triggered, having TweakScale installed or not doesn't matters.

I'm heavily inclined to pinpoint the upgradepipeline on this - having TweakScale present triggers the problem, even when the parts are not scaled (see previous tests). But if you never installs TweakScale, the problem is not triggered and so nothing bad happens.

My current (updated) hypothesis now is:

  1. By having TweakScale installed on saving the craft on KSP 1.10, when KSP 1.11 loads it something on the upgradepipeline borks and leave something instable on some parts (my guess is the root part of the craft when it is crewable).
  2. Once the problem is triggered, very heavy crafts are unpacked into the PQS ground level instead over the static's collider under the craft.
  3. Things blows up.

WHY the craft is being placed at PQS ground level on unpack? Good question.

Looking into how World Stabiliser works, my guess is that KSP always unpacks grounded crafts at PQS ground level, and them immediately looks for colliders in order to move the craft above them. By some reason, heavy crafts are not being moved in time, and then the physics engine kicks in and BADABOOM.

The way Vessel Mover behave on the affected crafts supports my hypothesis: such craft when spawn are placed into the ground on a excruciating slow speed (one meter each some seconds), what I think is a good explanation by the problem I'm describing.

Finally, the move of the craft should be getting hindered due something wrong when some module is initialized, perhaps an empty try catch - and this by some reason renders the craft infinitely heavy, taxing terribly the code that moves the craft into the right spot after being unpacked.

My goal, now, is to determine exactly what module is borking up - there should be a reason for the problem happening only when the craft have wheels, the root part is crewable and there's a SEQ and a Service Bay between the root part and the heaviest part.

@Lisias
Copy link
Author

Lisias commented Feb 2, 2021

The upgradepipeline hypothesis was wrong.

I just KDIFFed the Mark2Cockpit, ServiceBay.125.v2 and cargoContainer parts looking from something wrong and I found that these parts are virtually identical on both files (the one those crafts blows up, and the one with the rebuilt craft that works).

Screen Shot 2021-02-02 at 07 46 06

  • part
  • persistentId
  • pos, attpos
  • rot, attRot, attRot0
  • link, attN

Whatever is the problem, it is somewhere else....

(Interesting info available on this post on forum)

@Lisias
Copy link
Author

Lisias commented Feb 2, 2021

Well... back to square one. Let's try again.

This is a KSP.log exercpt from the *sucesfull craft file:

[LOG 08:01:04.411] [HighLogic]: =========================== Scene Change : From EDITOR to FLIGHT (Async) =====================
[LOG 08:01:04.887] [UIApp] OnDestroy: ActionGroupsApp
[LOG 08:01:04.887] ScaleModList: listSize 82 maxListSize 763
[LOG 08:01:04.887] [UIApp] OnDestroy: EngineersReport
[LOG 08:01:04.887] ScaleModList: listSize 82 maxListSize 763
[LOG 08:01:04.888] [UIApp] OnDestroy: DeltaVApp
[LOG 08:01:04.888] ScaleModList: listSize 82 maxListSize 763
[LOG 08:01:04.897] [UIApp] OnDestroy: KSPedia
[LOG 08:01:04.898] ScaleModList: listSize 82 maxListSize 763
[LOG 08:01:05.176] [PlanetariumCamera]: Focus: Kerbin
[LOG 08:01:05.176] [UIMasterController]: HideUI
[LOG 08:01:07.007] UICanvasPrefabSpawner FlightUI spawning Flight
[LOG 08:01:07.046] UICanvasPrefabSpawner FlightUI spawning VesselLabels
[LOG 08:01:07.046] [UiApp] Awake: ResourceDisplay
[LOG 08:01:07.275] [AddonLoader]: Instantiating addon 'AeroGUI' from assembly 'KSP'
[LOG 08:01:07.300] [AddonLoader]: Instantiating addon 'VesselMove' from assembly 'VesselMover'
[LOG 08:01:07.300] [AddonLoader]: Instantiating addon 'VesselSpawn' from assembly 'VesselMover'
[LOG 08:01:07.300] [AddonLoader]: Instantiating addon 'VesselMoverToolbar' from assembly 'VesselMover'
[LOG 08:01:07.300] [AddonLoader]: Instantiating addon 'MoveLaunchGPSLogger' from assembly 'VesselMover'
[LOG 08:01:07.301] [AddonLoader]: Instantiating addon 'WorldStabilizer' from assembly 'WorldStabilizer'
[LOG 08:01:07.301] [WorldStabilizer] DETAIL: configure:line 0 :: config is ok
[LOG 08:01:07.302] [WorldStabilizer] DETAIL: initialize:line 0 :: Looking for KIS/KAS
[LOG 08:01:07.302] [PlanetariumCamera]: Focus: Kerbin
[LOG 08:01:07.302] [UIMasterController]: HideUI
[LOG 08:01:08.042] [UIMasterController]: HideUI
[LOG 08:01:08.042] ------------------- initializing flight mode... ------------------
[LOG 08:01:08.051] [MessageSystem] Save Messages
[LOG 08:01:08.052] Loading Depletion Nodes
[LOG 08:01:08.052] DepNodeCount:  0
[LOG 08:01:08.052] Loading Biome Nodes
[LOG 08:01:08.052] BiomeNodeCount:  0
[LOG 08:01:08.052] Loading Planet Nodes
[LOG 08:01:08.052] PlanetNodeCount:  0
[LOG 08:01:08.054] [ScenarioDestructibles]: Loading... 0 objects registered
[LOG 08:01:08.062] Loading ship from file: /.users/lisias/Workspaces/KSP/runtime/1.11.1/KSP.app/Contents/../../saves/test_ts_1111/Ships/SPH/Auto-Saved Ship.craft
[LOG 08:01:08.062] [UIMasterController]: HideUI
[LOG 08:01:08.214] Ore Cargo loaded!
[LOG 08:01:12.577] putting ship to ground: 8.271165
[LOG 08:01:12.580] [Ore Cargo]: Ready to Launch - waiting to start physics...
[LOG 08:01:12.583] Crewmember Jebediah Kerman assigned to Mk1 Inline Cockpit, seat # 0 (crew seat index: 0)
[LOG 08:01:12.583] [FLIGHT GLOBALS]: Switching To Vessel Ore Cargo ---------------------- 
[LOG 08:01:12.583] setting new dominant body: Kerbin
FlightGlobals.mainBody: Kerbin
[LOG 08:01:12.583] Reference Frame: Rotating
[LOG 08:01:12.588] Vessel assembly complete!
[LOG 08:01:18.243] all systems started
[WRN 08:01:18.315] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "ServiceBay.125.v2/strutOcto/strutOcto/strutCube/model/cubestrut"
[LOG 08:01:18.377] [AsteroidSpawner]: No new objects this time. (Odds are 1:2)
[LOG 08:01:18.476] [UiApp] Awake: CurrencyWidgetsApp
[LOG 08:01:18.476] [UiApp] Awake: ResourceDisplay
[LOG 08:01:18.476] [UiApp] Awake: KSPedia
[LOG 08:01:18.476] [UiApp] Awake: Missions App
[LOG 08:01:18.476] [UiApp] Awake: DeltaVApp
[LOG 08:01:18.476] [UiApp] Awake: ActionGroupsApp
[LOG 08:01:18.476] [UiApp] Awake: Construction
[LOG 08:01:18.476] [UiApp] Awake: Cargo
[LOG 08:01:18.476] [ApplicationLauncher] OnSceneLoadedGUIReady: scene FLIGHT ShouldBeVisible() True ShouldBeOnTop() True iIsPositionedAtTop False
[LOG 08:01:18.476] [ApplicationLauncher] SpawnSimpleLayout: VerticalTopDown
[LOG 08:01:18.483] ScaleModList: listSize 123 maxListSize 519
[LOG 08:01:18.484] ScaleModList: listSize 123 maxListSize 510
[LOG 08:01:18.484] ScaleModList: listSize 123 maxListSize 510
[LOG 08:01:18.484] ScaleModList: listSize 123 maxListSize 510
[LOG 08:01:18.484] [KnowledgeBase] OnAppLauncherReady 82726
[LOG 08:01:18.506] [UIApp] OnDestroy: Contracts
[LOG 08:01:18.515] [MessageSystem] Reposition 0.02 82727
[LOG 08:01:18.516] [GenericAppFrame] Reposition 0.02 82727
[LOG 08:01:18.516] [GenericAppFrame] Reposition 0.02 82727
[LOG 08:01:18.541] [FlightIntegrator]: Reloaded drag cube for zeroed cube root part Mark2Cockpit on vessel Ore Cargo
[LOG 08:01:18.542] [FlightIntegrator]: Vessel Ore Cargo has been unloaded 1.79769313486232E+308, applying analytic temperature 308.324598332003
[LOG 08:01:18.645] [PlanetariumCamera]: Focus: Ore Cargo
[LOG 08:01:18.668] [UIApp] Adding ResourceDisplay to Application Launcher
[LOG 08:01:18.669] ScaleModList: listSize 123 maxListSize 469
[LOG 08:01:18.669] [UIApp] Adding ResourceDisplay to Application Launcher
[LOG 08:01:18.671] ScaleModList: listSize 123 maxListSize 428
[LOG 08:01:18.686] [ResourceDisplay] OnAppStarted(): id: -1125616
[LOG 08:01:18.687] [GenericAppFrame] Reposition 0.1375202 82731
[LOG 08:01:18.688] [ResourceDisplay] OnAppStarted(): id: 438080
[LOG 08:01:18.688] ResourceDisplay already exist, destroying this instance
[LOG 08:01:18.688] [UIApp] OnDestroy: ResourceDisplay
[LOG 08:01:18.688] ScaleModList: listSize 123 maxListSize 428
[LOG 08:01:18.749] [UIApp] Adding ActionGroupsApp to Application Launcher
[LOG 08:01:18.751] ScaleModList: listSize 123 maxListSize 428
[LOG 08:01:18.751] [UIApp] Adding Missions App to Application Launcher
[LOG 08:01:18.754] ScaleModList: listSize 123 maxListSize 387
[LOG 08:01:18.754] CURRENCY WIDGET False False False
[LOG 08:01:18.757] [UIApp] OnDestroy: CurrencyWidgetsApp
[LOG 08:01:18.804] [ActionGroupsApp] OnAppStarted(): id: -1125640
[LOG 08:01:18.806] [GenericAppFrame] Reposition 0.2175202 82733
[LOG 08:01:18.806] [UIApp] Adding DeltaVApp to Application Launcher
[LOG 08:01:18.808] ScaleModList: listSize 123 maxListSize 346
[LOG 08:01:18.808] [MissionsApp] OnAppStarted(): id: -1125628
[LOG 08:01:18.808] MissionsApp does not execute in this game mode, destroying this instance
[LOG 08:01:18.808] [UIApp] OnDestroy: Missions App
[LOG 08:01:18.809] ScaleModList: listSize 123 maxListSize 346
[LOG 08:01:18.879] [GenericAppFrame] Reposition 0.2575202 82734
[WRN 08:01:18.945] HighlightingSystem : Edge Highlighting requires AA to work!
[LOG 08:01:18.945] [UIApp] Adding Cargo to Application Launcher
[LOG 08:01:18.947] ScaleModList: listSize 123 maxListSize 346
[LOG 08:01:18.947] [UIApp] Adding Construction to Application Launcher
[LOG 08:01:18.949] ScaleModList: listSize 123 maxListSize 305
[LOG 08:01:18.949] [UIApp] Adding KSPedia to Application Launcher
[LOG 08:01:18.951] ScaleModList: listSize 123 maxListSize 264
[WRN 08:01:18.951] HighlightingSystem : Edge Highlighting requires AA to work!
[LOG 08:01:18.988] [ApplicationLauncher] SetHidden: 
[LOG 08:01:18.990] ScaleModList: listSize 123 maxListSize 305
[LOG 08:01:19.246] Flight State Captured
[LOG 08:01:19.246] Saving Achievements Tree...
[LOG 08:01:19.247] [MessageSystem] Save Messages
[LOG 08:01:19.262] Game State Saved as persistent
[LOG 08:01:23.008] [Ore Cargo]: ground contact! - error. Moving Vessel  down -0.286m
[LOG 08:01:23.008] Unpacking Ore Cargo
[LOG 08:01:23.009] [WorldStabilizer] INFO: off rails: Mark2Cockpit: alt: 70.957065156661; radar alt: 1.72883033752441; alt: 70.957065156661
[LOG 08:01:23.009] [WorldStabilizer] DETAIL: onVesselGoOffRails:line 0 :: mission time: 0
[LOG 08:01:23.009] [WorldStabilizer] DETAIL: onVesselGoOffRails:line 0 :: checking if we're inside the hangar
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:01:23.010] [WorldStabilizer] DETAIL: checkIfInsideHangar:line 0 :: doesn't look like we're inside the hangar
[LOG 08:01:23.016] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:01:23.016] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.334967; bottomPoint = (3.0, -4.6, 2.9); topLength = 1.432507; topPoint = (1.8, 0.9, 11.2)
[LOG 08:01:23.072] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 100
[LOG 08:01:23.072] [WorldStabilizer] DETAIL: findAnchoredParts:line 0 :: Looking for anchors in Mark2Cockpit
[LOG 08:01:23.072] [WorldStabilizer] DETAIL: findAnchoredParts:line 0 :: Found 0 anchors
[LOG 08:01:23.072] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: initial alt: 70.957065156661; current alt = 70.6714924309636; moving up by: 0.285572725697421
[LOG 08:01:23.072] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: downward hit: UnityEngine.RaycastHit; collider = Kerbin Zn1232223233 (UnityEngine.MeshCollider)
[LOG 08:01:23.073] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: no upward hit; moving up by 0.2 m just in case
[LOG 08:01:23.073] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 1.59210157394409; timer = 100
[LOG 08:01:23.077] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 99
[LOG 08:01:23.077] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 99; moving up
[LOG 08:01:23.077] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.6447148; alt from top: (alt = 5.122759; collider = runway_collider); vessel height = 5.767474; minDownMovement = 0.1
[LOG 08:01:23.078] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.122759; collider = runway_collider) and (alt = 5.105042; collider = runway_collider)
[LOG 08:01:23.078] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:01:23.079] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.4447637; alt from top: (alt = 5.32271; collider = runway_collider); vessel height = 5.767474; minDownMovement = 0.1
[LOG 08:01:23.079] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.32271; collider = runway_collider) and (alt = 5.305042; collider = runway_collider)
[LOG 08:01:23.079] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:01:23.080] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.2447634; alt from top: (alt = 5.52271; collider = runway_collider); vessel height = 5.767474; minDownMovement = 0.1
[LOG 08:01:23.080] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.52271; collider = runway_collider) and (alt = 5.505042; collider = runway_collider)
[LOG 08:01:23.080] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.04476404; alt from top: (alt = 5.72271; collider = runway_collider); vessel height = 5.767474; minDownMovement = 0.1
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.72271; collider = runway_collider) and (alt = 5.705042; collider = runway_collider)
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = 0.1552362; alt from top: (alt = 5.92271; collider = runway_collider); vessel height = 5.767474; minDownMovement = 0.1
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: minumum downmovement reached; alt from bottom: (alt = 5.92271; collider = runway_collider)
[LOG 08:01:23.081] [WorldStabilizer] DETAIL: moveUp:line 0 :: (alt = 0.1552363; collider = runway_collider); new alt = Mark2Cockpit; alt from top = (alt = 5.905043; collider = runway_collider)
[LOG 08:01:23.083] [VesselMover] INFO: [Move Launch Controller]: Hiding Editor GUI
[LOG 08:01:23.084] [UIMasterController]: ShowUI
[LOG 08:01:23.146] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 98; moving down
[LOG 08:01:23.146] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=e02a0110-8f42-4068-8fa0-45dc37b78a83
[LOG 08:01:23.149] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:01:23.149] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.073616; bottomPoint = (2.3, -4.6, 3.5); topLength = 1.718379; topPoint = (1.1, 0.5, 11.9)
[LOG 08:01:23.149] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: hit different colliders: (alt = 0.3941882; collider = runway_collider) and (alt = 6.306541; collider = End09_Mesh)
[LOG 08:01:23.149] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.3941882; collider = runway_collider)
[LOG 08:01:23.150] [WorldStabilizer] DETAIL: moveDown:line 0 :: Moving down: Mark2Cockpit by 0.2941882; alt = 0.3941882; timer = 98; radar alt = 2.51863074302673; alt from top = 6.306541
[LOG 08:01:23.154] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 97; moving down
[LOG 08:01:23.154] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=e02a0110-8f42-4068-8fa0-45dc37b78a83
[LOG 08:01:23.158] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:01:23.158] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.067489; bottomPoint = (2.5, -4.6, 3.3); topLength = 1.719021; topPoint = (1.4, 0.5, 11.7)
[LOG 08:01:23.159] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.06843329; collider = runway_collider)
[LOG 08:01:23.159] [WorldStabilizer] DETAIL: moveDown:line 0 :: downmovement for Mark2Cockpit is below threshold (0.06843329<0.1); leaving as is: 0.06843329
[LOG 08:01:23.195] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 96; moving down
[LOG 08:01:23.195] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=e02a0110-8f42-4068-8fa0-45dc37b78a83
[LOG 08:01:23.198] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:01:23.198] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.238144; bottomPoint = (2.6, -4.6, 3.2); topLength = 1.719161; topPoint = (1.4, 0.5, 11.7)
[LOG 08:01:23.198] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.05366141; collider = runway_collider)
[LOG 08:01:23.199] [WorldStabilizer] DETAIL: moveDown:line 0 :: downmovement for Mark2Cockpit is below threshold (0.05366141<0.1); leaving as is: 0.05366141
[LOG 08:01:23.201] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 95; moving down
[LOG 08:01:23.201] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=e02a0110-8f42-4068-8fa0-45dc37b78a83
[LOG 08:01:23.205] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:01:23.205] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.238328; bottomPoint = (2.6, -4.6, 3.2); topLength = 1.719225; topPoint = (1.4, 0.1, 11.8)
[LOG 08:01:23.205] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.04809466; collider = runway_collider)
[LOG 08:01:23.205] [WorldStabilizer] DETAIL: moveDown:line 0 :: downmovement for Mark2Cockpit is below threshold (0.04809466<0.1); leaving as is: 0.04809466
[LOG 08:01:23.381] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.25561475753784; timer = 90
[LOG 08:01:23.643] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.22025203704834; timer = 80
[LOG 08:01:23.924] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.18122577667236; timer = 70
[LOG 08:01:24.191] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.14219856262207; timer = 60
[LOG 08:01:24.475] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.10317206382751; timer = 50
[LOG 08:01:24.742] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.06414580345154; timer = 40
[LOG 08:01:25.044] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 2.02511954307556; timer = 30
[LOG 08:01:25.343] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 1.98922741413116; timer = 20
[LOG 08:01:25.607] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 1.95562994480133; timer = 10
[LOG 08:01:25.824] [WorldStabilizer] DETAIL: FixedUpdate:line 0 :: Stopping stabilizing Mark2Cockpit
[LOG 08:01:26.613] [Progress Node Reached]: RecordsAltitude
[LOG 08:01:26.613] [Progress Node Reached]: RecordsSpeed
[LOG 08:01:26.613] [Progress Node Reached]: RecordsDistance
[LOG 08:01:39.811] [AsteroidSpawner]: New object found near Kerbin: Ast. YMC-950!
[LOG 08:01:49.994] [VesselMover] INFO: [Move Launch Controller]: Showing Editor GUI
[LOG 08:01:49.994] Game Paused!
[LOG 08:01:49.995] [UIMasterController]: ShowUI
[LOG 08:01:49.995] [FlightGlobals]: Active Vessel is moving (sqrVel = 0.140215241467764). Cannot save.
[LOG 08:01:50.045] [VesselMover] INFO: [Move Launch Controller]: Hiding Editor GUI
[LOG 08:01:52.256] [FlightDriver]: Flight State Reverted to Prelaunch.
[LOG 08:01:52.260] Game State Saved as persistent
[LOG 08:01:52.261] [MessageSystem] Load Messages
[LOG 08:01:52.262] [UIMasterController]: HideUI
[LOG 08:01:52.277] [HighLogic]: =========================== Scene Change : From FLIGHT to EDITOR =====================

I just launched the (good) craft, and reverted to the Editor once the thing didn't exploded.

Now follows the same for the (bad) craft file (once the craft exploded, I reverted to the Editor):

[LOG 08:06:42.264] [HighLogic]: =========================== Scene Change : From EDITOR to FLIGHT (Async) =====================
[LOG 08:06:42.752] [UIApp] OnDestroy: KSPedia
[LOG 08:06:42.752] ScaleModList: listSize 82 maxListSize 763
[LOG 08:06:42.760] [UIApp] OnDestroy: EngineersReport
[LOG 08:06:42.761] ScaleModList: listSize 82 maxListSize 763
[LOG 08:06:42.761] [UIApp] OnDestroy: ActionGroupsApp
[LOG 08:06:42.761] ScaleModList: listSize 82 maxListSize 763
[LOG 08:06:42.761] [UIApp] OnDestroy: DeltaVApp
[LOG 08:06:42.761] ScaleModList: listSize 82 maxListSize 763
[LOG 08:06:43.049] [PlanetariumCamera]: Focus: Kerbin
[LOG 08:06:43.050] [UIMasterController]: HideUI
[LOG 08:06:44.972] UICanvasPrefabSpawner FlightUI spawning Flight
[LOG 08:06:45.006] UICanvasPrefabSpawner FlightUI spawning VesselLabels
[LOG 08:06:45.006] [UiApp] Awake: ResourceDisplay
[LOG 08:06:45.238] [AddonLoader]: Instantiating addon 'AeroGUI' from assembly 'KSP'
[LOG 08:06:45.263] [AddonLoader]: Instantiating addon 'VesselMove' from assembly 'VesselMover'
[LOG 08:06:45.263] [AddonLoader]: Instantiating addon 'VesselSpawn' from assembly 'VesselMover'
[LOG 08:06:45.263] [AddonLoader]: Instantiating addon 'VesselMoverToolbar' from assembly 'VesselMover'
[LOG 08:06:45.264] [AddonLoader]: Instantiating addon 'MoveLaunchGPSLogger' from assembly 'VesselMover'
[LOG 08:06:45.264] [AddonLoader]: Instantiating addon 'WorldStabilizer' from assembly 'WorldStabilizer'
[LOG 08:06:45.284] [WorldStabilizer] DETAIL: configure:line 0 :: config is ok
[LOG 08:06:45.284] [WorldStabilizer] DETAIL: initialize:line 0 :: Looking for KIS/KAS
[LOG 08:06:45.285] [PlanetariumCamera]: Focus: Kerbin
[LOG 08:06:45.285] [UIMasterController]: HideUI
[LOG 08:06:46.046] [UIMasterController]: HideUI
[LOG 08:06:46.046] ------------------- initializing flight mode... ------------------
[LOG 08:06:46.054] [MessageSystem] Save Messages
[LOG 08:06:46.055] Loading Depletion Nodes
[LOG 08:06:46.055] DepNodeCount:  0
[LOG 08:06:46.055] Loading Biome Nodes
[LOG 08:06:46.055] BiomeNodeCount:  0
[LOG 08:06:46.055] Loading Planet Nodes
[LOG 08:06:46.055] PlanetNodeCount:  0
[LOG 08:06:46.057] [ScenarioDestructibles]: Loading... 0 objects registered
[LOG 08:06:46.064] Loading ship from file: /.users/lisias/Workspaces/KSP/runtime/1.11.1/KSP.app/Contents/../../saves/test_ts_1111/Ships/SPH/Auto-Saved Ship.craft
[LOG 08:06:46.064] [UIMasterController]: HideUI
[LOG 08:06:46.201] Ore Train Bug loaded!
[LOG 08:06:50.657] putting ship to ground: 10.00406
[LOG 08:06:50.660] [Ore Train Bug]: Ready to Launch - waiting to start physics...
[LOG 08:06:50.664] Crewmember Jebediah Kerman assigned to Mk1 Inline Cockpit, seat # 0 (crew seat index: 0)
[LOG 08:06:50.664] [FLIGHT GLOBALS]: Switching To Vessel Ore Train Bug ----------------------
[LOG 08:06:50.664] setting new dominant body: Kerbin
FlightGlobals.mainBody: Kerbin
[LOG 08:06:50.664] Reference Frame: Rotating
[LOG 08:06:50.669] Vessel assembly complete!
[LOG 08:06:56.375] all systems started
[WRN 08:06:56.447] BoxColliders does not support negative scale or size.
The effective box size has been forced positive and is likely to give unexpected collision geometry.
If you absolutely need to use negative scaling you can use the convex MeshCollider. Scene hierarchy path "cargoContainer/strutOcto/strutOcto/strutCube/model/cubestrut"
[LOG 08:06:56.503] [AsteroidSpawner]: No new objects this time. (Odds are 1:2)
[LOG 08:06:56.585] [UiApp] Awake: CurrencyWidgetsApp
[LOG 08:06:56.585] [UiApp] Awake: ResourceDisplay
[LOG 08:06:56.585] [UiApp] Awake: KSPedia
[LOG 08:06:56.585] [UiApp] Awake: Missions App
[LOG 08:06:56.585] [UiApp] Awake: DeltaVApp
[LOG 08:06:56.585] [UiApp] Awake: ActionGroupsApp
[LOG 08:06:56.585] [UiApp] Awake: Construction
[LOG 08:06:56.585] [UiApp] Awake: Cargo
[LOG 08:06:56.586] [ApplicationLauncher] OnSceneLoadedGUIReady: scene FLIGHT ShouldBeVisible() True ShouldBeOnTop() True iIsPositionedAtTop False
[LOG 08:06:56.586] [ApplicationLauncher] SpawnSimpleLayout: VerticalTopDown
[LOG 08:06:56.592] ScaleModList: listSize 123 maxListSize 519
[LOG 08:06:56.593] ScaleModList: listSize 123 maxListSize 510
[LOG 08:06:56.594] ScaleModList: listSize 123 maxListSize 510
[LOG 08:06:56.594] ScaleModList: listSize 123 maxListSize 510
[LOG 08:06:56.594] [KnowledgeBase] OnAppLauncherReady 94619
[LOG 08:06:56.619] [UIApp] OnDestroy: Contracts
[LOG 08:06:56.636] [MessageSystem] Reposition 0.02 94620
[LOG 08:06:56.636] [GenericAppFrame] Reposition 0.02 94620
[LOG 08:06:56.636] [GenericAppFrame] Reposition 0.02 94620
[LOG 08:06:56.740] [FlightIntegrator]: Reloaded drag cube for zeroed cube root part Mark2Cockpit on vessel Ore Train Bug
[LOG 08:06:56.740] [FlightIntegrator]: Vessel Ore Train Bug has been unloaded 1.79769313486232E+308, applying analytic temperature 308.040963965231
[LOG 08:06:56.892] [PlanetariumCamera]: Focus: Ore Train Bug
[LOG 08:06:56.920] [UIApp] Adding ResourceDisplay to Application Launcher
[LOG 08:06:56.924] ScaleModList: listSize 123 maxListSize 469
[LOG 08:06:56.924] [UIApp] Adding ResourceDisplay to Application Launcher
[LOG 08:06:56.926] ScaleModList: listSize 123 maxListSize 428
[LOG 08:06:56.980] [ResourceDisplay] OnAppStarted(): id: -1211336
[LOG 08:06:56.981] [GenericAppFrame] Reposition 0.18 94624
[LOG 08:06:56.982] [ResourceDisplay] OnAppStarted(): id: 463628
[LOG 08:06:56.982] ResourceDisplay already exist, destroying this instance
[LOG 08:06:56.983] [UIApp] OnDestroy: ResourceDisplay
[LOG 08:06:56.983] ScaleModList: listSize 123 maxListSize 428
[LOG 08:06:57.015] [UIApp] Adding ActionGroupsApp to Application Launcher
[LOG 08:06:57.017] ScaleModList: listSize 123 maxListSize 428
[LOG 08:06:57.017] [UIApp] Adding Missions App to Application Launcher
[LOG 08:06:57.020] ScaleModList: listSize 123 maxListSize 387
[LOG 08:06:57.020] CURRENCY WIDGET False False False
[LOG 08:06:57.025] [UIApp] OnDestroy: CurrencyWidgetsApp
[LOG 08:06:57.043] [ActionGroupsApp] OnAppStarted(): id: -1211360
[LOG 08:06:57.046] [GenericAppFrame] Reposition 0.2442271 94626
[LOG 08:06:57.046] [UIApp] Adding DeltaVApp to Application Launcher
[LOG 08:06:57.048] ScaleModList: listSize 123 maxListSize 346
[LOG 08:06:57.048] [MissionsApp] OnAppStarted(): id: -1211348
[LOG 08:06:57.048] MissionsApp does not execute in this game mode, destroying this instance
[LOG 08:06:57.048] [UIApp] OnDestroy: Missions App
[LOG 08:06:57.049] ScaleModList: listSize 123 maxListSize 346
[LOG 08:06:57.067] [GenericAppFrame] Reposition 0.2672426 94627
[WRN 08:06:57.114] HighlightingSystem : Edge Highlighting requires AA to work!
[LOG 08:06:57.114] [UIApp] Adding Cargo to Application Launcher
[LOG 08:06:57.116] ScaleModList: listSize 123 maxListSize 346
[LOG 08:06:57.116] [UIApp] Adding Construction to Application Launcher
[LOG 08:06:57.118] ScaleModList: listSize 123 maxListSize 305
[LOG 08:06:57.118] [UIApp] Adding KSPedia to Application Launcher
[LOG 08:06:57.121] ScaleModList: listSize 123 maxListSize 264
[WRN 08:06:57.121] HighlightingSystem : Edge Highlighting requires AA to work!
[LOG 08:06:57.189] [ApplicationLauncher] SetHidden:
[LOG 08:06:57.190] ScaleModList: listSize 123 maxListSize 305
[LOG 08:06:57.439] Flight State Captured
[LOG 08:06:57.439] Saving Achievements Tree...
[LOG 08:06:57.440] [MessageSystem] Save Messages
[LOG 08:06:57.458] Game State Saved as persistent
[LOG 08:07:01.258] [Ore Train Bug]: ground contact! - error. Moving Vessel  down -0.269m
[LOG 08:07:01.259] Unpacking Ore Train Bug
[LOG 08:07:01.260] [WorldStabilizer] INFO: off rails: Mark2Cockpit: alt: 70.9487682849867; radar alt: 1.64062762260437; alt: 70.9487682849867
[LOG 08:07:01.260] [WorldStabilizer] DETAIL: onVesselGoOffRails:line 0 :: mission time: 0
[LOG 08:07:01.260] [WorldStabilizer] DETAIL: onVesselGoOffRails:line 0 :: checking if we're inside the hangar
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: getClosestForeignPart:line 0 :: closest part for direction 0: 1, distance: 2
[LOG 08:07:01.261] [WorldStabilizer] DETAIL: checkIfInsideHangar:line 0 :: doesn't look like we're inside the hangar
[LOG 08:07:01.267] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:07:01.268] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.208479; bottomPoint = (3.8, -4.3, 3.9); topLength = 1.423693; topPoint = (0.0, 0.8, 8.3)
[LOG 08:07:01.313] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 100
[LOG 08:07:01.313] [WorldStabilizer] DETAIL: findAnchoredParts:line 0 :: Looking for anchors in Mark2Cockpit
[LOG 08:07:01.313] [WorldStabilizer] DETAIL: findAnchoredParts:line 0 :: Found 0 anchors
[LOG 08:07:01.313] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: initial alt: 70.9487682849867; current alt = 70.6798487983178; moving up by: 0.268919486668892
[LOG 08:07:01.314] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: downward hit: UnityEngine.RaycastHit; collider = Kerbin Zn1232223233 (UnityEngine.MeshCollider)
[LOG 08:07:01.314] [WorldStabilizer] DETAIL: restoreInitialAltitude:line 0 :: Mark2Cockpit: no upward hit; moving up by 0.2 m just in case
[LOG 08:07:01.316] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 1.51095569133759; timer = 100
[LOG 08:07:01.321] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 99
[LOG 08:07:01.321] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 99; moving up
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.6438985; alt from top: (alt = 4.988273; collider = End09_Mesh); vessel height = 5.632172; minDownMovement = 0.1
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 4.988273; collider = End09_Mesh) and (alt = 4.981088; collider = runway_collider)
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.4439702; alt from top: (alt = 5.188201; collider = End09_Mesh); vessel height = 5.632172; minDownMovement = 0.1
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.188201; collider = End09_Mesh) and (alt = 5.18111; collider = End09_Mesh)
[LOG 08:07:01.322] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:07:01.323] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.2439699; alt from top: (alt = 5.388202; collider = End09_Mesh); vessel height = 5.632172; minDownMovement = 0.1
[LOG 08:07:01.323] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.388202; collider = End09_Mesh) and (alt = 5.38111; collider = runway_collider)
[LOG 08:07:01.323] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = -0.04396963; alt from top: (alt = 5.588202; collider = runway_collider); vessel height = 5.632172; minDownMovement = 0.1
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: hit colliders: (alt = 5.588202; collider = runway_collider) and (alt = 5.58111; collider = End09_Mesh)
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: Moving up: Mark2Cockpit by 0.2
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: alt from top - height = 0.1561017; alt from top: (alt = 5.788273; collider = End09_Mesh); vessel height = 5.632172; minDownMovement = 0.1
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: Mark2Cockpit: minumum downmovement reached; alt from bottom: (alt = 5.788273; collider = End09_Mesh)
[LOG 08:07:01.324] [WorldStabilizer] DETAIL: moveUp:line 0 :: (alt = 0.1560298; collider = End09_Mesh); new alt = Mark2Cockpit; alt from top = (alt = 5.78111; collider = runway_collider)
[LOG 08:07:01.327] [VesselMover] INFO: [Move Launch Controller]: Hiding Editor GUI
[LOG 08:07:01.328] [UIMasterController]: ShowUI
[LOG 08:07:01.386] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 98; moving down
[LOG 08:07:01.386] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=ea95ee21-e279-4557-9a5b-dafda9b34984
[LOG 08:07:01.389] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:07:01.389] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 3.949168; bottomPoint = (0.4, -4.5, 1.0); topLength = 1.693363; topPoint = (-0.8, 0.4, 9.0)
[LOG 08:07:01.389] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.4876661; collider = End09_Mesh)
[LOG 08:07:01.389] [WorldStabilizer] DETAIL: moveDown:line 0 :: Moving down: Mark2Cockpit by 0.3876661; alt = 0.4876661; timer = 98; radar alt = 2.44240784645081; alt from top = 6.137825
[LOG 08:07:01.396] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 97; moving down
[LOG 08:07:01.396] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=ea95ee21-e279-4557-9a5b-dafda9b34984
[LOG 08:07:01.400] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:07:01.400] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 3.94133; bottomPoint = (3.3, -4.3, 4.3); topLength = 1.693955; topPoint = (-0.4, 0.4, 8.8)
[LOG 08:07:01.400] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0.009409713; collider = End09_Mesh)
[LOG 08:07:01.400] [WorldStabilizer] DETAIL: moveDown:line 0 :: downmovement for Mark2Cockpit is below threshold (0.009409713<0.1); leaving as is: 0.009409713
[LOG 08:07:01.430] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 96; moving down
[LOG 08:07:01.430] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=ea95ee21-e279-4557-9a5b-dafda9b34984
[LOG 08:07:01.433] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = wheelMed; upward part = LargeTank
[LOG 08:07:01.433] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 4.110953; bottomPoint = (3.4, -4.3, 4.2); topLength = 1.694033; topPoint = (-0.4, 0.4, 8.8)
[LOG 08:07:01.434] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: hit different colliders: (alt = 4.256414; collider = Kerbin Zn1232223233) and (alt = 5.613189; collider = End09_Mesh)
[LOG 08:07:01.434] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 4.256414; collider = Kerbin Zn1232223233)
[LOG 08:07:01.434] [WorldStabilizer] DETAIL: moveDown:line 0 :: Moving down: Mark2Cockpit by 4.156414; alt = 4.256414; timer = 96; radar alt = 2.09111332893372; alt from top = 5.613189
[LOG 08:07:01.436] [F: 94696]: [wheelMed] Collision Enhancer Punch Through - vel: 18.6469
[LOG 08:07:01.436] [F: 94696]: [wheelMed] Collision Enhancer Punch Through - vel: 20.77341
[LOG 08:07:01.437] [F: 94696]: [wheelMed] Collision Enhancer Punch Through - vel: 49.84357
[LOG 08:07:01.437] [F: 94696]: [wheelMed] Collision Enhancer Punch Through - vel: 52.11354
[LOG 08:07:01.437] [F: 94696]: [cargoContainer] Collision Enhancer Punch Through - vel: 49.09011
[LOG 08:07:01.437] cargoContainer Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.511] [F: 94696]: [ServiceBay.125.v2] Collision Enhancer Punch Through - vel: 49.2108
[LOG 08:07:01.511] ServiceBay.125.v2 Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.513] [F: 94696]: [Mark2Cockpit] Collision Enhancer Punch Through - vel: 51.55672
[LOG 08:07:01.513] Mark2Cockpit Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.529] [F: 94696]: [batteryBankLarge] Collision Enhancer Punch Through - vel: 38.73302
[LOG 08:07:01.530] batteryBankLarge Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.532] [F: 94696]: [batteryBankLarge] Collision Enhancer Punch Through - vel: 45.22504
[LOG 08:07:01.532] batteryBankLarge Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.533] [F: 94696]: [rtg] Collision Enhancer Punch Through - vel: 28.79684
[LOG 08:07:01.533] rtg Exploded!! - blast awesomeness: 32
[LOG 08:07:01.534] [F: 94696]: [rtg] Collision Enhancer Punch Through - vel: 30.1373
[LOG 08:07:01.535] rtg Exploded!! - blast awesomeness: 32
[LOG 08:07:01.536] [F: 94696]: [noseCone] Collision Enhancer Punch Through - vel: 49.59134
[LOG 08:07:01.537] noseCone Exploded!! - blast awesomeness: 0.5
[LOG 08:07:01.538] [WorldStabilizer] DETAIL: stabilize:line 0 :: Mark2Cockpit: timer = 95; moving down
[LOG 08:07:01.538] [WorldStabilizer] DETAIL: moveDown:line 0 :: Recalculating bounds for vessel Mark2Cockpit; id=ea95ee21-e279-4557-9a5b-dafda9b34984
[LOG 08:07:01.539] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; furthest downward part = Mark2Cockpit; upward part = Mark2Cockpit
[LOG 08:07:01.539] [WorldStabilizer] DETAIL: findBoundPoints:line 0 :: vessel = Mark2Cockpit; bottomLength = 2.54325; bottomPoint = (0.8, -0.5, -2.9); topLength = 0.6057504; topPoint = (-0.7, -0.6, -1.8)
[LOG 08:07:01.539] [WorldStabilizer] DETAIL: moveDown:line 0 :: Mark2Cockpit: raycast including parts; hit collider: (alt = 0; collider = no hit)
[LOG 08:07:01.539] [WorldStabilizer] DETAIL: moveDown:line 0 :: downmovement for Mark2Cockpit is below threshold (0<0.1); leaving as is: 0
[LOG 08:07:01.588] LargeTank Exploded!! - blast awesomeness: 1.6875
[LOG 08:07:01.590] LargeTank Exploded!! - blast awesomeness: 1.6875
[LOG 08:07:01.595] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.595] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.595] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.595] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.595] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.596] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.596] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.596] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.612] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.612] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.612] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.612] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.612] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.613] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.614] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.629] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 90
[LOG 08:07:01.632] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.632] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.774] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.774] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.828] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:01.828] Part wheelMed exited collision with collisionEnhancer, but it wasn't in collision count list!
[LOG 08:07:01.828] Part wheelMed exited collision with collisionEnhancer, but it wasn't in collision count list!
[LOG 08:07:01.828] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:01.916] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 80
[LOG 08:07:02.178] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 70
[LOG 08:07:02.431] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 60
[LOG 08:07:02.678] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 50
[LOG 08:07:02.939] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 40
[LOG 08:07:03.189] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 30
[LOG 08:07:03.449] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 20
[LOG 08:07:03.548] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:03.548] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:03.708] [WorldStabilizer] DETAIL: stabilize:line 0 :: Stabilizing; v = Mark2Cockpit; radar alt = 3.00785946846008; timer = 10
[LOG 08:07:03.913] [WorldStabilizer] DETAIL: FixedUpdate:line 0 :: Stopping stabilizing Mark2Cockpit
[LOG 08:07:04.018] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:04.018] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:04.109] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:04.109] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:04.665] Part wheelMed exited collision with End09_Mesh, but it wasn't in collision count list!
[LOG 08:07:04.665] Part wheelMed exited collision with runway_collider, but it wasn't in collision count list!
[LOG 08:07:08.514] [VesselMover] INFO: [Move Launch Controller]: Showing Editor GUI
[LOG 08:07:08.514] Game Paused!
[LOG 08:07:08.514] [UIMasterController]: ShowUI
[LOG 08:07:08.514] [FlightGlobals]: Active Vessel is dead. Saving not impossible but not advisable unless leaving flight.
[WRN 08:07:08.528] [FlightPersistence]: Vessel Ore Train Bug not saved because it was dead.
[LOG 08:07:08.529] Flight State Captured
[LOG 08:07:08.529] Saving Achievements Tree...
[LOG 08:07:08.530] [MessageSystem] Save Messages
[LOG 08:07:08.540] Game State Saved to saves/test_ts_1111/persistent
[LOG 08:07:08.542] [VesselMover] INFO: [Move Launch Controller]: Showing Editor GUI
[LOG 08:07:08.542] Game Unpaused!
[LOG 08:07:08.543] [VesselMover] INFO: [Move Launch Controller]: Showing Editor GUI
[LOG 08:07:08.543] Game Paused!
[LOG 08:07:08.544] [UIMasterController]: ShowUI
[LOG 08:07:08.577] [VesselMover] INFO: [Move Launch Controller]: Hiding Editor GUI
[LOG 08:07:10.877] [FlightDriver]: Flight State Reverted to Prelaunch.
[LOG 08:07:10.882] Game State Saved as persistent
[LOG 08:07:10.882] [MessageSystem] Load Messages
[LOG 08:07:10.884] [UIMasterController]: HideUI
[LOG 08:07:10.896] [HighLogic]: =========================== Scene Change : From FLIGHT to EDITOR =====================

@Lisias
Copy link
Author

Lisias commented Feb 2, 2021

I wonder it's something related to auto-struts? There must be a reason to wheels be involved on the mess...

I was intuitively on the right path, I think.

It's a fact that moving the SEQ9 and ServiceBay out of the path between the (crewed) root path and the heaviest part "fixes" the problem. And it's a fact that by removing the wheels, the ICA doesn't happens.

The detail I missed is that every wheel is autostruted into the heaviest part.

So the first chain on the chain of events that leads to the ICA is the wheels, finding its way into the Heaviest Part.

I'm guessing that in order to reach the Heaviest part, the Wheel's code needs to start on the root part. And this closes the link I think:

  1. Wheel searches the craft for the heaviest part.
    • The search must start somewhere, and I think the root part is the starting point
  2. If the root part is crewaable, and on the path into the heaviest part there's a SEQ9 and a Cargo Container (and something else that still unknown), we have an ICA

So, whatever is blowing up at first, it should be on the autostrut code that finds the heaviest part.

On a wild guess, perhaps there's something wrong on the Inventory Module and Cargo modules? Perhaps this mishap is being triggering by the order in which the parts are searched? Or perhaps by the order in which the Life Cycle callbacks are called, and the we have a race condition?

@Lisias
Copy link
Author

Lisias commented Feb 2, 2021

Well, something in common with the affected part is the use of the ModuleInventoryPart. It's essentially incompatible with ModuleCargoPart (as Cargo is removed from parts that have both).

[LOG 20:36:33.598] PartLoader: Compiling Part 'Squad/Parts/Cargo/CargoContainers/cargoContainer/cargoContainer'
[WRN 20:36:33.608] [Part]: Cannot have ModuleCargoPart and ModuleInventoryPart on same Part [cargoContainer'. Removed ModuleCargoPart

So I decided to try something: I removed the ModuleInventoryPart from all parts of the game to see if something changes on the bugged craft.

Well... On loading the craft, the GUI became unresponsive for the most part - I could not load, launch, make a new craft or even leave the editor, as these buttons were disabled. Looking on the KSP.log, I found it being spammed with what follows:

[EXC 20:31:32.953] ArgumentException: The Object you want to instantiate is null.
    UnityEngine.Object.Instantiate[T] (T original) (at <7d9ec060e791409ab3eb85c61e312ed6>:0)
    ProtoCrewMember.get_kerbalModule () (at <dcd149aee9c64162a3bb6c8525068846>:0)
    ProtoCrewMember.InventoryMass () (at <dcd149aee9c64162a3bb6c8525068846>:0)
    Part.FixedUpdate () (at <dcd149aee9c64162a3bb6c8525068846>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    KSPe.Util.Log.UnityLogDecorator:UnityEngine.ILogHandler.LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

This may corroborate my (new) hypothesis with something wrong with ModuleInventoryPart - there're hardcoded support demanding it on some parts of KSP (bad move, if you ask my opinion). So it's perfectly possible that some hardcoded support is failing to handle some borderline situation (still to be detected) and causing the ICA.

It worths to mention that one of the triggers for the ICA ie having a crewable part as the root part.

Yeah, it's a guess and it may be just a coincidente - but at the moment, it's the best guess I have.

Now I need to figure out a way to test this properly...

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Oukey, another shot into the water.

I used this patch to remove PartModuleInventory from the parts I used on the Bugged craft file:

@PART[Mark1Cockpit,cargoContainer,ServiceBay_125_v2]:FINAL
{
	-MODULE[ModuleInventoryPart],* { }
}

But the ICA is still happening.

Hardcoding support for ModuleInventoryPart is still a pretty bad move IMHO, but it's unrelated to the problem at hand.

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Removing ModuleCargoPart and ModuleCargoBay from the used parts didn't improved the situation neither.

@PART[Mark2Cockpit,cargoContainer,ServiceBay_125_v2]:FINAL
{
	-MODULE[ModuleCargoPart],* { }
}

@PART[Mark2Cockpit,cargoContainer,ServiceBay_125_v2]:FINAL
{
	-MODULE[ModuleCargoBay],* { }
}

I will keep butchering these parts to see what I get.

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Removing crew support from the Mark1 Cockpit didn't improved the situation. DAMN. I'm running out of options...

@PART[Mark2Cockpit]:FINAL
{
	@CrewCapacity = 0
	-MODULE[ModuleCommand],* { }
}

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

On a side note...

In all these years in this vital industry, is the first time I noticed that the Mk1 Inline Cockpit is called Mark2Cockpit on the config file.... =P

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Aw, crap... Let's go nuclear on this shit.

@PART[Mark2Cockpit]:FINAL
{
	@CrewCapacity = 0
	-INTERNAL,* { }
}

@PART[Mark2Cockpit,cargoContainer,ServiceBay_125_v2]:FINAL
{
	-MODULE,* { }
}

And, nope. It didn't improved the situation.

Whatever is going on here, it's not related to crew or any module. I being able to solve the problem by NOT using a crewable part it's probably due a coincidence - the affected parts (Mk1 Cockpit Inline and Mk1 Crew Cabin) have this problem and they only happen to also have crew....

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Well, back to square one again.

Modules and Crew are not part of the problem. POINT. I reduced the affected parts to be essentially Meshes with Mass, Colliders and Attachment points (and resources when available), and yet my bugged craft file insists on blowing up on launch.

Humm... Resources...

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Nope, removing resources from the affected parts didn't improved the situation.

@PART[Mark2Cockpit,cargoContainer,ServiceBay_125_v2]:FINAL
{
	-RESOURCE,* { }
}

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Oukey, now really back to square one.

What we know to this point:

  1. The craft need to have wheels
  2. The craft need to have a Mark1 Inline Cockpit or a Mk1 CrewCabin as root part
    • Other parts were not tested, and having Crew is not a trigger
    • On the affected craft file, rerooting to any other part solved the problem (as the NoseCone, but any other did the trick)
  3. The craft need to have a SEQ9 and a Service Bay 1.25 between the root part and the heaviest part.
  4. The craft file appears to have to be made on KSP 1.10 by some weird reason
  5. Removing all modules and resources from the affected parts didn't improved the situation.
    • Modules are not the source of the problem.
  6. KDIFFing the 1.11 rebuilt craft and the 1.10 bugged craft revealed only marginal differences on:
    • part
    • persistentId
    • pos, attpos
    • rot, attRot, attRot0
    • link, attN
  7. Whatever is borking, it's inducing the craft to be placed on the PQS ground level disregarding any static with colliders (and so the craft end up being placed under the runway, launch pad, etc).
  8. Forcing the launch with Vessel Mover is excruciatingly slow, with Vessel Mover lowering the craft a single meter every many seconds (5, more or less).

Referencing the KDIFF3 screenshot here for convenience:

Obviously, the order in which the parts are listed on both files also differs, but I reordered the bugged craft to mimic the working one, and it didn't improved the situation - so the order of the parts on the file appears to be not an issue here.

The remaining options are the values mentioned above. One (or more) of them are the cause of this problem - they must be injecting some problem on the code that looks for the heaviest part triggered by the wheels.

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

HA!!! Gotcha!

it's not a problem on importing crafts from previous versions, it's a problem on the KSP that it's affecting all versions - but the problem is manifesting itself at different times on each KSP release!!! :D

I simplified the craft to the minimum where the problem is triggered - disregarding functionality or purpose.

The following posts will depict each use case!

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

** For the KSP 1.10 made craft**

This is how the craft made on KSP 1.10 ended up:
screenshot10
Simplified Craft Bugged 1101.craft.zip

And this is the very same craft made Ok to work on 1.11.1!
screenshot11
Simplified Craft Bugged 1101 Made OK.craft.zip

To make things easier on KDIFF, I repositioned the LargeTank to be on the same line of the Bugged version.
Simplified Craft Bugged 1101 Made OK.mangled.craft.zip

And this is what KDIFF tells me about the differences:
Screen Shot 2021-02-03 at 12 13 31

On the whole file, the only difference on the parts are small variances on the pos value due roundings, the link pointer and the attN value.

This is the second relevant set of differences from these two files:
Screen Shot 2021-02-03 at 12 15 30

Only minor "cosmetic" differences are present on the LargeTank part (rot, pos, etc).

The source of the problem appears to be on the strutOcto's attN value.

faulty config:

	link = LargeTank_4294084374
	link = strutCube_4294200172
	srfN = srfAttach,strutOcto_4294118914,TrussSquareSmall,1.36080003|0|0,1|0|0,1.36080003|0|0
	attN = top,Null_0_0|0.128734395|0_0|1|0_0|0.625649154|0_0|1|0
	attN = bottom,LargeTank_4294084374_0|-0.128734395|0_0|-1|0_0|-0.625649154|0_0|-1|0

good config:

	link = wheelMed_4294172880
	link = wheelMed_4294151200
	link = strutCube_4294200172
	srfN = srfAttach,strutOcto_4294118914,TrussSquareSmall,1.36080003|0|0,1|0|0,1.36080003|0|0
	attN = top,Null_0_0|0.128734395|0_0|1|0_0|0.625649154|0_0|1|0
	attN = bottom,Null_0_0|-0.128734395|0_0|-1|0_0|-0.625649154|0_0|-1|0

On a wild guess, we can't have wheels and heavy parts together on the octoStrut....

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Now I'm going to check the craft remade from scratch on KSP 1.11.1.

This craft file works fine as is on KSP 1.11.1:
screenshot13
Simplified Craft Ok 1111.craft.zip

Then I just moved the LargeTank on the hear octostrut as I made on the "bugged" craft file:
screenshot14
Simplified Craft Ok 1111 Still OK.craft.zip

To make things easier on KDIFF3, I mangled this file to make the LargeTank be on the same line of the original craft file: Simplified Craft Ok 1111 Still OK.craft.mangled.zip

Interestingly, this thing still works!
screenshot15

KDIFFing both files revelated only the obvious: the link and attN just migrate from the front strutOcto to the hear one. Weirdly enough, we have no ICA on this file.

So I decided to try to break this craft file again, and came to this:
screenshot16
Simplified Craft Ok 1111 Made Bad.craft.zip

And the thingy blew up on an ICA! This is the "OK" file with the front wheels removed.

Yet more interestingly, by removing the front wheels from the "Still OK" craft file, ICA doesn't happens!!
screenshot17

But by reverting to Editort and then moving the LargeTank back to the front octoStrut, we have ICA again!
screenshot18
screenshot20

And I think this settle the matter!

My last hypothesis has proved wrong, the problem doesn't happen by having Wheels and a Heavy Part on the same octoStrut. The problem happens by having wheels somewhere, and having a heavy weight on the octoStrut nearest the root part!

@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Well, we have a deterministic way to reproduce the problem on two different craft files.

Besides having the same vessel, the different from the two different craft files is the order in which the parts were cloned and attached to the craft being built. I don't remember the order I used on the original one I made on KSP 1.10.x (I think I started with an octoStrut....), but I'm pretty sure that when I rebuilt the craft on KSP 1.11, I built it "on the right" order:

  1. Started with the MkeCockpit as root part
  2. Added the noseCone
  3. Added the remaining parts in the exact order as they are attached on the previous part.

The key is the root part - by some reason, rerooting the Made Bad craft to the LargeTank, fixes the ICA!
screenshot21
screenshot22
Simplified Craft Ok 1111 Made Bad Made Ok again.craft.zip

I tried to reroot this craft to the noseCone, that worked before but this time didn't - the ICA was still happening with the noseCone as root part.

@Lisias Lisias added the unrelated This is something on some other Add'On. label Feb 3, 2021
@Lisias
Copy link
Author

Lisias commented Feb 3, 2021

Marking this as unrelated, as I zeroed the problem inside KSP's attachment code. Something is not working properly when heavy parts are being placed on octoStruts under certain conditions.

@Lisias
Copy link
Author

Lisias commented Feb 10, 2021

This is to remind me to keep an eye on this issue on bugs.kerbal:

https://bugs.kerbalspaceprogram.com/issues/27194

@Lisias
Copy link
Author

Lisias commented Feb 10, 2021

Interaction with the same vessel parts appears to do not play a role on this bug.

screenshot34

screenshot35

I think that the issue 27194 may be misdiagnosed. Or perhaps, happening on a very specific set of parts completely unrelated to my issue.

@Lisias Lisias added this to the 2.4.9.0 milestone Nov 21, 2021
@Lisias
Copy link
Author

Lisias commented Nov 21, 2021

Moving this one to the 2.4.9.x series, following the ROAD MAP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Not My Fault Not my Fault! I'm innocent! :) unrelated This is something on some other Add'On.
Projects
None yet
Development

No branches or pull requests

1 participant