Project

General

Profile

Bug #21515

Stuck docking port - can cause game to hang

Added by m_creech about 5 years ago. Updated over 4 years ago.

Status:
Need More Info
Severity:
Low
Assignee:
Category:
Gameplay
Target version:
-
Start date:
03/07/2019
% Done:

0%

Version:
Platform:
Windows
Expansion:
Core Game
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

A science lab lander was flown to Minmus with a small rover connected beneath. After landing, the rover was detached and then docked to one of the two small docking ports connected radially on the lander's base. At that point, other tasks were demanding attention. When focus was brought back to the lab, clicking undock in the UI menu caused a small jolt in the rover, but no detachment. The undock button remained in the menu, but subsequent presses had no effect. Checking the save file showed the lab & rover as still connected (dockee / docker). This lander / rover stack was tested on Kerbin prior to launch and did not show the bug. The glitch only showed up after reloading the craft.

After some research, a manual fix of the save file was tried by switching the dockee / docker states. The game refused to load the craft, hanging on a black loading screen with the solar system graphic spinning. It was possible to revert to the quicksave from that point. A second attempted fix with Mythos' KML tool showed that there indeed is something amiss in how the docking ports and their parent parts are attached, but the auto fix produced results identical to the manual fix. The error detected by the KML tool did not appear in a file saved prior to docking the rover. It was discovered at this point that simply springing the bug could cause the game to refuse to reload the ship from the Space Center or Tracking Station.

The problem was narrowed down somewhat by connecting a second rover to one of the docking ports to see if it showed different behavior, and it did. The original rover is preattached to a small docking port on the bottom of the lander via a cubic octagonal strut. This rover would reproduce the bug. The second rover was connected port-to-port radially, and continued to behave normally after shifting focus out of physics range and reloading the lander.

No work-arounds have been successful, my thinking is the error is related to the cubic octagonal strut becoming the "parent" for the rover.

2 image files are attached, the first is the Null Reference Exception after the first undock attempt. The second is the Stack Overflow Exception for all subsequent tries. The craft files for the original and test versions of the ship are included also. If testing the craft on Kerbin, make sure to hack gravity down close to Minmus-level (.1g or less). At 1g, the test will be a little spectacular and brief.

Windows 10 64 bit, Steam install. Craft originally built in 1.6.0 with error reproduced in 1.6.1.

nullrefexc.png (182 KB) nullrefexc.png 1st undock try m_creech, 03/07/2019 11:45 PM
stackoverexc.png (309 KB) stackoverexc.png all tries after m_creech, 03/07/2019 11:46 PM
Lab Lander.craft (172 KB) Lab Lander.craft original craft file m_creech, 03/07/2019 11:47 PM
Lab Lander fixer.craft (230 KB) Lab Lander fixer.craft 2nd rover added for comparison m_creech, 03/07/2019 11:47 PM
invert surface node.png (118 KB) invert surface node.png successful docking showed this warning m_creech, 11/10/2019 05:09 AM
console nullref.png (384 KB) console nullref.png console view of the bug appearing m_creech, 11/10/2019 05:09 AM
index & flowgraph error.png (295 KB) index & flowgraph error.png apparently when the craft doubled - flowgraph m_creech, 11/10/2019 05:09 AM
z-fighting & extra engines.png (563 KB) z-fighting & extra engines.png things all going wibbily-wobbly m_creech, 11/10/2019 05:09 AM
test rover lander - COS.craft (77.7 KB) test rover lander - COS.craft the basic version, has error m_creech, 11/18/2019 05:09 AM
test rover lander A.craft (79.3 KB) test rover lander A.craft adds a stack separator, decouple by staging, has error m_creech, 11/18/2019 05:10 AM
test rover lander B.craft (79.1 KB) test rover lander B.craft adds a small docking port to the rover, no error m_creech, 11/18/2019 05:11 AM
test rover lander C.craft (77.8 KB) test rover lander C.craft swaps the COS for a small nose cone, no error m_creech, 11/18/2019 05:12 AM
44290
44291
50289
50290
50291
50292

History

#1 Updated by m_creech about 5 years ago

Edited to add: No mods

#2 Updated by victorr over 4 years ago

  • Status changed from New to Need More Info
  • Assignee set to victorr

Thanks for the report. We've made some changes in the latest updates to the game and would like your feedback on this issue. Thanks.

#3 Updated by m_creech over 4 years ago

50289
50290
50291
50292

After being notified of the status change, I tested the original craft file in the Sandbox game created when version 1.6 was released. Current game version is 1.8.1.2694. The issue is still present.

The craft was launched from the SPH to the runway. Gravity was set at 11%. Two kerbal passengers were moved away from the craft, one to the top of the VAB, the second to the launchpad, both within range of the craft. Docking / undocking of the rover was attempted successfully. At that point the launchpad kerbal was jetpacked out beyond 2.5km from the craft, but still within focus range of the VAB kerbal. The point of doing this was to have the whole scenario revertable without multiple save points.

Attempting to undock the rover, after cycling back to the craft from that distant kerbal, triggered the bug as described in the first post. After that, cycling through the kerbals and back to the craft seemed to cause the craft to become doubled. Four engines appeared in the staging stack where the craft has only two, there was considerable z-fighting evident, and the craft began sliding across the surface at .2 m/s. Several screenshots of the craft and error messages are included.

The next test will be a simplified version created in a new Sandbox game. I will update with results.

#4 Updated by m_creech over 4 years ago

Tests completed with a simplified rover / lander in a 1.8 sandbox game. There is (apparently) an issue with the Cubic Octagonal Strut which causes the errors described. The method for testing depends on decoupling the rover from the lander, docking it to the lander at either radial docking port, and then unloading / loading the craft. Packing / unpacking is not enough to cause the error. Unloading can be verified via the console messages.

Four versions of the rover were tried, all craft files included here. The first was coupled to the lander with only a Cubic Octagonal Strut (COS), just like the original rover that showed the error. The second inserted a TS-06 Stack Separator between the lander & rover. The third added a small docking port to the rover on top of the COS. The fourth version replaced the COS with a Small Nose Cone. The first and second test rovers had the error, the third and fourth did not. The only difference between the versions was whether the last part in contact with the lander was a COS.

The workaround for this problem is straightforward, just don't initially couple a dockable craft to another via a COS. I don't know if the COS is the only part which has this problem. I have noticed that neither it, the Octagonal Strut, nor the FL-A5 adapter have the option to use autostrut during construction.

If testing the craft files: Hack gravity down to 11%, not necessary but makes jetpacking the kerbals possible. Decouple the rover by right-clicking the docking port. "Control from here" for the rover is on the 1 key. Turn on SAS to help keep the rover upright, it tends to tip in the low G with sharp turns. Using two kerbals to unload / load the craft in physics was described previously.

Also available in: Atom PDF