Skip to content

[bug] ExitGame command causes crash #128

@EnderHane

Description

@EnderHane
(12/24/2025 22:49:55) [Everest] [Info] [EverestSplash] Running splash on EverestSplash19656
(12/24/2025 22:49:56) [Everest] [Info] [EverestSplash] Font Renogare loaded
CELESTE : 1.4.0.0
(12/24/2025 22:49:56) [Everest] [Info] [boot] Active compatibility mode: None
(12/24/2025 22:49:56) [Everest] [Info] [core] Booting Everest
(12/24/2025 22:49:56) [Everest] [Info] [core] AppDomain: Celeste
(12/24/2025 22:49:56) [Everest] [Info] [core] VersionCelesteString: 1.4.0.0-fna [Everest: 6064-azure-b5257-stable]
(12/24/2025 22:49:56) [Everest] [Info] [core] SystemMemoryMB: 32529.035 MB
(12/24/2025 22:49:56) [Everest] [Info] [core] RuntimeVersion: 8.0.22
(12/24/2025 22:49:56) [Everest] [Info] [legacy-monomod] Initialized legacy MonoMod compatibility layer
(12/24/2025 22:49:56) [Everest] [Error] [core] Failed to enable Windows VT support!
(12/24/2025 22:49:56) [Everest] [Warn] [discord-game-sdk] Could not initialize Discord Game SDK!
--------------------------------
Discord.ResultException: InternalError
   at Discord.Discord..ctor(Int64 clientId, UInt64 flags) in DiscordGameSDK/Discord/Core.cs:line 1073
   at Celeste.Mod.Everest.DiscordSDK..ctor(Game game) in Celeste.Mod.mm/Mod/Everest/Everest.DiscordSDK.cs:line 67
(12/24/2025 22:49:56) [Everest] [Info] [core] Registered code module Celeste.Mod.Core.CoreModule for module Everest 1.6064.0.
(12/24/2025 22:49:56) [Everest] [Error] [core] Failed to enable Windows VT support!
(12/24/2025 22:49:56) [Everest] [Info] [core] Non-code module Celeste 1.4.0.0 registered.
(12/24/2025 22:49:56) [Everest] [Info] [discord-game-sdk] Discord Game SDK disposed
(12/24/2025 22:49:56) [Everest] [Info] [Everest.LuaBoot] Lua ready.
(12/24/2025 22:49:56) [Everest] [Info] [loader] Optional dependency SpeedrunTool 3.24.5 of mod CelesteTAS 3.47.0 not loaded! Delaying.
(12/24/2025 22:49:56) [Everest] [Info] [loader] Loading mods with unsatisfied optional dependencies (if any)
(12/24/2025 22:49:56) [Everest] [Info] [core] Dependencies of mod CelesteTAS 3.47.0 are now satisfied: loading
(12/24/2025 22:49:56) [Everest] [Info] [modasmctx] Loaded assembly CelesteTAS-EverestInterop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null from module 'CelesteTAS' path 'bin/CelesteTAS-EverestInterop.dll'
(12/24/2025 22:49:56) [Everest] [Info] [modasmctx] Loaded assembly StudioCommunication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null from module 'CelesteTAS' path 'bin\StudioCommunication.dll'
(12/24/2025 22:49:56) [Everest] [Info] [modasmctx] Loaded assembly MemoryPack.Core, Version=1.21.1.0, Culture=neutral, PublicKeyToken=df4c250b14d82627 from module 'CelesteTAS' path 'bin\MemoryPack.Core.dll'
(12/24/2025 22:49:56) [Everest] [Info] [CelesteTAS] Celeste Studio version mismatch: Expected '3.10.0', found '<None>'. Installing current version...
(12/24/2025 22:49:57) [Everest] [Info] [core] Registered code module TAS.Module.CelesteTasModule for module CelesteTAS 3.47.0.
(12/24/2025 22:49:57) [Everest] [Info] [loader] Loaded 3 modules
(12/24/2025 22:49:57) [Everest] [Error] [CelesteTAS] Failed to install Studio
(12/24/2025 22:49:57) [Everest] [Error] [CelesteTAS] System.IO.IOException: Cannot create 'O:\games\celeste\Celeste\CelesteStudio' because a file or directory with the same name already exists.
   at System.IO.FileSystem.CreateDirectory(String fullPath, Byte[] securityDescriptor)
   at System.IO.Directory.CreateDirectory(String path)
   at TAS.EverestInterop.StudioHelper.DownloadStudio() in CelesteTAS/Source/EverestInterop/StudioHelper.cs:line 263
   at TAS.EverestInterop.StudioHelper.<>c.<<Load>b__31_0>d.MoveNext() in CelesteTAS/Source/EverestInterop/StudioHelper.cs:line 168
