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

Principia on RSS crashes game on new game creation #4065

Closed
ConstantCrashSuffering opened this issue Aug 12, 2024 · 9 comments
Closed

Principia on RSS crashes game on new game creation #4065

ConstantCrashSuffering opened this issue Aug 12, 2024 · 9 comments

Comments

@ConstantCrashSuffering
Copy link

Mod list:

Advanced Jet Engine (AdvancedJetEngine v2.20.0)
B9 Aerospace Procedural Wings - Fork (B9-PWings-Fork 3:0.46.0)
BetterTimeWarpContinued (BetterTimeWarpCont 2.3.13)
Breaking Ground (BreakingGround-DLC 1.7.1)
ClickThrough Blocker (ClickThroughBlocker 1:2.1.10.21)
Community Resource Pack (CommunityResourcePack v112.0.1)
Distant Object Enhancement /L (DistantObject v2.2.0.2)
Distant Object Enhancement /L default config (DistantObject-default v2.2.0.2)
Environmental Visual Enhancements Redux (EnvironmentalVisualEnhancements 3:1.11.7.2)
Ferram Aerospace Research Continued (FerramAerospaceResearchContinued 3:0.16.1.2)
Flight Manager for Reusable Stages (FMRS) Continued (FMRSContinued 1.2.9.5)
Hangar Extender (HangerExtenderExtended 3.6.0.2)
Harmony 2 (Harmony2 2.2.1.0)
Kerbal Changelog (KerbalChangelog v1.4.2)
Kerbal Joint Reinforcement Continued (KerbalJointReinforcementContinued v3.7.5.0)
Kerbal Reusability Expansion (SpaceXLegs 2.9.3)
Kerbalism (Kerbalism 3.19)
Kerbalism - RealismOverhaul Config (Kerbalism-Config-RO v1.2.19.0)
Kopernicus Planetary System Modifier (Kopernicus 2:release-1.12.1-211)
KSC Switcher (KSCSwitcher v2.2.0.0)
KSP Community Fixes (KSPCommunityFixes 1.35.2)
KSPBurst (KSPBurst v1.5.5.1)
Making History (MakingHistory-DLC 1.12.1)
MechJeb 2 (MechJeb2 2.14.3.0)
MechJeb and Engineer for all! (MechJebForAll 1.3.0.7)
ModularFlightIntegrator (ModularFlightIntegrator 1.2.10.0)
Module Manager (ModuleManager 4.2.3)
PlanetShine (PlanetShine 0.2.6.6)
PlanetShine - Default configuration (PlanetShine-Config-Default 0.2.6.6)
Procedural Fairings (ProceduralFairings 1:v6.6.2.0)
Procedural Parts (ProceduralParts v2.5.9.0)
RCS Build Aid (RCSBuildAid v1.0.6)
Real Fuels (RealFuels 1:v15.9.0.0)
Real Plume (RealPlume 2:v13.3.2)
Real Solar System (RealSolarSystem v20.1.3.0)
Real Solar System Textures - 16384 x 8192 (RSSTextures16K v18.6.1)
RealChute for Stock (RealChuteForStock v1.4.9.4)
RealChute Parachute Systems (RealChute v1.4.9.4)
RealHeat (RealHeat v5.1)
Realism Overhaul (RealismOverhaul v17.11.0.0)
RecoveryController (RecoveryController 0.0.4.2)
Reentry Particle Effect Renewed (ReentryParticleEffect 1.9.1.1)
RemoteTech (RemoteTech v1.9.12)
ROUtils (ROUtils v1.0.1.0)
RSS DateTime Formatter (RSSDateTimeFormatter v1.12.1.0)
RSS Visual Enhancements - High Resolution (RSSVE-HR v2.2.0)
Scatterer (Scatterer 3:v0.0878)
Scatterer Default Config (Scatterer-config 3:v0.0878)
Scatterer Sunflare (Scatterer-sunflare 3:v0.0878)
SmokeScreen - Extended FX Plugin (SmokeScreen 2.8.14.0)
Solver Engines plugin (SolverEngines v3.14.0)
SpaceTux Library (SpaceTuxLibrary 0.0.8.6)
Textures Unlimited (TexturesUnlimited 1.6.1.27)
Toolbar Controller (ToolbarController 1:0.1.9.11)
Trajectories (Trajectories v2.4.5.3)
TweakScale Redistributable (TweakScale-Redist v2.4.8.3)

