EverestAPI / Everest

Everest - Celeste Mod Loader / Mod API
https://everestapi.github.io/
MIT License
356 stars 78 forks source link

Linux crash on everest versions after 4449 #731

Open Bqleine opened 9 months ago

Bqleine commented 9 months ago

My mods and Everest install are up to date

Yes

I have recreated the bug with only Everest OR a minimum number of mods enabled

Yes

Describe the bug

Starting from version 4451, I'm unable to launch everest using the olympus installer. It generates the following error :

Ver 1.4.0.0-fna [Everest: 4451-azure-9119c]
01/16/2024 13:03:55
System.NotImplementedException: The method or operation is not implemented.
   at MonoMod.Core.Platforms.Systems.LinuxSystem..ctor() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Core/Platforms/Systems/LinuxSystem.cs:line 46
   at MonoMod.Core.Platforms.PlatformTriple.CreateCurrentSystem() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Core/Platforms/PlatformTriple.cs:line 83
   at MonoMod.Core.Platforms.PlatformTriple.CreateCurrent() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Core/Platforms/PlatformTriple.cs:line 116
   at MonoMod.Utils.Helpers.InitializeValueWithLock[T,TParam](T& location, Object lock, IntPtr init, TParam obj) in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Utils/Helpers.cs:line 187
   at MonoMod.Core.Platforms.PlatformTriple.get_Current() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Core/Platforms/PlatformTriple.cs:line 113
   at MonoMod.Core.DetourFactory.CreateDefaultFactory() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Core/IDetourFactory.cs:line 80
   at MonoMod.Utils.Helpers.InitializeValue[T,TParam](T& location, IntPtr init, TParam obj) in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.Utils/Helpers.cs:line 178
   at MonoMod.RuntimeDetour.DetourContext.GetDefaultFactory() in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.RuntimeDetour/DetourContext.cs:line 104
   at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target, DetourConfig config, Boolean applyByDefault) in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 146
   at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target, DetourConfig config) in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 113
   at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target) in /home/vsts/work/1/s/external/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 53
   at Celeste.Mod.Helpers.LegacyMonoMod.LegacyDynamicDataCompatHooks.InstallHook() in /home/vsts/work/1/s/Celeste.Mod.mm/Mod/Helpers/LegacyMonoMod/DynamicData.cs:line 18
   at Celeste.Mod.Helpers.LegacyMonoMod.LegacyMonoModCompatLayer.Initialize() in /home/vsts/work/1/s/Celeste.Mod.mm/Mod/Helpers/LegacyMonoMod/Misc.cs:line 19
   at Celeste.Mod.Everest.Boot() in /home/vsts/work/1/s/Celeste.Mod.mm/Mod/Everest/Everest.cs:line 413
   at Celeste.Celeste..ctor() in /home/vsts/work/1/s/Celeste.Mod.mm/Patches/Celeste.cs:line 274
   at Celeste.Celeste.orig_Main(String[] args)

Steps to reproduce

  1. Install everest in a version after 4449
  2. Start the game

Expected behavior

Game starts

Operating System

Void Linux

Everest Version

4451 to 4564

Mods required to reproduce

No response

Additional context

Error log with crashes from all versions I tried errorLog.txt

Kalobi commented 9 months ago

Uh this is a really cursed issue where the version of MonoMod we're using crashes if your hostname is less than 5 characters long because it gets the hostname in a bad way, and the default hostname on Void Linux is void. This is fixed on newer MonoMod versions, but we currently can't update because of a Mono.Cecil issue. To fix this, change your hostname to something longer with the hostname command, then restart X.Org (if you're using that).

Bqleine commented 9 months ago

Ah that's a fun issue :sweat_smile:, thanks for the help