Repository: godot
Issue: Uncaught exception of type recursive_mutex lock failed: Invalid argument
Labels: bug,topic:core,crash

### Tested versions

Godot v4.4.dev.mono (a852d037f)

### System information

Godot v4.4.dev.mono (a852d037f) - Pop!_OS 22.04 LTS on Wayland - X11 display driver, Multi-window, 3 monitors - Vulkan (Forward+) - dedicated Intel(R) Arc(tm) A750 Graphics (DG2) - AMD Ryzen 7 5800X 8-Core Processor (16 threads)

### Issue description

Sometimes the game will crash when started from the godot editor.  This is what is logged when it crashes:

```
Initialize godot-rust (API v4.4.dev.mono.custom_build, runtime v4.4.dev.mono.custom_build)
Initialize godot-rust (API v4.4.dev.mono.custom_build, runtime v4.4.dev.mono.custom_build)
Godot Engine v4.4.dev.mono.custom_build.a852d037f (2024-10-23 12:38:10 UTC) - https://godotengine.org
MESA-INTEL: warning: cannot initialize blitter engine
Vulkan 1.3.274 - Forward+ - Using Device #0: Intel - Intel(R) Arc(tm) A750 Graphics (DG2)

[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/tcroc/.local/share/Steam/linux64/steamclient.so' OK.
Did Steam initialize?: { "status": 20, "verbal": "Steam not running." }
Failed to initialize Steam. Steam not running.
ERROR: Cannot get class 'RustAppleLogin'.
   at: _instantiate_internal (core/object/class_db.cpp:550)
MQTT Client: Connecting!
MQTT Client: Connected!
MQTT Client: Finished async connect!
MQTT Client: Subscribed to direct topic!
Chat system healthy! State: Connected
X connection to :0 broken (explicit kill or server shutdown).
X connection to :0 broken (explicit kill or server shutdown).
ERROR: BUG: Unreferenced static string to 0: luminance_buffers
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssr
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssds
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: servers
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: luminance_buffers
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: color_upscaled
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: quarter_texture
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: half_texture
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: sky_buffers
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssil
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: reflection
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: final
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssao
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: back_color
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: back_depth
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: normal_roughness
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: VRS
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Fog
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: sdfgi
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: color_upscaled
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssil
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: reflection
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: final
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: rb_ssao
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: back_color
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: normal_roughness
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: VRS
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Fog
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: sdfgi
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: valign
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Physics2DConstraintSolveIslands
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Physics2DConstraintSetup
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: _skip_save_
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Physics3DConstraintSolveIslands
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Physics3DConstraintSetup
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: _request_gizmo_for_id
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: use_dynamic_gi
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: use_in_baked_light
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: _enter_world
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: markers
   at: unref (core/string/string_name.cpp:144)
ERROR: BUG: Unreferenced static string to 0: _compression
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: Variant
   at: unref (core/string/string_name.cpp:142)
ERROR: BUG: Unreferenced static string to 0: current_animation_changed
   at: unref (core/string/string_name.cpp:142)
libc++abi: terminating due to uncaught exception of type std::__1::system_error: recursive_mutex lock failed: Invalid argument
ERROR: BUG: Unreferenced static string to 0: project_settings_changed
   at: unref (core/string/string_name.cpp:144)
ERROR: Condition "err != VK_SUCCESS && err != VK_SUBOPTIMAL_KHR" is true. Returning: FAILED
   at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2537)
ERROR: BUG: Unreferenced static string to 0: FogVolumeGizmoPlugin
   at: unref (core/string/string_name.cpp:144)
ERROR: BUG: Unreferenced static string to 0: GeometryInstance3DGizmoPlugin
   at: unref (core/string/string_name.cpp:144)
libc++abi: terminating due to uncaught exception of type std::__1::system_error: recursive_mutex lock failed: Invalid argument
Error: nu::shell::coredump_error

  × program coredump error
     ╭─[/home/tcroc/dev/BlockyBallOT/submodules/godot-src/godot/godot.nu:142:5]
 141 │     print $"Running godot command: ($config.godot_bin) ($rest | str join ' ')"
 142 │     run-external $config.godot_bin ...$rest
     ·     ──────┬─────
     ·           ╰── /columns to nushell `Value`invalid e6
 143 │ }
     ╰────
```

**NOTE 1**

The error ``ERROR: Cannot get class 'RustAppleLogin'`` is expected.

**NOTE 2**

I'm running godot from a [nushell](https://github.com/nushell/nushell) terminal.  Hence the nushell error at the bottom.  That part of the log is simply nushell reporting back that the program it started crashed.

### Steps to reproduce

I have not yet found a way to consistently reproduce.  It seems to happen randomly.

### Minimal reproduction project (MRP)

N/A