How to get more information about a crash

Godot Version

4.4.1

Question

I’m looking for help with how to get more information about whatever is crashing my application. I do get some output, but either I don’t understand what it’s telling me, or it’s not complete enough to be useful. It looks like this:

Godot Engine v4.4.1.stable.custom_build - https://godotengine.org
OpenGL API 4.6 (Core Profile) Mesa 24.3.2-arch1.1 - Compatibility - Using Device: Intel - Mesa Intel(R) UHD Graphics (JSL)

ERROR: BUG: Unreferenced static string to 0: servers
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _picking_viewports
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: .
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: Variant
   at: unref (core/string/string_name.cpp:116)
ERROR: Pages in use exist at exit in PagedAllocator: N10StringName5_DataE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:169)
ERROR: BUG: Unreferenced static string to 0: current_animation_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: VideoStreamPlaybackTheora
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: autoshrink_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: frame_pre_draw
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: frame_post_draw
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _reset_state
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: SceneReplicationInterface
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: step_finished
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: process_frame
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: physics_frame
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: AudioStreamPlayerInternal
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _get_minimum_size
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: node_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: SceneCacheInterface
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: ThemeContext
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _draw_rect
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _draw
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: SceneRPCInterface
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _initialize
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: animation_player_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: fallback_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: animation_libraries_updated
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: mixer_applied
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: mixer_updated
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: animation_list_changed
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: caches_cleared
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: AudioStreamPlaybackWAV
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _recognize_path
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _exists
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _shaped_text_get_line_breaks
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _get_parameter_list
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: got_error
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _shortcut_input
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _unhandled_key_input
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: _unhandled_input
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: child_exiting_tree
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: child_entered_tree
   at: unref (core/string/string_name.cpp:116)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketLargeE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:169)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools12BucketMediumE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:169)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketSmallE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:169)
ERROR: 6 RID allocations of type '23NavMeshGeometryParser3D' were leaked at exit.
ERROR: 7 RID allocations of type '23NavMeshGeometryParser2D' were leaked at exit.
ERROR: BUG: Unreferenced static string to 0: @warning_ignore_restore
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: @warning_ignore_start
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: @warning_ignore
   at: unref (core/string/string_name.cpp:116)
ERROR: BUG: Unreferenced static string to 0: @icon
   at: unref (core/string/string_name.cpp:116)

It’s a custom compiled linux build with debug symbols and exceptions enabled (I compile it to add in a serial port module) - getting the same results in 4.4.1 stable and 4.5.1 dev 5. I don’t have issues on my dev system, but the target hardware it runs on (Beelink intel based mini PCs) I get random crashes. The compiled binary crashes and dumps the above info. I’m just trying to dig up how I can get more details that would point more to where things went wrong.

I could be wrong, but that looks like things with a refcount of zero having their refcount decremented. Between that and the PagedAllocator warning, my guess would be something scribbled on the memory backing some refcounted objects, and hilarity ensued.

Is that likely to be caused by something sloppy I did (and should be able to find)? Or is it internal engine handling of things that I can’t really affect?

I would have thought it’s probably an engine-internal bug that you’re triggering somehow, so you could probably “fix” it in your code, but it would still be lurking in there. This is probably one to post on the bug tracker, particularly if you can find a minimal reproduction.

It’s highly random, unfortunately. There’s no specific event that I can point to that always triggers it. If I leave it running in its basic ‘attract’ loop, it’s just looping through a few scenes over and over. Sometimes it crashes, and the time interval it takes to get to a crash is random. Pretty frustrating. That’s why I was hoping it was possible to dig further into it somehow.

This is definitely one for the bug tracker. I assume there’s a rarely-hit path somewhere in Godot’s source that leaves a landmine it steps on later. I imagine it’s going to require some memory tracing telemetry to run to ground.