Skip to content

Crash during very high timewarp at space center #1703

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

Closed
MikeOnTea opened this issue Jan 29, 2018 · 2 comments
Closed

Crash during very high timewarp at space center #1703

MikeOnTea opened this issue Jan 29, 2018 · 2 comments
Labels
Milestone

Comments

@MikeOnTea
Copy link

MikeOnTea commented Jan 29, 2018

Having a probe on collision course with earth and then warp at 10 million speed (with betterTimeWarp) causes a crash. May be related to #1628. Does not crash at 100k warp for me.

Used mods with the save: RO/RP-0/RSS development versions for 1.3.1 plus their dependencies
procedural parts, b9 procedural wings, Realengines, RealChutes should hopefully be all needed part mods.

savegame.zip

INFO.20180129-224231.zip

JOURNAL.zip

part of ksp.log immediately before the crash:

[WRN 23:03:56.156] [F: 289842]: Vessel R-1 Probe crashed through terrain on Earth.
[LOG 23:03:56.156] -INFO- Tac.LifeSupportController[FFEE6242][5900.98]: Vessel Destroyed [ebd6cc3e-0e35-424f-a400-03695badd3b4] R-1 Probe
[LOG 23:03:56.157] [Vessel R-1 Probe]: Vessel was destroyed.
[WRN 23:03:56.157] [F: 289842]: Vessel R-1 Debris crashed through terrain on Earth.

@pleroy
Copy link
Member

pleroy commented Feb 3, 2018

Decoded stack trace:

numerics/fit_hermite_spline_body.hpp:85
physics/discrete_trajectory_body.hpp:179
ksp_plugin/vessel.cpp:431
ksp_plugin/vessel.cpp:191
ksp_plugin/plugin.cpp:756
base/thread_pool_body.hpp:80

So the check tells us that downsampling was not effective, which is indeed similar to #1628.

Sorry, something went wrong.

@pleroy pleroy added the bug label Feb 3, 2018
@pleroy pleroy modified the milestone: Cohen Feb 5, 2018
@pleroy
Copy link
Member

pleroy commented Feb 5, 2018

I think I have a theory.

We detect collisions in the force computations and bubble up a status to the integrator. The integrator squirrels away that status and keeps integrating no matter what. Once the desired time has been reached it returns the status. This is important to preserve the invariant that desired time has been reached. Anyway, so far so good because the trajectory of the pile-up is not downsampled.

Then we advance the time of the vessel. To do this we take the trajectory of the pile-up, which is probably quite chaotic, and use it to construct the trajectory of the vessel, which is downsampled. Things go downhill from there.

I am tempted to say: don't build a trajectory for a vessel that you are going to destroy anyway, but I am concerned that not calling Vessel::AdvanceTime in this case might break invariants...

Sorry, something went wrong.

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

No branches or pull requests

2 participants