FNA3D Driver: D3D11
D3D11 Adapter: NVIDIA GeForce RTX 4060 Ti
BEGIN LOAD
 - GFX LOAD: 46ms
 - MTN LOAD: 7ms
WINDOW-1920x1080
GAME DISPLAYED (in 115ms)
(12/24/2025 22:49:57) [Everest] [Info] [CelesteTAS/StudioCom] Starting communication...
(12/24/2025 22:49:57) [Everest] [Info] [CelesteTAS/StudioCom] Communication started
(12/24/2025 22:49:57) [Everest] [Info] [EverestSplash] Exiting splash...
(12/24/2025 22:49:57) [Everest] [Info] [EverestSplash] Splash done!
 - AUDIO LOAD: 332ms
 - GFX DATA LOAD: 15ms
 - MTN DATA LOAD: 23ms
 - DIA/FONT LOAD: 123ms
 - MODDED MTN LOAD: 0ms
 - MODDED MTN DATA LOAD: 0ms
 - LEVELS LOAD: 214ms
 - FASTTEXTURELOADING LOAD: 9ms
DONE LOADING (in 1300ms)
(12/24/2025 22:49:58) [Everest] [Info] [debugrc] Started DebugRC thread, available via http://localhost:32270/
(12/24/2025 22:50:05) [Everest] [Info] [CelesteTAS/StudioCom] Connected
(12/24/2025 22:50:25) [Everest] [Info] [CelesteTAS] Starting TAS: O:\games\celeste\TAS\tas.tas
(12/24/2025 22:50:27) [Everest] [Error] [CelesteTAS] Failed to find method 'OnExiting' with parameters (Celeste.Celeste, System.EventArgs) on type 'Celeste.Celeste'
(12/24/2025 22:50:27) [Everest] [Info] [CelesteTAS] Stopping TAS
(12/24/2025 22:50:27) [Everest] [Error] [core] Failed to enable Windows VT support!
(12/24/2025 22:50:27) [Everest] [Error] [crit-error-handler] >>>>>>>>>>>>>>> ENCOUNTERED A CRITICAL ERROR <<<<<<<<<<<<<<<
--------------------------------
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at TAS.Input.TasCommandAttribute.Execute(CommandLine commandLine, Int32 studioLine, String filePath, Int32 fileLine) in CelesteTAS/Source/TAS/Input/Command.cs:line 47
   at TAS.Input.InputController.AdvanceFrame(Boolean& couldPlayback) in CelesteTAS/Source/TAS/Input/InputController.cs:line 173
   at TAS.Manager.Update() in CelesteTAS/Source/TAS/Manager.cs:line 191
   at Hook<System.Void TAS.Playback.Core::On_MInput_Update(On.Monocle.MInput+orig_Update)>()
   at SyncProxy<System.Void Monocle.MInput:Update()>()
   at DMD<DMD<>?2027856::Monocle.Engine::Update>(Engine this, GameTime gameTime)
   at TAS.ExportGameInfo.EngineOnUpdate(orig_Update orig, Engine self, GameTime gameTime)
   at Hook<System.Void TAS.ExportGameInfo::EngineOnUpdate(On.Monocle.Engine+orig_Update,Monocle.Engine,Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at TAS.GameInfo.EngineOnUpdate(orig_Update orig, Engine self, GameTime gameTime)
   at Hook<System.Void TAS.GameInfo::EngineOnUpdate(On.Monocle.Engine+orig_Update,Monocle.Engine,Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at SyncProxy<System.Void Monocle.Engine:Update(Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at DMD<System.Void Celeste.Celeste:Update(Microsoft.Xna.Framework.GameTime)>(Celeste this, GameTime gameTime)
   at TAS.EverestInterop.AutoMute.CelesteOnUpdate(orig_Update orig, Celeste self, GameTime gameTime)
   at Hook<System.Void TAS.EverestInterop.AutoMute::CelesteOnUpdate(On.Celeste.Celeste+orig_Update,Celeste.Celeste,Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at TAS.Playback.Core.On_Celeste_Update(orig_Update orig, Celeste self, GameTime gameTime)
   at Hook<System.Void TAS.Playback.Core::On_Celeste_Update(On.Celeste.Celeste+orig_Update,Celeste.Celeste,Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at SyncProxy<System.Void Celeste.Celeste:Update(Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at Microsoft.Xna.Framework.Game.Tick()
   at Microsoft.Xna.Framework.Game.RunLoop()
   at Microsoft.Xna.Framework.Game.Run()
   at Monocle.Engine.RunWithLogging()
--------------------------------
System.PlatformNotSupportedException: Thread abort is not supported on this platform.
   at System.Threading.Thread.Abort()
   at TAS.Input.Commands.ExitGameCommand.ExitGame(CommandLine commandLine, Int32 studioLine, String filePath, Int32 fileLine) in CelesteTAS/Source/TAS/Input/Commands/ExitGameCommand.cs:line 16
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> END OF BACKED UP LOG FILE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Celeste/Everest Version: 1.4.0.0-fna [Everest: 6064-azure-b5257-stable]
Operating System: Microsoft Windows 10.0.26200 [win-x64]
.NET Runtime Description: .NET 8.0.22
Presentation Parameters: 1920x1080 Color windowed vsync
Graphics Adapater: '\\.\DISPLAY1' [G52] 2560x1440 Color

Managed Heap Size: 187.7793MB (committed: 199.11719MB)
Total Memory Usage: private=1.0947266GB system=1.2470703MB virtual=264.9873GB physical=477.61328MB paged=1.0947266GB
Peak Memory Usage: virtual=264.9873GB physical=1011.10156MB paged=1.5830078GB
Available Memory: 31.766602GB

Loaded Mods
(entries marked with * are known to not match latest on the database)
 - Everest: 1.6064.0-azure-b5257-stable [Celeste.Mod.Core.CoreModule]
 - Celeste: 1.4.0.0-fna
 - CelesteTAS: 3.47.0 [TAS.Module.CelesteTasModule]

Crash Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.PlatformNotSupportedException: Thread abort is not supported on this platform.
   at System.Threading.Thread.Abort()
   at TAS.Input.Commands.ExitGameCommand.ExitGame(CommandLine commandLine, Int32 studioLine, String filePath, Int32 fileLine) in CelesteTAS/Source/TAS/Input/Commands/ExitGameCommand.cs:line 16
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at TAS.Input.TasCommandAttribute.Execute(CommandLine commandLine, Int32 studioLine, String filePath, Int32 fileLine) in CelesteTAS/Source/TAS/Input/Command.cs:line 47
   at TAS.Input.InputController.AdvanceFrame(Boolean& couldPlayback) in CelesteTAS/Source/TAS/Input/InputController.cs:line 173
   at TAS.Manager.Update() in CelesteTAS/Source/TAS/Manager.cs:line 191
   at Hook<System.Void TAS.Playback.Core::On_MInput_Update(On.Monocle.MInput+orig_Update)>()
   at SyncProxy<System.Void Monocle.MInput:Update()>()
   at DMD<DMD<>?2027856::Monocle.Engine::Update>(Engine this, GameTime gameTime)
   at TAS.ExportGameInfo.EngineOnUpdate(orig_Update orig, Engine self, GameTime gameTime)
   at Hook<System.Void TAS.ExportGameInfo::EngineOnUpdate(On.Monocle.Engine+orig_Update,Monocle.Engine,Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at TAS.GameInfo.EngineOnUpdate(orig_Update orig, Engine self, GameTime gameTime)
   at Hook<System.Void TAS.GameInfo::EngineOnUpdate(On.Monocle.Engine+orig_Update,Monocle.Engine,Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at SyncProxy<System.Void Monocle.Engine:Update(Microsoft.Xna.Framework.GameTime)>(Engine , GameTime )
   at DMD<System.Void Celeste.Celeste:Update(Microsoft.Xna.Framework.GameTime)>(Celeste this, GameTime gameTime)
   at TAS.EverestInterop.AutoMute.CelesteOnUpdate(orig_Update orig, Celeste self, GameTime gameTime)
   at Hook<System.Void TAS.EverestInterop.AutoMute::CelesteOnUpdate(On.Celeste.Celeste+orig_Update,Celeste.Celeste,Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at TAS.Playback.Core.On_Celeste_Update(orig_Update orig, Celeste self, GameTime gameTime)
   at Hook<System.Void TAS.Playback.Core::On_Celeste_Update(On.Celeste.Celeste+orig_Update,Celeste.Celeste,Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at SyncProxy<System.Void Celeste.Celeste:Update(Microsoft.Xna.Framework.GameTime)>(Celeste , GameTime )
   at Microsoft.Xna.Framework.Game.Tick()
   at Microsoft.Xna.Framework.Game.RunLoop()
   at Microsoft.Xna.Framework.Game.Run()
   at Monocle.Engine.RunWithLogging()

Crash HResult: -2146232828
Inner exception (if any): System.PlatformNotSupportedException: Thread abort is not supported on this platform.
   at System.Threading.Thread.Abort()
   at TAS.Input.Commands.ExitGameCommand.ExitGame(CommandLine commandLine, Int32 studioLine, String filePath, Int32 fileLine) in CelesteTAS/Source/TAS/Input/Commands/ExitGameCommand.cs:line 16
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

Last stack frame: InvokeDirectByRefWithFewArgs at offset 322 in file:line:column <filename unknown>:0:0

Frame IL offset: 179
Frame native offset: 322

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions