Giter VIP home page Giter VIP logo

Comments (17)

akien-mga avatar akien-mga commented on May 29, 2024 2

Thanks for the report.

Confirmed on Linux. Stacktrace:

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.dev.custom_build (03e6fbb010c3546593bd91a0dabc045a9882705a)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x40710) [0x7fb6ceee7710] (??:0)
[2] EditorInspector::edit(Object*) (/home/akien/Godot/godot/./editor/editor_inspector.cpp:3527)
[3] EditorInspector::_notification(int) (/home/akien/Godot/godot/./editor/editor_inspector.cpp:4055)
[4] EditorInspector::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_inspector.h:473 (discriminator 14))
[5] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[6] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[7] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[8] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[9] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[10] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[11] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[12] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[13] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[14] BoxContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/box_container.h:37)
[15] VBoxContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/box_container.h:90)
[16] InspectorDock::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/inspector_dock.h:48)
[17] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[18] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[19] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[20] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[21] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[22] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[23] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[24] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[25] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[26] TabContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/tab_container.h:39)
[27] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[28] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[29] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[30] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[31] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[32] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[33] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[34] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[35] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[36] SplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/split_container.h:54)
[37] DockSplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_dock_manager.h:46)
[38] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[39] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[40] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[41] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[42] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[43] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[44] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[45] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[46] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[47] SplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/split_container.h:54)
[48] DockSplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_dock_manager.h:46)
[49] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[50] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[51] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[52] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[53] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[54] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[55] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[56] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[57] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[58] SplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/split_container.h:54)
[59] DockSplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_dock_manager.h:46)
[60] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[61] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[62] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[63] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[64] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[65] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[66] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[67] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[68] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[69] SplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/split_container.h:54)
[70] DockSplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_dock_manager.h:46)
[71] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[72] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[73] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[74] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[75] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[76] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[77] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[78] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[79] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[80] SplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/split_container.h:54)
[81] DockSplitContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_dock_manager.h:46)
[82] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[83] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[84] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[85] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[86] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[87] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[88] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[89] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[90] Container::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/container.h:37)
[91] BoxContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/box_container.h:37)
[92] VBoxContainer::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/box_container.h:90)
[93] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[94] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[95] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[96] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[97] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[98] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[99] CanvasItem::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/canvas_item.h:45)
[100] Control::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/control.h:48)
[101] Panel::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/gui/panel.h:37)
[102] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[103] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[104] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[105] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[106] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[107] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[108] EditorNode::_notificationv(int, bool) (/home/akien/Godot/godot/./editor/editor_node.h:126)
[109] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[110] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[111] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[112] void memdelete<Node>(Node*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[113] Node::_notification(int) (/home/akien/Godot/godot/./scene/main/node.cpp:241)
[114] Node::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/node.h:49 (discriminator 14))
[115] Viewport::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/viewport.h:95)
[116] Window::_notificationv(int, bool) (/home/akien/Godot/godot/./scene/main/window.h:44)
[117] Object::notification(int, bool) (/home/akien/Godot/godot/./core/object/object.cpp:924)
[118] Object::_predelete() (/home/akien/Godot/godot/./core/object/object.cpp:200)
[119] predelete_handler(Object*) (/home/akien/Godot/godot/./core/object/object.cpp:2155)
[120] void memdelete<Window>(Window*) (/home/akien/Godot/godot/./core/os/memory.h:112 (discriminator 1))
[121] SceneTree::finalize() (/home/akien/Godot/godot/./scene/main/scene_tree.cpp:646)
[122] OS_LinuxBSD::run() (/home/akien/Godot/godot/platform/linuxbsd/os_linuxbsd.cpp:967)
[123] godot-git(main+0x14b) [0x5aa20b1] (/home/akien/Godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:85)
[124] /lib64/libc.so.6(+0x2a088) [0x7fb6ceed1088] (??:0)
[125] /lib64/libc.so.6(__libc_start_main+0x8b) [0x7fb6ceed114b] (??:0)
[126] godot-git(_start+0x25) [0x5aa1ea5] (??:?)
-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

It's a regression from #91168 @kitbdev @KoBeWi 🙃

from godot.

RandomShaper avatar RandomShaper commented on May 29, 2024 2

I've been able to reproduce it and I'm working on a fix.

from godot.

kitbdev avatar kitbdev commented on May 29, 2024 1

After trying multiple times, I managed to get it to freeze on Windows.
It looks like it is freezing here:

while (!exited.is_set()) {
OS::get_singleton()->delay_usec(10000);
RenderingServer::get_singleton()->sync(); //sync pending stuff, as thread may be blocked on rendering server
}

This is in EditorResourcePreview::stop() and called from EditorNode::_exit_editor(0).

It looks like it is two separate issues. When it freezes it does so before anything can even be deleted, and when it crashes is happens during finalize when everything is being deleted as seen in the stacktrace above.
Or maybe I'm just finding a different freeze, since it also happens when deleting the .godot folder but not clearing the generated .import files.
Edit: just confirmed that this freeze I get is not in 4.3dev6 or 4.2

I found these issues about the freeze that look similar:

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024 1

git bisect

645be5c is the first bad commit
commit 645be5c
Merge: 70247ad 15de869
Date: Wed May 1 09:54:54 2024 +0200

Merge pull request #90760 from RandomShaper/cmd_queue_good_sync

CommandQueueMT: Optimize & fix handling of sync/ret commands

core/templates/command_queue_mt.cpp | 29 ---------------
core/templates/command_queue_mt.h | 73 +++++++++++++++----------------------
2 files changed, 30 insertions(+), 72 deletions(-)

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024 1

Freeze confirmed on MacOS

Godot v4.3.dev (645be5c) - macOS 14.4.1 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)
image
Using the --import option, so it should have exited on its own. In addition to not closing, the Godot editor is entirely unresponsive to all mouse and keyboard input.
image

Update: Also confirmed with:
Godot v4.3.dev (55b8724) - macOS 14.4.1 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)
(Latest build from master)

from godot.

kitbdev avatar kitbdev commented on May 29, 2024
  • I made a PR to fix the --import crash #91538

On Windows, I see a warning that is related to the crash, but it isn't the same, so it needs testing.
However, I only see this when using the --import flag.
When not using the --import flag I don't see any issues and I'm not sure it is related to #91168.

Is it a crash or a freeze or both? If it crashes when using --import and freezes when not, then it sounds like two different bugs.

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

Is it a crash or a freeze or both? If it crashes when using --import and freezes when not, then it sounds like two different bugs.

I've seen it both crash and freeze when using --import on Windows. I've only seen it freeze when using -e. So maybe it is two issues?

The issue I see most consistently is freezing.

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

I built #91538 and tested it, but it does not fix the freezing issue with --import or -e.
So I think the freeze and the crash are different issues.

Perhaps I need to bisect this for you when I get time?

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

v4.3.dev.custom_build [55afb5b]

image

from godot.

KoBeWi avatar KoBeWi commented on May 29, 2024

I can confirm the freeze from above comment, #91168 is unrelated.
I can't reproduce the crash.

from godot.

akien-mga avatar akien-mga commented on May 29, 2024

I confirm that #91168 fixes the crash with --import on Linux, but not the freeze that happens the first time a project is opened in Godot when the .godot folder is missing.

Testing with https://github.com/YuriSizov/boscaceoil-blue (after setting up the GDSiON dependency), I get a freeze and attaching gdb to peak at where it's blocked yields this kind of stacktrace:

(gdb) bt
#0  0x000000000aaacc16 in std::__atomic_base<unsigned int>::load (this=0x17b9c8c3c, __m=std::memory_order_acquire) at /usr/include/c++/14/bits/atomic_base.h:499
#1  SafeNumeric<unsigned int>::get (this=0x17b9c8c3c) at ./core/templates/safe_refcount.h:74
#2  SafeRefCount::_check_unref_safety (this=0x17b9c8c3c) at ./core/templates/safe_refcount.h:187
#3  SafeRefCount::unrefval (this=0x17b9c8c3c) at ./core/templates/safe_refcount.h:212
#4  RefCounted::unreference (this=0x17b9c8ad0) at ./core/object/ref_counted.cpp:77
#5  0x00000000061ffb4b in Ref<RefCounted>::unref (this=0x7ffd1306d708) at ./core/object/ref_counted.h:209
#6  0x00000000061d9a38 in Ref<RefCounted>::~Ref (this=0x7ffd1306d708, __in_chrg=<optimized out>) at ./core/object/ref_counted.h:223
#7  0x00000000065a5336 in GDScript::_new (this=0x7fda23bdd3b0, p_args=0x7ffd1306d9d0, p_argcount=0, r_error=...) at ./modules/gdscript/gdscript.cpp:225
#8  0x00000000067501f8 in MethodBindVarArgTR<GDScript, Variant>::call (this=0xbad3a90, p_object=0x7fda23bdd3b0, p_args=0x7ffd1306d9d0, p_arg_count=0, r_error=...) at ./core/object/method_bind.h:271
#9  0x000000000665c4ee in GDScriptFunction::call (this=0x24b158b0, p_instance=0x24efe7e0, p_args=0x7ffd13071ca0, p_argcount=0, r_err=..., p_state=0x0) at ./modules/gdscript/gdscript_vm.cpp:1862
#10 0x00000000065afb49 in GDScriptInstance::callp (this=0x24efe7e0, p_method=..., p_args=0x7ffd13071ca0, p_argcount=0, r_error=...) at ./modules/gdscript/gdscript.cpp:2005
#11 0x000000000aaa193b in Object::callp (this=0x24e6c670, p_method=..., p_args=0x7ffd13071ca0, p_argcount=0, r_error=...) at ./core/object/object.cpp:820
#12 0x000000000a77f2da in Variant::callp (this=0x7ffd13071c40, p_method=..., p_args=0x7ffd13071ca0, p_argcount=0, r_ret=..., r_error=...) at ./core/variant/variant_call.cpp:1212
#13 0x000000000665b78e in GDScriptFunction::call (this=0x24b12e50, p_instance=0x24efe7e0, p_args=0x7ffd13075ff0, p_argcount=0, r_err=..., p_state=0x0) at ./modules/gdscript/gdscript_vm.cpp:1768
#14 0x00000000065afb49 in GDScriptInstance::callp (this=0x24efe7e0, p_method=..., p_args=0x7ffd13075ff0, p_argcount=0, r_error=...) at ./modules/gdscript/gdscript.cpp:2005
#15 0x000000000aaa193b in Object::callp (this=0x24e6c670, p_method=..., p_args=0x7ffd13075ff0, p_argcount=0, r_error=...) at ./core/object/object.cpp:820
#16 0x000000000a77f2da in Variant::callp (this=0x7ffd13075f00, p_method=..., p_args=0x7ffd13075ff0, p_argcount=0, r_ret=..., r_error=...) at ./core/variant/variant_call.cpp:1212
#17 0x000000000665b78e in GDScriptFunction::call (this=0x24b15130, p_instance=0x24efe7e0, p_args=0x7ffd1307a2c0, p_argcount=1, r_err=..., p_state=0x0) at ./modules/gdscript/gdscript_vm.cpp:1768
#18 0x00000000065afb49 in GDScriptInstance::callp (this=0x24efe7e0, p_method=..., p_args=0x7ffd1307a2c0, p_argcount=1, r_error=...) at ./modules/gdscript/gdscript.cpp:2005
#19 0x000000000aaa193b in Object::callp (this=0x24e6c670, p_method=..., p_args=0x7ffd1307a2c0, p_argcount=1, r_error=...) at ./core/object/object.cpp:820
#20 0x000000000a77f2da in Variant::callp (this=0x7ffd1307a260, p_method=..., p_args=0x7ffd1307a2c0, p_argcount=1, r_ret=..., r_error=...) at ./core/variant/variant_call.cpp:1212
#21 0x000000000665b78e in GDScriptFunction::call (this=0x24b12230, p_instance=0x24efe7e0, p_args=0x7ffd1307e680, p_argcount=0, r_err=..., p_state=0x0) at ./modules/gdscript/gdscript_vm.cpp:1768
#22 0x00000000065afb49 in GDScriptInstance::callp (this=0x24efe7e0, p_method=..., p_args=0x7ffd1307e680, p_argcount=0, r_error=...) at ./modules/gdscript/gdscript.cpp:2005
#23 0x000000000aaa193b in Object::callp (this=0x24e6c670, p_method=..., p_args=0x7ffd1307e680, p_argcount=0, r_error=...) at ./core/object/object.cpp:820
#24 0x000000000a77f2da in Variant::callp (this=0x7ffd1307e530, p_method=..., p_args=0x7ffd1307e680, p_argcount=0, r_ret=..., r_error=...) at ./core/variant/variant_call.cpp:1212
#25 0x000000000665b78e in GDScriptFunction::call (this=0x24ccade0, p_instance=0x24efe7e0, p_args=0x0, p_argcount=0, r_err=..., p_state=0x0) at ./modules/gdscript/gdscript_vm.cpp:1768
#26 0x00000000065afb49 in GDScriptInstance::callp (this=0x24efe7e0, p_method=..., p_args=0x0, p_argcount=0, r_error=...) at ./modules/gdscript/gdscript.cpp:2005
#27 0x0000000008669dae in Node::_gdvirtual__ready_call<false> (this=0x24e6c670) at ./scene/main/node.h:354
#28 0x00000000085c72d1 in Node::_notification (this=0x24e6c670, p_notification=13) at ./scene/main/node.cpp:213
#29 0x000000000618b4ca in Node::_notificationv (this=0x24e6c670, p_notification=13, p_reversed=false) at ./scene/main/node.h:49
#30 0x000000000618bd75 in CanvasItem::_notificationv (this=0x24e6c670, p_notification=13, p_reversed=false) at ./scene/main/canvas_item.h:45
#31 0x000000000618d059 in Control::_notificationv (this=0x24e6c670, p_notification=13, p_reversed=false) at ./scene/gui/control.h:48
#32 0x000000000aaa1d82 in Object::notification (this=0x24e6c670, p_notification=13, p_reversed=false) at ./core/object/object.cpp:904
#33 0x00000000085c75af in Node::_propagate_ready (this=0x24e6c670) at ./scene/main/node.cpp:268
#34 0x00000000085c7520 in Node::_propagate_ready (this=0x24dcf670) at ./scene/main/node.cpp:259
#35 0x00000000085c7520 in Node::_propagate_ready (this=0x249213b0) at ./scene/main/node.cpp:259
#36 0x00000000085c7520 in Node::_propagate_ready (this=0x24aa71d0) at ./scene/main/node.cpp:259
#37 0x00000000085c7520 in Node::_propagate_ready (this=0x24aadcf0) at ./scene/main/node.cpp:259
#38 0x00000000085c7520 in Node::_propagate_ready (this=0x24a97250) at ./scene/main/node.cpp:259
#39 0x00000000085d70ea in Node::_set_tree (this=0x24a97250, p_tree=0xda122c0) at ./scene/main/node.cpp:3178
#40 0x00000000085ccbc0 in Node::_add_child_nocheck (this=0xe993c20, p_child=0x24a97250, p_name=..., p_internal_mode=Node::INTERNAL_MODE_DISABLED) at ./scene/main/node.cpp:1547
#41 0x00000000085cd2cc in Node::add_child (this=0xe993c20, p_child=0x24a97250, p_force_readable_name=true, p_internal=Node::INTERNAL_MODE_DISABLED) at ./scene/main/node.cpp:1579
#42 0x00000000078741f3 in EditorNode::set_edited_scene (this=0xda7eb00, p_scene=0x24a97250) at ./editor/editor_node.cpp:3712
#43 0x000000000787655a in EditorNode::load_scene (this=0xda7eb00, p_scene=..., p_ignore_broken_deps=false, p_set_inherited=false, p_clear_errors=true, p_force_open_imported=false, p_silent_change_tab=false)
    at ./editor/editor_node.cpp:4038
#44 0x000000000785f51a in EditorNode::_sources_changed (this=0xda7eb00, p_exist=false) at ./editor/editor_node.cpp:1081
#45 0x0000000007a37d9a in call_with_variant_args_helper<EditorNode, bool, 0ul> (p_instance=0xda7eb00, p_method=(void (EditorNode::*)(EditorNode * const, bool)) 0x785f3b2 <EditorNode::_sources_changed(bool)>, 
    p_args=0x7ffd130836f0, r_error=...) at ./core/variant/binder_common.h:304
#46 0x0000000007a2bf55 in call_with_variant_args<EditorNode, bool> (p_instance=0xda7eb00, p_method=(void (EditorNode::*)(EditorNode * const, bool)) 0x785f3b2 <EditorNode::_sources_changed(bool)>, 
    p_args=0x7ffd130836f0, p_argcount=1, r_error=...) at ./core/variant/binder_common.h:418
#47 0x0000000007a1ee90 in CallableCustomMethodPointer<EditorNode, bool>::call (this=0x1c499fb0, p_arguments=0x7ffd130836f0, p_argcount=1, r_return_value=..., r_call_error=...)
    at ./core/object/callable_method_pointer.h:103
#48 0x000000000a76a8d3 in Callable::callp (this=0x7ffd130834d0, p_arguments=0x7ffd130836f0, p_argcount=1, r_return_value=..., r_call_error=...) at ./core/variant/callable.cpp:57
#49 0x000000000aaa3add in Object::emit_signalp (this=0xdae41b0, p_name=..., p_args=0x7ffd130836f0, p_argcount=1) at ./core/object/object.cpp:1220
#50 0x00000000085e2c56 in Node::emit_signalp (this=0xdae41b0, p_name=..., p_args=0x7ffd130836f0, p_argcount=1) at ./scene/main/node.cpp:3902
#51 0x0000000006c8219a in Object::emit_signal<bool> (this=0xdae41b0, p_name=...) at ./core/object/object.h:936
#52 0x000000000767b9c4 in EditorFileSystem::_notification (this=0xdae41b0, p_what=17) at ./editor/editor_file_system.cpp:1298
#53 0x00000000077189be in EditorFileSystem::_notificationv (this=0xdae41b0, p_notification=17, p_reversed=false) at ./editor/editor_file_system.h:138
#54 0x000000000aaa1d82 in Object::notification (this=0xdae41b0, p_notification=17, p_reversed=false) at ./core/object/object.cpp:904
#55 0x00000000085e7f14 in SceneTree::_process_group (this=0xda122c0, p_group=0xda12518, p_physics=false) at ./scene/main/scene_tree.cpp:963
#56 0x00000000085e848d in SceneTree::_process (this=0xda122c0, p_physics=false) at ./scene/main/scene_tree.cpp:1040
#57 0x00000000085e64af in SceneTree::process (this=0xda122c0, p_time=0.0069444444444444449) at ./scene/main/scene_tree.cpp:527
#58 0x0000000005b52ad5 in Main::iteration () at main/main.cpp:4044
#59 0x0000000005a9c1a2 in OS_LinuxBSD::run (this=0x7ffd13083bd0) at platform/linuxbsd/os_linuxbsd.cpp:962
#60 0x0000000005a94c71 in main (argc=2, argv=0x7ffd13084228) at platform/linuxbsd/godot_linuxbsd.cpp:85

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

Every so often, even on a "bad" build, it doesn't freeze. It seems more consistent on some systems than others. So it can be hard to nail down. I thought it wasn't happening on anything besides Windows, but that was just my "luck" I think. I'm mostly testing on Windows.

from godot.

akien-mga avatar akien-mga commented on May 29, 2024

It's likely that "my" freeze on Linux is actually a different issue. I've only seen it in a fairly complex project using GDExtension so far (https://github.com/YuriSizov/boscaceoil-blue), and it doesn't seem to be a recent regression (I can reproduce it in 4.3 dev5 and dev3).

So let's forget about my test case and stacktrace for this report, and focus back on a freeze which seems to be Windows specific and appears to have been introduced by #90760.

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

My current theory is that the crash fixed by #91168 was hiding the freeze on MacOS and Linux, but now that it is fixed, this freeze should be easier to trigger.

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

I have also confirmed the freeze on Linux:
Godot v4.3.dev (55b8724) - Manjaro Linux #1 SMP PREEMPT_DYNAMIC Wed Apr 10 20:11:08 UTC 2024 - X11 - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 620 (KBL GT2) () - Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 Threads)

from godot.

akien-mga avatar akien-mga commented on May 29, 2024

@chrisl8 Could you give a refresh on the exact steps you use to reproduce the issue in latest master?

I tried a few times with the GDQuest TPS demo, using both --import and opening for the first time in the editor, and it's not freezing for me on Linux.

from godot.

chrisl8 avatar chrisl8 commented on May 29, 2024

The freeze is not consistent on Linux, but it happens. It is much more consistent for me on Windows, nearly 100%, and pretty close to that on MacOS.

I just tried this again just now on Linux and it worked fine 3 times in a row and froze on the fourth try.

First just to be clear on how I'm building, in case it matters:

gh repo clone godotengine/godot
cd godot
scons -Q platform=linuxbsd production=yes
cd ..

Then do this

gh repo clone gdquest-demos/godot-4-3d-third-person-controller
cd godot-4-3d-third-person-controller
../godot/bin/godot.linuxbsd.editor.x86_64 --import

To repeat the process quickly to try again to trigger the freeze:

cd ..;rm -rf godot-4-3d-third-person-controller;gh repo clone gdquest-demos/godot-4-3d-third-person-controller;cd godot-4-3d-third-person-controller;../godot/bin/godot.linuxbsd.editor.x86_64 --import

I'm not sure if it only freezes on a fresh clone, or if the freeze is just inconsistent enough that when I tried only wiping the .godot folder and resetting the repot I also got unlucky. That is why I just wipe the folder and clone it again for each test. It always freezes eventually.

The process on Windows is similar, in short:

rm -r -Force .\godot-4-3d-third-person-controller\
gh repo clone gdquest-demos/godot-4-3d-third-person-controller
cd godot-4-3d-third-person-controller
c:\Users\chris\CLionProjects\godot\bin\godot.windows.editor.x86_64.exe --import

from godot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.