mockingbirdnest / Principia

𝑛-Body and Extended Body Gravitation for Kerbal Space Program
MIT License
746 stars 67 forks source link

Crash when clicking on rebase #4025

Open kwattt opened 3 weeks ago

kwattt commented 3 weeks ago

INFO.20240609-164451.17344.log ERROR.20240609-164451.17344.log FATAL.20240609-170324.17344.log

This happened when planning a second maneouver on a moon flyby, I clicked rebase and crashed without any alert box on screen.

pleroy commented 3 weeks ago

Thanks for reporting. Is this something that you know how to reproduce? If so could you give us a journal? I could paper over the bug, but I'd like to understand how we end up in this state.

kwattt commented 3 weeks ago

Hello, I managed to get a journal with the crash. I noticed a really high RAM spike before the crash, but never ran out of it. This time I got the crash just by planning the first maneouver, again on the moon.

INFO.20240610-195416.2432.log ERROR.20240610-195416.2432.log FATAL.20240610-200338.2432.log

Here is the zipped journal, uncompressed has a size of about 1.1gb https://drive.google.com/file/d/1RLH4E0QaIuvUPp_kcOmWL-SBEoJU-IA7/view?usp=sharing

kwattt commented 1 week ago

Same issue again, this time when I changed the reference to MCMF reference, i took a screenshot before the game closed if its worth, I also do have another journal, please let me know if you also need it and will upload it. ERROR.20240628-095242.22284.log FATAL.20240628-111934.22284.log INFO.20240628-095242.22284.log WARNING.20240628-095242.22284.log

KSP_x64_3IxBkzNHBe

pleroy commented 6 days ago

The latest log is more interesting as it points towards a singularity in the integrator. If you could upload the latest journal that would be great.

kwattt commented 6 days ago

Here it is https://drive.google.com/file/d/13QyGFaQ7OoLu7hzPTnHlRMT7P6La-LJR/view?usp=sharing

pleroy commented 6 days ago

Decoded stack track:

https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/base/push_pull_callback_body.hpp#L90-L90 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/ksp_plugin/interface_collision.cpp#L45-L45 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/ksp_plugin/plugin.cpp#L1029-L1054 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/physics/apsides_body.hpp#L458-L458 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/numerics/approximation_body.hpp#L247-L247 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/numerics/approximation_body.hpp#L127-L132 https://github.com/mockingbirdnest/Principia/blob/9fb31039dab1a147e9f302f3f333341117983056/numerics/polynomial_in_%D1%87%D0%B5%D0%B1%D1%8B%D1%88%D1%91%D0%B2_basis_body.hpp#L305-L307
pleroy commented 6 days ago

Interesting bit of the journal:

E0630 09:21:57.489698 30228 player.cpp:107] index: 58888953
[principia.journal.serialization.CollisionNewFlightPlanExecutor.extension] { in { plugin: 1719027084128 
celestial_index: 9 sun_world_position { x: 47003878981.001343 y: -2723705084.7652864 z: -141254979389.99554 } 
vessel_guid: "bae30dc4-c136-48e2-af6d-d33eb01b18ab" max_points: 64 } }
[principia.journal.serialization.CollisionNewFlightPlanExecutor.extension] { return { result: 1746217032704 } }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58888954
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { in { executor: 1746217032704 } }
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { out { latitude_in_degrees: 
-38.866553115290941 longitude_in_degrees: -72.801754301775276 } return { result: true } }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58888955
[principia.journal.serialization.CollisionSetRadius.extension] { in { executor: 1746217032704 radius: nan } }
[principia.journal.serialization.CollisionSetRadius.extension] { }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58888956
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { in { executor: 1746217032704 } }
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { out { latitude_in_degrees: 
-49.273857134070475 longitude_in_degrees: -93.984193263656508 } return { result: true } }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58889021
[principia.journal.serialization.CollisionSetRadius.extension] { in { executor: 1746217032704 radius: nan } }
[principia.journal.serialization.CollisionSetRadius.extension] { }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58889023
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { in { executor: 1746217032704 } }
[principia.journal.serialization.CollisionGetLatitudeLongitude.extension] { out { latitude_in_degrees: 
-45.734189037157428 longitude_in_degrees: -82.364727278886278 } return { result: true } }
E0630 09:21:57.489698 30228 player.cpp:107] index: 58889025
[principia.journal.serialization.CollisionSetRadius.extension] { in { executor: 1746217032704 radius: nan } }
[principia.journal.serialization.CollisionSetRadius.extension] { }
pleroy commented 5 days ago

What's happening is that the computation of the altitude of the terrain of the Moon at multiple pairs (latitude, longitude) returns NaN. This should not happen (obviously) and we couldn't reproduce it. It's also worth noting that no-one has reported anything similar.

Are you by any chance using a mod that changes the terrain of the Moon?