If no incompatible mods are installed, can someone link me where to get the error log? Game is simply crashing without providing any further details

@pleroy
Copy link
Member

pleroy commented Aug 12, 2024

Please follow the instructions here to report bugs.

@ConstantCrashSuffering
Copy link
Author

Error occurred at 2024-08-25_132408.
C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\KSP_x64.exe, run by rickg.

[...]

Disk space data for 'C:\Users\rickg\AppData\Local\Temp\Squad\Kerbal Space Program\Crashes\Crash_2024-08-25_112402050': 66574389248 bytes free of 999288729600 total.

[...]

Stack Trace of Crashed Thread 13520:
0x00007FFAEB0E2F58 (MSVCP140) Thrd_yield
0x00007FFAC98208FA (principia) principia__VesselVelocity
0x00007FFAC97FCFE4 (principia) principia__VesselVelocity
0x00007FFAC97606F3 (principia) principia__VesselVelocity
0x00007FFAC95C61EE (principia) principia__CatchUpLaggingVessels
0x000002C54BC81EB7 (principia.ksp_plugin_adapter) principia.ksp_plugin_adapter.Interface.CatchUpLaggingVessels()
0x000002C54BC4A6AB (principia.ksp_plugin_adapter) d__129.MoveNext()
0x000002C23C03ADBC (UnityEngine.CoreModule) UnityEngine.SetupCoroutine.InvokeMoveNext()
0x000002C23C03AEE7 (UnityEngine.CoreModule) .runtime_invoke_void_object_intptr()
0x00007FFA7F95D6D0 (mono-2.0-bdwgc) mono_get_runtime_build_info
0x00007FFA7F8E2932 (mono-2.0-bdwgc) mono_perfcounters_init
0x00007FFA7F8EB98F (mono-2.0-bdwgc) mono_runtime_invoke
0x00007FFA80A09A6D (UnityPlayer) UnityMain
0x00007FFA80A06E23 (UnityPlayer) UnityMain
0x00007FFA809ED170 (UnityPlayer) UnityMain
0x00007FFA807823AD (UnityPlayer) UnityMain
0x00007FFA808CB0E7 (UnityPlayer) UnityMain
0x00007FFA808CB183 (UnityPlayer) UnityMain
0x00007FFA808CD5BC (UnityPlayer) UnityMain
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8068272E)
0x00007FFA8068272E (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8068148A)
0x00007FFA8068148A (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8068553C)
0x00007FFA8068553C (UnityPlayer) (function-name not available)
0x00007FFA8068902B (UnityPlayer) UnityMain
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF684E211F2)
0x00007FF684E211F2 (KSP_x64) (function-name not available)
0x00007FFB0B07257D (KERNEL32) BaseThreadInitThunk
0x00007FFB0CF8AF28 (ntdll) RtlUserThreadStart

[...]

Call Stack for Thread 6852:
0x00007FFB0CFD0024 (ntdll) NtWaitForSingleObject
0x00007FFB0A5A9A9E (KERNELBASE) WaitForSingleObjectEx
0x00007FFA80FD2522 (UnityPlayer) UnityMain
0x00007FFA80973DDA (UnityPlayer) UnityMain
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA80640885)
0x00007FFA80640885 (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8064BD9D)
0x00007FFA8064BD9D (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8064BE78)
0x00007FFA8064BE78 (UnityPlayer) (function-name not available)
0x00007FFA80972D68 (UnityPlayer) UnityMain
0x00007FFB0B07257D (KERNEL32) BaseThreadInitThunk
0x00007FFB0CF8AF28 (ntdll) RtlUserThreadStart

[...]

Call Stack for Thread 10060:
0x00007FFB0CFD0604 (ntdll) NtOpenFile
0x00007FFB0CF5EAF2 (ntdll) RtlReleaseRelativeName
0x00007FFB0CF5E7FA (ntdll) RtlReleaseRelativeName
0x00007FFB0CF4FB91 (ntdll) LdrLoadAlternateResourceModuleEx
0x00007FFB0CF35E7B (ntdll) LdrResSearchResource
0x00007FFB0CF35774 (ntdll) LdrResSearchResource
0x00007FFB0A5AE4BC (KERNELBASE) FindClose
0x00007FFB0A5AD1C1 (KERNELBASE) GetFileVersionInfoSizeExW
0x00007FFB0A61BF60 (KERNELBASE) GetFileVersionInfoSizeA
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8065C8EF)
0x00007FFA8065C8EF (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8065D03F)
0x00007FFA8065D03F (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8065D64A)
0x00007FFA8065D64A (UnityPlayer) (function-name not available)
ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFA8065D776)
0x00007FFA8065D776 (UnityPlayer) (function-name not available)
0x00007FFB0A6D0BBC (KERNELBASE) UnhandledExceptionFilter
0x00007FFB0CFD96BD (ntdll) RtlCopyMemory
0x00007FFB0CFBF667 (ntdll) _C_specific_handler
0x00007FFB0CFD504F (ntdll) _chkstk
0x00007FFB0CF4E866 (ntdll) RtlFindCharInUnicodeString
0x00007FFB0CFD403E (ntdll) KiUserExceptionDispatcher
0x00007FFAEB0E2F58 (MSVCP140) Thrd_yield
0x00007FFAC96E3873 (principia) principia__VesselVelocity
0x00007FFAC9768D34 (principia) principia__VesselVelocity
0x00007FFAC96CB7EF (principia) principia__VesselVelocity
0x00007FFB0A479333 (ucrtbase) recalloc
0x00007FFB0B07257D (KERNEL32) BaseThreadInitThunk
0x00007FFB0CF8AF28 (ntdll) RtlUserThreadStart

Everything else is without errors. I ran KSP with administrator permissions. Tell me what else do you need, I don't know where Principia's window is, but I believe it refers to in-game once it's loaded. If that's the case, then I can't record journal since the game crashes before loading.

@eggrobin
Copy link
Member

eggrobin commented Aug 25, 2024

That looks like snippets the error.log from some crash folder.
Random snippets of logs are not usable (in particular, we need the base address of the DLL to interpret the stack traces).
Please post the files you were asked to post.

Tell me what else do you need

You were told what we need already, please read the relevant section of the FAQ again: https://github.com/mockingbirdnest/Principia/wiki/Installing,-reporting-bugs,-and-frequently-asked-questions#reporting-bugs.

Give us Player.log (attach the entire file to this issue, don’t try to figure out what is relevant), the file from which you got what you posted (again, the file, not snippets), and the glog INFO file corresponding to that run of KSP.

@pleroy
Copy link
Member

pleroy commented Aug 25, 2024

How could the instructions for reporting bugs be clearer? "Put the contents of the [crash] folder on gist." We'll need all the files in that crash folder. Not bits and pieces of one file, not what you thought might be useful. Just the entire contents of all the files (that's crash.dmp, error.log and Player.log).

@ConstantCrashSuffering
Copy link
Author

No need to be rude. I had trouble enough finding where this thing is supposed to be. Answering your question, you could maybe be clearer by listing what items exactly you are referring to. One by one. Because I don't know if you are talking about LocalLow or about Local. Or if I have to do anything else, what specific steps do I need to take.

For example, upload these items:

All three at C:\Users\user\AppData\Local\Temp\Squad\Kerbal Space Program\Crashes\Crash_2024-08-25_113132639:
Crash.dmp crash.dmp
Error.log error.log
Player.log Player.log

At C:\Users\user\AppData\LocalLow\Squad\Kerbal Space Program:
Player.log

@eggrobin
Copy link
Member

 I don't know if you are talking about LocalLow or about Local

Neither do I, because this appears to have changed (I don’t think we hallucinated the path %USERPROFILE%\AppData\LocalLow\Squad\Kerbal Space Program\Crashes, so I guess this was the correct one at some point in the past decade).

listing what items exactly you are referring to

Thanks for this feedback; we are updating the guidelines in https://github.com/mockingbirdnest/Principia/pull/4081/files, they will now list the three files by name.

@eggrobin
Copy link
Member

Well, finding all the pieces of those Unity crashes is becoming an ever weirder puzzle: the Player.log from the crash folder has no stack, and seems to be truncated even before the Principia base address was emitted. The dump has a base address for principia.dll, namely 00007FFAC1310000; feeding that to the stacktrace decoder shows me the same thing as the dump, namely:

Iterator** const collided_vessels) {
journal::Method<journal::CatchUpLaggingVessels> m({plugin},
{collided_vessels});
CHECK_NOTNULL(plugin);
VesselSet collided_vessel_set;
plugin->CatchUpLaggingVessels(collided_vessel_set);
*collided_vessels =
void Plugin::CatchUpLaggingVessels(VesselSet& collided_vessels) {
CHECK(!initializing_);
// Start all the integrations in parallel.
std::vector<PileUpFuture> pile_up_futures;
for (auto* const pile_up : pile_ups_) {
pile_up_futures.emplace_back(
pile_up,
vessel_thread_pool_.Add([this, pile_up]() {
// Note that there cannot be contention in the following method as
// no two pile-ups are advanced at the same time.
return pile_up->DeformAndAdvanceTime(current_time_);
}));
}
// Wait for the integrations to finish and figure out which vessels collided
// with a celestial.
for (auto& pile_up_future : pile_up_futures) {
VesselSet& collided_vessels) {
PileUp const* const pile_up = pile_up_future.pile_up;
auto& future = pile_up_future.future;
future.wait();

This appears to be the same bug as https://discord.com/channels/319857228905447436/480397772248580098/1272550374384865292 reported by @Starcatcher2009.

The Player.log from LocalLow has a stack, which is different from the one in the error.log; it is presumably from a different crash; the timestamps look different, but also jump four hours at some point, so I am not sure what to make of those.

Interestingly, the version of MSVCP140 is the same as the one used by @Starcatcher2009: 14.36.32532.0.

@ConstantCrashSuffering, can you try updating your Visual C++ redistributable? https://aka.ms/vs/17/release/vc_redist.x64.exe (see https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version).

@ConstantCrashSuffering
Copy link
Author

Visual C++ redistributable x64 was the issue. Thanks for the help. Did I miss a readme or a dependencies document where it said it had to be installed? Maybe a popup on opening the game with the mod installed for the first time.

I understand that this was trivial for you, but I don't know what C++ is or how it works, and programming is something that is out of my reach, so sorry if it felt frustrating to help me. I thank you for your free work and for making this project open for everyone to enjoy. Take care.

@eggrobin
Copy link
Member

Did I miss a readme or a dependencies document where it said it had to be installed?
Maybe a popup on opening the game with the mod installed for the first time.

You did not miss anything, you had it installed (there would have been a popup if you hadn’t installed it).

It seems that you had a version from May 2023, whereas we are building for a very recent version.
This should not be a problem, the C++ runtime is supposed to be compatible across these versions.
It seems however that there were changes in the relevant parts of the code of Microsoft’s C++ runtime in the intervening time; perhaps they had a bug, and they have fixed it; alternatively, it is possible that they screwed up and introduced an incompatibility.

I understand that this was trivial for you

To be clear, this issue was not trivial at all; since @Starcatcher2009 had given us a similar crash dump, we had spent a few hours earlier today investigating this, eventually looking at Microsoft code rather than ours; once I got the right files I was able to tell that yours was the same issue.

I am glad that updating the C++ runtime helped; this seems to be one of these rare cases where, while it is someone else’s bug, they fixed it without us needing to lift a finger.

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

No branches or pull requests

3 participants