Skip to content

[Bug]: MelonLoader makes Overcooked! 2 crash before startup on Linux #1202

Open

Description

@mickaelistria

All of the following criteria must be met

  • All Requirements must be installed.
  • Changed the title so that it doesn't just says "[Bug]: "
  • I have searched the GitHub issues for my bug, even in the closed issues.

All of the following are optional to answer

  • Tried reinstalling the Game.
  • Tried reinstalling MelonLoader.
  • Tried restarting PC.

Describe the issue.

I have installed Overcooked! 2 from Steam on Linux (Fedora 44). Everything is working fine. I want to install MelonLoader over it. I have run MelonLoader.Installer.Linux and installed MelonLoader 7.3 on Overcooked!2 (some other project seem successful with it: https://github.com/RizkyChandra/overcooked-2-mod#overcooked-2-trainer-melonloader-mod ).
However, just after installing MelonLoader (no mods, nothing beyond what installer did), I cannot start the game and instead have this error in log:

Log says

 
(Filename:  Line: 199)

Mono path[0] = '/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Managed'
Mono config path = '/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/etc'
[22:40:30.714] [WARNING] AccessTools.Method: Could not find method for type System.Exception and name PrepForRemoting and parameters 
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x310c95c0.so

[22:40:31.018] ------------------------------
[22:40:31.048] MelonLoader v0.7.3 Open-Beta
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/ntdll.dll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libntdll.dll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./ntdll.dll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./libntdll.dll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/ntdll.dll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/ntdll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libntdll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./ntdll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./libntdll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/ntdll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libntdll.dll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libntdll.dll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./libntdll.dll
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/./libntdll.dll.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libntdll.dll
[22:40:31.058] OS: Unix 7.2.5.200
[22:40:31.058] Hash Code: 299FFEE557A53F007B5BCEF4CCD23994F4E76F636A4DF86FCB1729D1296049D2
[22:40:31.058] ------------------------------
[22:40:31.232] Game Type: MonoBleedingEdge
[22:40:31.232] Game Arch: x64
[22:40:31.233] ------------------------------
[22:40:31.233] Command-Line: 
[22:40:31.233] ------------------------------
[22:40:31.233] Core::BasePath = /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2
[22:40:31.234] Game::BasePath = /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2
[22:40:31.234] Game::DataPath = /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data
[22:40:31.234] Game::ApplicationPath = /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2.x86_64
[22:40:31.234] Runtime Type: net35
[22:40:31.366] ------------------------------
[22:40:31.366] Game Name: Overcooked2
[22:40:31.366] Game Developer: Team17
[22:40:31.368] Unity Version: 2017.4.8f1
[22:40:31.368] Game Version: 1.0
[22:40:31.368] ------------------------------

Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x31514340.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x3153b710.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x31554920.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x3154a390.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x31559ce0.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x315b1300.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x315bbe40.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x315b9a20.so
Fallback handler could not load library /run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/data-0x315d5d20.so
[22:40:31.560] [ERROR] Failed to initialize MelonLoader
[22:40:31.564] [ERROR] [MelonLoader.Bootstrap] System.TypeInitializationException: An exception was thrown by the type initializer for MelonLoader.MelonPreferences ---> System.TypeInitializationException: An exception was thrown by the type initializer for MelonLoader.TomlMapper ---> System.TypeInitializationException: An exception was thrown by the type initializer for Tomlet.TomlSerializationMethods ---> System.TypeLoadException: Could not load type 'Typespec 0x1b000001'.
  at (wrapper managed-to-native) System.MonoType:GetMethodsByName (string,System.Reflection.BindingFlags,bool,System.Type)
  at System.MonoType.GetMethodImpl (System.String name, BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers) [0x00000] in <filename unknown>:0 
  at System.Type.GetMethod (System.String name, BindingFlags bindingAttr) [0x00000] in <filename unknown>:0 
  at Tomlet.TomlSerializationMethods..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Tomlet.TomletMain.RegisterMapper[LemonTuple`2] (Tomlet.Serialize`1 serializer, Tomlet.Deserialize`1 deserializer) [0x00000] in <filename unknown>:0 
  at MelonLoader.TomlMapper..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at MelonLoader.MelonPreferences..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at MelonLoader.Core.Initialize () [0x00000] in <filename unknown>:0 
  at MelonLoader.InternalUtils.BootstrapInterop.Initialize (IntPtr bootstrapHandle) [0x00000] in <filename unknown>:0 
**
GLib:ERROR:../../../glib/ghash.c:378:g_hash_table_lookup_node: assertion failed: (!g_atomic_ref_count_compare (&hash_table->ref_count, 0))
Stacktrace:


Native stacktrace:

	/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2_Data/Mono/x86_64/libmono.so(+0x9843a) [0x7ed9eba9843a]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(+0x19faf) [0x7f1aa7220faf]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(+0x74ccc) [0x7f1aa727bccc]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1d) [0x7f1aa7220e8d]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(abort+0x25) [0x7f1aa72087b2]
	/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x1bdc2) [0x7ed9eb112dc2]
	/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_assertion_message_expr+0x49) [0x7ed9eb16cc19]
	/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x3c0a5) [0x7ed9eb1330a5]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x2f15e) [0x7ed9ebfb315e]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x2f32a) [0x7ed9ebfb332a]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0xb8da) [0x7ed9ebf8f8da]
	/lib64/ld-linux-x86-64.so.2(+0x53ee) [0x7f1aa88893ee]
	/lib64/ld-linux-x86-64.so.2(+0x54cc) [0x7f1aa88894cc]
	/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x156) [0x7f1aa88857d6]
	/lib64/ld-linux-x86-64.so.2(+0xc598) [0x7f1aa8890598]
	/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0xa8) [0x7f1aa8885728]
	/lib64/ld-linux-x86-64.so.2(+0xca69) [0x7f1aa8890a69]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(+0x6f0c3) [0x7f1aa72760c3]
	/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0xa8) [0x7f1aa8885728]
	/lib64/ld-linux-x86-64.so.2(+0x1878) [0x7f1aa8885878]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(+0x6ebb2) [0x7f1aa7275bb2]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(dlopen+0x6a) [0x7f1aa727617a]
	/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2.x86_64() [0x1286a00]
	/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2.x86_64() [0x45f564]
	/tmp/pressure-vessel-libs-1lVKCV/lib64/MelonLoader.Bootstrap.so(+0x5daa7f) [0x7f1aa7ddaa7f]
	/tmp/pressure-vessel-libs-1lVKCV/lib64/MelonLoader.Bootstrap.so(+0xe2605) [0x7f1aa78e2605]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(+0x3680) [0x7f1aa720a680]
	/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x87) [0x7f1aa720a797]
	/tmp/pressure-vessel-libs-1lVKCV/lib64/MelonLoader.Bootstrap.so(+0xe2bdc) [0x7f1aa78e2bdc]
	/tmp/pressure-vessel-libs-1lVKCV/lib64/MelonLoader.Bootstrap.so(__libc_start_main+0x11e) [0x7f1aa78e252e]
	/run/media/mistria/229F5A9322A00041/steam/steamapps/common/Overcooked! 2/Overcooked2.x86_64() [0x46d208]

Debug info from gdb:


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

I tried to understand the error, but my knowledge of C# is too thin to help me.
Does anyone have any hint of a potential cause and solution?

Did you attach your log file?

Yes, I attached my log file to the text box above.

Activity

  1. added
    Bug / IssueSomething isn't working
    Work-in-ProgressThis issue or pull request is being worked on currently
    User SupportThis post was made to ask about an issue the user is having
    on Sep 15, 2026
  2. mickaelistria commented on Sep 22, 2026

    @mickaelistria
    Author

    I could investigate it and it seems rather independent from MelonLoader and entirely caused by an incompatibility of Tomlet with the Mono version (2.6.5.tarball) included in Overcooked 2.

    To build a Tomlet-only (no Unity, no MelonLoader) reproducer:

    Let's assume there is a OVERCOOKED_INSTALL_DIR environment variable pointing to the folder where Overcooked2 in installed, eg to /home/me/.steam/steam/steamapps/common/Overcooked! 2; and let's assume there is a random folder such as home/me/sandbox where to put some mess.

    Create a basic C program to start Mono programatically (so does the Overcooked2.x86_64 executable):

    Inspired from https://www.mono-project.com/docs/advanced/embedding/ . this will allow to have an executable able to start any .net program with the embedded mono from Overcooked2.

    Code:

    #include <mono/jit/jit.h>
    #include <mono/metadata/assembly.h>
    
    int main(int argc, char** argv) {
    	MonoDomain *domain = mono_jit_init ("Test random .NET program with embedded mono");
    	MonoAssembly *assembly = mono_domain_assembly_open (domain, argv[1]);
    	return mono_jit_exec (domain, assembly, argc - 1, argv + 1);
    }

    Compile it with gcc -I/usr/lib64/pkgconfig/../../include/mono-2.0 testMono.c -L"/$OVERCOOKED_INSTALL_DIR/Overcooked2_Data/Mono/x86_64" -l:libmono.so -o testMono

    Workaround library name trouble with ln -s "$OVERCOOKED_INSTALL_DIR/Overcooked2_Data/Mono/x86_64/libmono.so" "$OVERCOOKED_INSTALL_DIR/Overcooked2_Data/Mono/x86_64/libmono.so.0"

    Verify this works and get libmono version

    Under /home/me/sandbox/hello

    Hello.csproj

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net35</TargetFramework>
        <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
      </PropertyGroup>
    </Project>

    Hello.cs

    using System.Reflection;
    using System;
    
    namespace Hello {
    	class Hello {
    	  static void Main(string[] args)
    	  {
    			Type type = Type.GetType("Mono.Runtime");
    if (type != null)
    {
        MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
        if (displayName != null)
            Console.WriteLine(displayName.Invoke(null, null));
    }
    		}
    	}
    }

    The dotnet build it and then run it with our just built launcher and the embedded mono: MONO_PATH="$(pwd)/Overcooked2_Data/Managed" LD_LIBRARY_PATH="$(pwd)/Overcooked2_Data/Mono/x86_64:$LD_LIBRARY_PATH" ./testMono /home/mistria/sandbox/hello/bin/Debug/net35/Hello.exe
    Get the expected output 2.6.5 (tarball), confirming that we are indeed the embedded mono.

    Create a basic C# project that uses Tomlet and Framework version similar to Overcooked2

    Test.csproj

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net35</TargetFramework>
        <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
      </PropertyGroup>
    
      <ItemGroup>
      	<!-- Same as in Overcooked: `monodis -assembly "$(pwd)/MelonLoader/net35/Tomlet.dll" | grep Version` -->
        <PackageReference Include="Samboy063.Tomlet" Version="6.2.0" />
      </ItemGroup>
    
    </Project>

    and Test.cs

    using Tomlet;
    using Tomlet.Attributes;
    
    namespace Test {
    	
    	class MyClass {
    	    [TomlProperty("name")]
    	    public string Username { get; set; }
    	}
    	
    	class Test {
    	  static void Main(string[] args)
    	  {
    			var myClass = TomletMain.To<MyClass>("name=\"hello\""); //Requires a public, zero-argument constructor on MyClass.
    			System.Console.WriteLine(myClass.Username);
    		}
    	}
    }

    compile with dotnet build, assume output is /home/me/sandbox/bin/Debug/net35/Test.exe.

    Run test with embedded mono

    From $OVERCOOKED_INSTALL_DIR, run MONO_PATH="$(pwd)/Overcooked2_Data/Managed" LD_LIBRARY_PATH="$(pwd)/Overcooked2_Data/Mono/x86_64:$LD_LIBRARY_PATH" ./testMono /home/mistria/sandbox/bin/Debug/net35/Test.exe

    EXPECTED: console saying "hello"
    GOT:

    type 0x1f not handled in do_mono_metadata_parse_type on image /home/mistria/sandbox/bin/Debug/net35/Tomlet.dll
    The class Typespec 0x1b000001 could not be loaded, used in 
    
    Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Tomlet.TomlSerializationMethods ---> System.TypeLoadException: Could not load type 'Typespec 0x1b000001'.
      at (wrapper managed-to-native) System.MonoType:GetMethodsByName (string,System.Reflection.BindingFlags,bool,System.Type)
      at System.MonoType.GetMethodImpl (System.String name, BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers) [0x00000] in <filename unknown>:0 
      at System.Type.GetMethod (System.String name, BindingFlags bindingAttr) [0x00000] in <filename unknown>:0 
      at Tomlet.TomlSerializationMethods..cctor () [0x00000] in <filename unknown>:0 
      --- End of inner exception stack trace ---
      at Tomlet.TomletMain.To (System.Type what, Tomlet.Models.TomlValue value, Tomlet.TomlSerializerOptions options) [0x00000] in <filename unknown>:0 
      at Tomlet.TomletMain.To (System.Type what, System.String tomlString, Tomlet.TomlSerializerOptions options) [0x00000] in <filename unknown>:0 
      at Tomlet.TomletMain.To[MyClass] (System.String tomlString, Tomlet.TomlSerializerOptions options) [0x00000] in <filename unknown>:0 
      at Test.Test.Main (System.String[] args) [0x00000] in <filename unknow
    
  3. mickaelistria commented on Sep 23, 2026

    @mickaelistria
    Author

    This is caused by SamboyCoding/Tomlet#65 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bug / IssueSomething isn't workingUser SupportThis post was made to ask about an issue the user is havingWork-in-ProgressThis issue or pull request is being worked on currently

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions