Skip to content

Orphan StringNames at exit with minimal project #1848

@wolsabang

Description

@wolsabang

Godot version

4.5.stable

godot-cpp version

4.5.stable

System information

Ubuntu 24.04

Issue description

When using gd-extensions "Orphan StringName" are shown is shown at the exit for many RefCounted objects and Nodes.
The issue can be reproduced by simply building the "godot-cpp-template" and running godot with "--verbose" .

Steps to reproduce

use Ubuntu Linux 24.04

create project template

mkdir build
git clone https://github.com/godotengine/godot-cpp-template.git
cd godot-cpp-template

replace godot-cpp to work with godot 4.5

rm -Rf godot-cpp
git clone https://github.com/godotengine/godot-cpp.git
git checkout tags/godot-4.5-stable

in CMakeLists.txt add example_class that is already provided in the repository

target_sources(${LIBNAME}
    PRIVATE
    src/register_types.cpp
    src/register_types.h
    src/example_class.h
    src/example_class.cpp
)

build

cd ../../build
cmake ../godot-cpp-template -DCMAKE_BUILD_TYPE=Debug
make

double check that godot-cpp-template/demo/bin/example.gdextension points to "EXTENSION-NAME.linux.template_debug.x86_64.so"

Run

cd godot-cpp-template/demo
/opt/Godot_v4.5-stable_linux.x86_64 --verbose example.tscn

exit the application with "x".

observe console log
...
PulseAudio: context terminated
Orphan StringName: ExampleClass (static: 0, total: 2)
Orphan StringName: RefCounted (static: 1, total: 3)
Orphan StringName: Object (static: 1, total: 3)
Orphan StringName: ClassDB (static: 1, total: 3)
StringName: 4 unclaimed string names at exit.


### Minimal reproduction project

[minproject.zip](https://github.com/user-attachments/files/22375507/minproject.zip)

[outputlog.txt](https://github.com/user-attachments/files/22375509/outputlog.txt)

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