Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closing a non empty scene crashes #86844

Closed
GorEldeen opened this issue Jan 5, 2024 · 4 comments · Fixed by #86462
Closed

Closing a non empty scene crashes #86844

GorEldeen opened this issue Jan 5, 2024 · 4 comments · Fixed by #86462

Comments

@GorEldeen
Copy link

GorEldeen commented Jan 5, 2024

Tested versions

-Reproducible in version 4.3 dev 1

System information

Zorin OS 16.3 x86_64 / Intel i7-2640M / NVIDIA Quadro 2000M / 8 GB RAM

Issue description

I was closing a scene (WHICH IS NOT EMPTY) when suddenly Godot closed, I run it in terminal and this what it threw:

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.dev1.official (9d1cbab1c432b6f1d66ec939445bec68b6af519e)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x43090) [0x7f7682ad0090] (??:0)
[2] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x42857f2] (??:0)
[3] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x1d7d8f8] (??:0)
[4] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x4068c2d] (??:0)
[5] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x3ba27fc] (??:0)
[6] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x207e573] (??:0)
[7] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x4f920e] (??:0)
[8] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x41eff0] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f7682ab1083] (??:0)
[10] /home/goreldeen/Desktop/Godot_v4.3-dev1_linux.x86_64() [0x42af5a] (??:0)
-- END OF BACKTRACE --
================================================================

Steps to reproduce

1- Open multiple scenes
2- Add content to them
3- Close one of them

Minimal reproduction project (MRP)

Vampire survivors clone.zip

@fire fire changed the title godot crashes when closing a scene Closing a non empty scene crashes Jan 5, 2024
@fire
Copy link
Member

fire commented Jan 5, 2024

I can confirm on popos Linux.

@capnm
Copy link
Contributor

capnm commented Jan 6, 2024

handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.dev1.official (9d1cbab)
...
👍

I've seen this also on my custom dev-enabled tip build on Debian bookworm 🔥.
Create a new scene and close another one:

handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.custom_build...
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bfd0) [0x7effde766fd0] (??:0)
[2] godot.linuxbsd.editor.dev.x86_64.llvm(__dynamic_cast+0x10) [0x55b4f5f645b0] (??:?)
[3] void call_with_variant_args_helper<GroupsEditor, Node*, 0ul>
(GroupsEditor*, void (GroupsEditor::*)(Node*), Variant const**,
Callable::CallError&, IndexSequence<0ul>) (core/variant/binder_common.h:230)
[4] CallQueue::_call_function(Callable const&, Variant const*, int, bool)
(core/object/message_queue.cpp:222)
[5] CallQueue::flush() (core/object/message_queue.cpp:?)
[6] SceneTree::process(double) (scene/main/scene_tree.cpp:506)
[7] Main::iteration() (main/main.cpp:3788)
[8] OS_LinuxBSD::run() (platform/linuxbsd/os_linuxbsd.cpp:933)
[9] godot.linuxbsd.editor.dev.x86_64.llvm(main+0xdc) [0x55b4f2318c4c]
(platform/linuxbsd/godot_linuxbsd.cpp:76)
[10] /lib/x86_64-linux-gnu/libc.so.6(+0x271ca) [0x7effde7521ca] (??:0)
[11] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7effde752285] (??:0)
[12] godot.linuxbsd.editor.dev.x86_64.llvm(_start+0x2a) [0x55b4f2318aaa] (??:?)
-- END OF BACKTRACE --

bt
* thread #1, name = 'godot.linuxbsd.', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x000055555c7ed5d2 godot.linuxbsd.editor.dev.x86_64.llvm`__dynamic_cast + 50
    frame #1: 0x0000555559e63667 godot.linuxbsd.editor.dev.x86_64.llvm`void call_with_variant_args_helper<GroupsEditor, Node*, 0ul>(GroupsEditor*, void (GroupsEditor::*)(Node*), Variant const**, Callable::CallError&, IndexSequence<0ul>) [inlined] Node* Object::cast_to<Node>(p_object=<unavailable>) at object.h:792:10
    frame #2: 0x0000555559e6364a godot.linuxbsd.editor.dev.x86_64.llvm`void call_with_variant_args_helper<GroupsEditor, Node*, 0ul>(GroupsEditor*, void (GroupsEditor::*)(Node*), Variant const**, Callable::CallError&, IndexSequence<0ul>) at binder_common.h:230:11
    frame #3: 0x0000555559e63637 godot.linuxbsd.editor.dev.x86_64.llvm`void call_with_variant_args_helper<GroupsEditor, Node*, 0ul>(GroupsEditor*, void (GroupsEditor::*)(Node*), Variant const**, Callable::CallError&, IndexSequence<0ul>) [inlined] VariantCasterAndValidate<Node*>::cast(p_args=0x00007fffffffd770, p_arg_idx=0, r_error=0x00007fffffffd7c4) at binder_common.h:256:6
    frame #4: 0x0000555559e63621 godot.linuxbsd.editor.dev.x86_64.llvm`void call_with_variant_args_helper<GroupsEditor, Node*, 0ul>(p_instance=<unavailable>, p_method=<unavailable>, p_args=0x00007fffffffd770, r_error=0x00007fffffffd7c4, (null)=<unavailable>) at binder_common.h:303:26
    frame #5: 0x000055555c530e67 godot.linuxbsd.editor.dev.x86_64.llvm`CallQueue::_call_function(this=<unavailable>, p_callable=0x000055555f9dde10, p_args=0x000055555f9dde28, p_argcount=1, p_show_error=false) at message_queue.cpp:221:13
    frame #6: 0x000055555c53143e godot.linuxbsd.editor.dev.x86_64.llvm`CallQueue::flush(this=0x000055555cfbb2f0) at message_queue.cpp:326:6
    frame #7: 0x000055555a7cf997 godot.linuxbsd.editor.dev.x86_64.llvm`SceneTree::physics_process(this=0x000055555fb1b550, p_time=<unavailable>) at scene_tree.cpp:471:33
    frame #8: 0x0000555558c3d47b godot.linuxbsd.editor.dev.x86_64.llvm`Main::iteration() at main.cpp:3750:45
    frame #9: 0x0000555558bab17d godot.linuxbsd.editor.dev.x86_64.llvm`OS_LinuxBSD::run(this=0x00007fffffffda08) at os_linuxbsd.cpp:933:7
    frame #10: 0x0000555558ba1c4c godot.linuxbsd.editor.dev.x86_64.llvm`main(argc=<unavailable>, argv=<unavailable>) at godot_linuxbsd.cpp:74:6
    frame #11: 0x00007ffff7d0c1ca libc.so.6`___lldb_unnamed_symbol3156 + 122
    frame #12: 0x00007ffff7d0c285 libc.so.6`__libc_start_main + 133
    frame #13: 0x0000555558ba1aaa godot.linuxbsd.editor.dev.x86_64.llvm`_start + 42

EDIT: After some guesswork in the involved files, reverting 958699a fixes this issue for me.
0001-Revert-Implement-project-wide-node-groups.patch.gz
#60965 CC @DarkMessiah ;-)

@DarkMessiah
Copy link
Contributor

Is it the same as #86427? Should be fixed #86462 :)

@capnm
Copy link
Contributor

capnm commented Jan 6, 2024

Is it the same as #86427? Should be fixed #86462 :)

Yeah, it looks like it's distribution and Windows system independent (crashes here on x11). The latest https://patch-diff.githubusercontent.com/raw/godotengine/godot/pull/86462.patch also fixes my issue on github tip.

It relieves me that my ThorVG fixes didn't contribute to this hellish crash! 😆 🍷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Immediate Blocker
Development

Successfully merging a pull request may close this issue.

5 participants