godot: Running demo hangs entire machine requiring hard reboot

I downloaded and built the latest source (commit - 5abb53be689475cf368b1d032bd3aecbe0f18051) on Ubuntu 20.04.1 LTS.

I then downloaded the demos. I tried to pick a simple game to run. So I went with “avoid the creeps”.

By the way its odd that run doesn’t work unless you run edit first. The error message is refreshingly helpful but why doesn’t run just load the assets etc. on demand?

I got a black rectange in the middle of the screen with the shape of the play area and then my whole machine froze. No mouse, no keyboard, no ctrl-alt-del. The clock on the top bar stopped ticking. So I was forced to do a hard reset.

This is not a good start and will turn off many new users.

I’m not sure if this is a problem with the game engine or the demo.

Being a glutton for punishment after rebooting I tried again. This time I got the game menu for “avoid the creeps” but clicking on the start button did nothing.

So I tried loading a different game. I tried multiplayer bomber but the host and join buttons did nothing visible. I tried the hexagonal game. Looks pretty but could not make anything happen using the keyboard or mouse.

The next one I tried hung my machine again.

I just tried physics based platformer and got a stack trace:

Editing project: /home/brucea/projects/godot/godot-demo-projects/2d/physics_platformer (::home::brucea::projects::godot::godot-demo-projects::2d::physics_platformer)
Godot Engine v4.0.dev.custom_build.5abb53be6 - https://godotengine.org
ERROR: Can't find layer: VK_LAYER_KHRONOS_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:157)
ERROR: Can't find layer: VK_LAYER_LUNARG_standard_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:157)
ERROR: Can't find layer: VK_LAYER_GOOGLE_threading
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:157)
DisplayServer::_create_window 0 want rect: 448, 240, 1024, 600 got rect 10, 45, 1024, 600
DisplayServer::_window_changed: 0 rect: 448, 277, 1024, 600
ERROR: Some texture bindings were not properly freed (leaked CanvasItems?)
   at: ~RasterizerCanvasRD (servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:2500)
brucea@Synergy:~/projects/godot/godot$  
DisplayServer::_window_changed: 0 rect: 0, 64, 1920, 1016
ERROR: Cannot open file 'res://.import/music.ogg-552a37c4bfe46d894cb8004cf1c345ad.oggstr'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
ERROR: Cannot open file 'res://.import/sound_coin.wav-e18cceeba8b7dc02bbb940b85bcad99a.sample'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
ERROR: Cannot open file 'res://.import/sound_explode.wav-536668d880bfb277b9e5253774598e9e.sample'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
ERROR: Cannot open file 'res://.import/sound_hit.wav-6c98c4eeb2c6ac3fc45dc4a7ebd8602f.sample'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
ERROR: Cannot open file 'res://.import/sound_jump.wav-7e05b84e4426c7461dd15838765e210b.sample'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
ERROR: Cannot open file 'res://.import/sound_shoot.wav-a37772efd1dbcd76c4fe35742f502bb7.sample'.
   at: get_dependencies (core/io/resource_format_binary.cpp:1031)
DisplayServer::_create_window 1 want rect: 702, 493, 516, 94 got rect 0, 0, 516, 94
ERROR: Attempted to free invalid ID: 0
   at: _free_internal (drivers/vulkan/rendering_device_vulkan.cpp:6853)
early out of data
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f0fb6af2210] (??:0)
[2] GDScriptAnalyzer::make_global_class_meta_type(StringName const&) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:2040 (discriminator 5))
[3] GDScriptAnalyzer::reduce_identifier(GDScriptParser::IdentifierNode*, bool) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:2288 (discriminator 1))
[4] GDScriptAnalyzer::reduce_binary_op(GDScriptParser::BinaryOpNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:1565)
[5] GDScriptAnalyzer::reduce_expression(GDScriptParser::ExpressionNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:1351)
[6] GDScriptAnalyzer::reduce_binary_op(GDScriptParser::BinaryOpNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:1571)
[7] GDScriptAnalyzer::reduce_expression(GDScriptParser::ExpressionNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:1351)
[8] GDScriptAnalyzer::resolve_if(GDScriptParser::IfNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:934)
[9] GDScriptAnalyzer::resolve_node(GDScriptParser::Node*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:769)
[10] GDScriptAnalyzer::resolve_suite(GDScriptParser::SuiteNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:927 (discriminator 2))
[11] GDScriptAnalyzer::resolve_function_body(GDScriptParser::FunctionNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:882)
[12] GDScriptAnalyzer::resolve_class_body(GDScriptParser::ClassNode*) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:718)
[13] GDScriptAnalyzer::resolve_program() (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:3267)
[14] GDScriptAnalyzer::analyze() (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_analyzer.cpp:3285)
[15] GDScript::reload(bool) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript.cpp:625)
[16] GDScriptCache::get_full_script(String const&, Error&, String const&) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript_cache.cpp:211)
[17] ResourceFormatLoaderGDScript::load(String const&, String const&, Error*, bool, float*, bool) (/home/brucea/projects/godot/godot/modules/gdscript/gdscript.cpp:2067)
[18] ResourceLoader::_load(String const&, String const&, String const&, bool, Error*, bool, float*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:190 (discriminator 6))
[19] ResourceLoader::_thread_load_function(void*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:216 (discriminator 4))
[20] ResourceLoader::load(String const&, String const&, bool, Error*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:580)
[21] ResourceLoaderText::load() (/home/brucea/projects/godot/godot/scene/resources/resource_format_text.cpp:459)
[22] ResourceFormatLoaderText::load(String const&, String const&, Error*, bool, float*, bool) (/home/brucea/projects/godot/godot/scene/resources/resource_format_text.cpp:1271)
[23] ResourceLoader::_load(String const&, String const&, String const&, bool, Error*, bool, float*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:190 (discriminator 6))
[24] ResourceLoader::_thread_load_function(void*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:216 (discriminator 4))
[25] ResourceLoader::load(String const&, String const&, bool, Error*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:580)
[26] ResourceLoaderText::load() (/home/brucea/projects/godot/godot/scene/resources/resource_format_text.cpp:459)
[27] ResourceFormatLoaderText::load(String const&, String const&, Error*, bool, float*, bool) (/home/brucea/projects/godot/godot/scene/resources/resource_format_text.cpp:1271)
[28] ResourceLoader::_load(String const&, String const&, String const&, bool, Error*, bool, float*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:190 (discriminator 6))
[29] ResourceLoader::load(String const&, String const&, bool, Error*) (/home/brucea/projects/godot/godot/core/io/resource_loader.cpp:592 (discriminator 3))
[30] EditorNode::load_scene(String const&, bool, bool, bool, bool) (/home/brucea/projects/godot/godot/editor/editor_node.cpp:3325 (discriminator 2))
[31] EditorNode::_sources_changed(bool) (/home/brucea/projects/godot/godot/editor/editor_node.cpp:841)
[32] void call_with_variant_args_helper<EditorNode, bool, 0ul>(EditorNode*, void (EditorNode::*)(bool), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/brucea/projects/godot/godot/./core/callable_method_pointer.h:136 (discriminator 4))
[33] void call_with_variant_args<EditorNode, bool>(EditorNode*, void (EditorNode::*)(bool), Variant const**, int, Callable::CallError&) (/home/brucea/projects/godot/godot/./core/callable_method_pointer.h:158)
[34] CallableCustomMethodPointer<EditorNode, bool>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/brucea/projects/godot/godot/./core/callable_method_pointer.h:184)
[35] Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/brucea/projects/godot/godot/core/callable.cpp:54)
[36] Object::emit_signal(StringName const&, Variant const**, int) (/home/brucea/projects/godot/godot/core/object.cpp:1077)
[37] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/brucea/projects/godot/godot/core/object.cpp:1132)
[38] EditorFileSystem::_notification(int) (/home/brucea/projects/godot/godot/editor/editor_file_system.cpp:1124 (discriminator 4))
[39] EditorFileSystem::_notificationv(int, bool) (/home/brucea/projects/godot/godot/editor/editor_file_system.h:106 (discriminator 14))
[40] Object::notification(int, bool) (/home/brucea/projects/godot/godot/core/object.cpp:808)
[41] SceneTree::_notify_group_pause(StringName const&, int) (/home/brucea/projects/godot/godot/scene/main/scene_tree.cpp:818)
[42] SceneTree::idle(float) (/home/brucea/projects/godot/godot/scene/main/scene_tree.cpp:447 (discriminator 2))
[43] Main::iteration() (/home/brucea/projects/godot/godot/main/main.cpp:2401)
[44] OS_LinuxBSD::run() (/home/brucea/projects/godot/godot/platform/linuxbsd/os_linuxbsd.cpp:240)
[45] /home/brucea/projects/godot/godot/bin/godot.linuxbsd.tools.64(main+0x166) [0x19d48bc] (/home/brucea/projects/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:60)
[46] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f0fb6ad30b3] (??:0)
[47] /home/brucea/projects/godot/godot/bin/godot.linuxbsd.tools.64(_start+0x2e) [0x19d469e] (??:?)
-- END OF BACKTRACE --

I will try again with the latest tagged release instead but this does not bode well to me. Crashing a linux box should be harder than this. Processes are supposed to be (relatively) sandboxed from each other. Whatever the godot engine is doing here it is not playing well with the host OS. Normally I need to reboot my linux box once a century or less. Individual things may die but very little forces a hard reboot like this.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 19 (14 by maintainers)

Most upvoted comments

Given the absence of confirmation, this issue is being closed. If it’s still happening we can reopen. If someone else finds a similar problem, it’s probably something else given the codebase changed a lot since this was reported, so it’s better to open a new report.

Actually to me the main issue was that the entire machine hung. This is a big red flag to me. From there a segfault was an improvement. I had wrongly assumed that you use a workflow where the master branch always holds the latest stable release, which is fairly typical these days.