I found some behavior in my own Godot 4 game which is easy to reproduce:

  1. Open Godot 4.1, I'm using Windows 10, 64bit
  2. Create a new project, I called it OrphanStringTest001
  3. Add a scene with an empty Control node
  4. Run once to make that scene the default
  5. Export the project for "Windows Desktop (Runnable)" with all default options, choose "Export Project..."
  6. Disable "Export With Debug" checkbox (this step is crucial)
  7. Run from your terminal with an argument: .\OrphanStringTest001.exe --verbose

After closing the app:

  • Result: tons of Orphan Stringname: ... messages
  • Expected: clean exit without any such warnings

Here's the full log (abbreviated the list of "Orphan" messages though), first on startup:

Godot Engine v4.1.stable.official.970459615 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
NVAPI: Disabled OpenGL threaded optimization successfully
Using "winink" pen tablet driver...
Shader 'CanvasSdfShaderGLES3' SHA256: 72cda41890bce2f09217c172023d31e735a3fee605bad83c8e63f1a981a36a77
Shader 'SkeletonShaderGLES3' SHA256: add3f03e6eebdffdf0073fae42195857307eddada333b82998642329511917a2
Shader 'ParticlesShaderGLES3' SHA256: 9bf432d37b0b4792d67aa9f577258845d4047e3f98e990aeca6fd20a868c4db2
Shader 'ParticlesCopyShaderGLES3' SHA256: c778843b0cd1c7ce4c621fa2b924f703ac4001faef0555114b81a76c264a6908
Shader 'CopyShaderGLES3' SHA256: b1bc5a355ed9bda23f291956f121e0535b4e81b54cdac398412d200e6133161f
Shader 'CanvasShaderGLES3' SHA256: 007cddfcf35f7d57b219cffec53f6a7d9fe7a1979be4db64c6450cfac6000053
Shader 'CanvasOcclusionShaderGLES3' SHA256: 968915a469db9a7d505be274e8060c8288c15a5865baeb8362b3b0e2cacb16f3
Shader 'SceneShaderGLES3' SHA256: 7757391c487ac94cfa6418166bd5fdacce470f09394c1a2a875e878c8c5d8596
Shader 'SkyShaderGLES3' SHA256: 1fe105946e63973aecf5198091930c2bdb17778012ef0253e325ade3a297e6c8
Shader 'CubemapFilterShaderGLES3' SHA256: 2b651c285a02b7d4221af1827e1613c03e73e600ebc40b9e6a0b22bb855bd75f
OpenGL API 3.3.0 NVIDIA 528.49 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce GTX 1080
WASAPI: Activated output_device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 480
WASAPI: min_period_frames = 480
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
Loaded system CA certificates

And after exiting the "game" it adds:

XR: Clearing primary interface
XR: Removed interfaceNative mobile
XR: Removed interfaceOpenXR
Orphan StringName: variant_booleanize
Orphan StringName: string_new_with_utf8_chars_and_len
Orphan StringName: OP_MODULE
Orphan StringName: KEY_SYSREQ
Orphan StringName: file_access_store_buffer

    <<<< ABBREVIATED >>>>

Orphan StringName: string_to_latin1_chars
Orphan StringName: KEY_PERCENT
Orphan StringName: Key
Orphan StringName: KEY_BRACELEFT
StringName: 658 unclaimed string names at exit.

This seems like a problem, and my "real" game has nearly 4000 of those "unclaimed string names" at exit. Then again, since this happens in an empty project with default settings, it might just be "normal" and expected behavior?

My questions: what do these log messages mean, should I worry about them, and if so, how should I fix this?


1 Answer 1


The issue you're describing can be found on the Godot GitHub here, created February 2023 and still open per the time of asking your question. It seems like it is a regression in the engine that is still being investigated. I wouldn't worry for now unless you are exporting your games with a console, where the amount of text dumped may lengthen your shutdown time considerably.

  • \$\begingroup\$ Thanks! This is a proper answer, at least at this point in time, I think. I thought I had major memory leaks that I needed to take care of, but it seems I have memory leaks I don't need to take care of for now 😅 - good to know it's just this. \$\endgroup\$
    – Jeroen
    Commented Jul 13, 2023 at 19:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .