godot icon indicating copy to clipboard operation
godot copied to clipboard

Game crash without debug information

Open MatiasVME opened this issue 1 year ago • 5 comments

Godot version

4.0.stable

System information

KDE Neon (Linux), OpenGL API 3.3.0 NVIDIA 525.78.01 - Compatibility - Using Device: NVIDIA Corporation - NVIDIA GeForce GTX 1660 Ti

Issue description

Hello, my game crash without debug information.

I suspect it may be a scene I have as autoload, called curtain. In that scene I want to make it so that there is a transition after the player dies (the ship). It's probably wrong what I'm doing, but it's weird that there's no debugging information that I'm doing wrong.

If you can't replicate I make a mini video :)

Steps to reproduce

  1. Clone: https://github.com/MatiasVME/Spaceship3000 | d09a37b13b34e2decee1d31eb0ae79bf57dbaec8
  2. Play game
  3. Dead with the player spaceship (You can move with arrow keys)
  4. wait, and crash (game without debug information)

Minimal reproduction project

Is not a complex project.

Clone: https://github.com/MatiasVME/Spaceship3000 d09a37b13b34e2decee1d31eb0ae79bf57dbaec8

MatiasVME avatar Mar 02 '23 12:03 MatiasVME

The crash is in the line:

get_tree().change_scene_to_file(scene)

image

When I use curtain.tscn like autoload and curtain.gd.

MatiasVME avatar Mar 02 '23 12:03 MatiasVME

I can confirm this on 4.1.dev 31eccb550. Terminal prints the following line when crashing:

malloc_consolidate(): unaligned fastbin chunk detected

Backtrace from gdb:

(gdb) bt
#0  0x00007ffff70afe5c in __pthread_kill_implementation () from /lib64/libc.so.6
#1  0x00007ffff705fa76 in raise () from /lib64/libc.so.6
#2  0x00007ffff70497fc in abort () from /lib64/libc.so.6
#3  0x00007ffff70a408e in __libc_message () from /lib64/libc.so.6
#4  0x00007ffff70b9b9c in malloc_printerr () from /lib64/libc.so.6
#5  0x00007ffff70ba80c in malloc_consolidate () from /lib64/libc.so.6
#6  0x00007ffff70bbcf0 in _int_free () from /lib64/libc.so.6
#7  0x00007ffff70be363 in free () from /lib64/libc.so.6
#8  0x00000000089cd7cb in Memory::free_static (p_ptr=0xd312fc0, p_pad_align=false) at core/os/memory.cpp:168
#9  0x0000000002ea2afe in memdelete<Node> (p_class=0xd312fc0) at ./core/os/memory.h:112
#10 0x0000000005834aee in Node::_notification (this=0xd16b1f0, p_notification=1) at scene/main/node.cpp:170
#11 0x00000000028739fb in Node::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
#12 0x0000000003228280 in CanvasItem::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/main/canvas_item.h:45
#13 0x00000000062bf660 in Node2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/2d/node_2d.h:37
#14 0x00000000062d15c2 in CollisionObject2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/2d/collision_object_2d.h:40
#15 0x00000000062d2272 in Area2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at scene/2d/area_2d.h:38
#16 0x00000000092d20c5 in Object::notification (this=0xd16b1f0, p_notification=1, p_reversed=true) at core/object/object.cpp:790
#17 0x00000000092cdd2d in Object::_predelete (this=0xd16b1f0) at core/object/object.cpp:196
#18 0x00000000092e04a1 in predelete_handler (p_object=0xd16b1f0) at core/object/object.cpp:1825
#19 0x0000000002ea2acd in memdelete<Node> (p_class=0xd16b1f0) at ./core/os/memory.h:105
#20 0x0000000005834aee in Node::_notification (this=0xd19ad20, p_notification=1) at scene/main/node.cpp:170
#21 0x00000000028739fb in Node::_notificationv (this=0xd19ad20, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
#22 0x00000000092d20c5 in Object::notification (this=0xd19ad20, p_notification=1, p_reversed=true) at core/object/object.cpp:790
#23 0x00000000092cdd2d in Object::_predelete (this=0xd19ad20) at core/object/object.cpp:196
#24 0x00000000092e04a1 in predelete_handler (p_object=0xd19ad20) at core/object/object.cpp:1825
#25 0x0000000002ea2acd in memdelete<Node> (p_class=0xd19ad20) at ./core/os/memory.h:105
#26 0x0000000005834aee in Node::_notification (this=0xd21f650, p_notification=1) at scene/main/node.cpp:170
#27 0x00000000028739fb in Node::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
#28 0x0000000003228280 in CanvasItem::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/main/canvas_item.h:45
#29 0x00000000062bf660 in Node2D::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/2d/node_2d.h:37
#30 0x00000000092d20c5 in Object::notification (this=0xd21f650, p_notification=1, p_reversed=true) at core/object/object.cpp:790
#31 0x00000000092cdd2d in Object::_predelete (this=0xd21f650) at core/object/object.cpp:196
#32 0x00000000092e04a1 in predelete_handler (p_object=0xd21f650) at core/object/object.cpp:1825
#33 0x0000000002ea2acd in memdelete<Node> (p_class=0xd21f650) at ./core/os/memory.h:105
#34 0x000000000588e52d in SceneTree::_change_scene (this=0xd0d22d0, p_to=0xd1fb650) at scene/main/scene_tree.cpp:1105
#35 0x00000000042311a4 in call_with_variant_args_helper<__UnexistingClass, Node*, 0ul> (p_instance=0xd0d22d0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const, Node *)) 0x588e4fa <SceneTree::_change_scene(Node*)>, p_args=0x7fffffffc3b0, r_error=...) at ./core/variant/binder_common.h:293
#36 0x0000000004230d50 in call_with_variant_args_dv<__UnexistingClass, Node*> (p_instance=0xd0d22d0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const, Node *)) 0x588e4fa <SceneTree::_change_scene(Node*)>, p_args=0x7fffffffc780, p_argcount=1, r_error=..., default_values=...) at ./core/variant/binder_common.h:440
#37 0x000000000422feef in MethodBindT<Node*>::call (this=0xcd9a610, p_object=0xd0d22d0, p_args=0x7fffffffc780, p_arg_count=1, r_error=...) at ./core/object/method_bind.h:324
#38 0x00000000092d1a0c in Object::callp (this=0xd0d22d0, p_method=..., p_args=0x7fffffffc780, p_argcount=1, r_error=...) at core/object/object.cpp:733
#39 0x0000000008d641be in Callable::callp (this=0x7fffd57de020, p_arguments=0x7fffffffc780, p_argcount=1, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:62
#40 0x00000000092c741c in MessageQueue::_call_function (this=0xabb58d0, p_callable=..., p_args=0x7fffd57de038, p_argcount=1, p_show_error=false) at core/object/message_queue.cpp:229
#41 0x00000000092c7781 in MessageQueue::flush (this=0xabb58d0) at core/object/message_queue.cpp:275
#42 0x0000000002685bd9 in Main::iteration () at main/main.cpp:3164
#43 0x00000000025efc24 in OS_LinuxBSD::run (this=0x7fffffffcb00) at platform/linuxbsd/os_linuxbsd.cpp:880
#44 0x00000000025e2a50 in main (argc=1, argv=0x7fffffffd068) at platform/linuxbsd/godot_linuxbsd.cpp:73

Full backtrace from gdb:

(gdb) bt full
#0  0x00007ffff70afe5c in __pthread_kill_implementation () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff705fa76 in raise () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007ffff70497fc in abort () from /lib64/libc.so.6
No symbol table info available.
#3  0x00007ffff70a408e in __libc_message () from /lib64/libc.so.6
No symbol table info available.
#4  0x00007ffff70b9b9c in malloc_printerr () from /lib64/libc.so.6
No symbol table info available.
#5  0x00007ffff70ba80c in malloc_consolidate () from /lib64/libc.so.6
No symbol table info available.
#6  0x00007ffff70bbcf0 in _int_free () from /lib64/libc.so.6
No symbol table info available.
#7  0x00007ffff70be363 in free () from /lib64/libc.so.6
No symbol table info available.
#8  0x00000000089cd7cb in Memory::free_static (p_ptr=0xd312fc0, p_pad_align=false) at core/os/memory.cpp:168
        s = 0xd312fb0
        __FUNCTION__ = "free_static"
        mem = 0xd312fb0 "0J&\r"
        prepad = true
#9  0x0000000002ea2afe in memdelete<Node> (p_class=0xd312fc0) at ./core/os/memory.h:112
No locals.
#10 0x0000000005834aee in Node::_notification (this=0xd16b1f0, p_notification=1) at scene/main/node.cpp:170
        child = 0xd312fc0
        __FUNCTION__ = "_notification"
#11 0x00000000028739fb in Node::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
No locals.
#12 0x0000000003228280 in CanvasItem::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/main/canvas_item.h:45
No locals.
#13 0x00000000062bf660 in Node2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/2d/node_2d.h:37
No locals.
#14 0x00000000062d15c2 in CollisionObject2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at ./scene/2d/collision_object_2d.h:40
No locals.
#15 0x00000000062d2272 in Area2D::_notificationv (this=0xd16b1f0, p_notification=1, p_reversed=true) at scene/2d/area_2d.h:38
No locals.
#16 0x00000000092d20c5 in Object::notification (this=0xd16b1f0, p_notification=1, p_reversed=true) at core/object/object.cpp:790
No locals.
#17 0x00000000092cdd2d in Object::_predelete (this=0xd16b1f0) at core/object/object.cpp:196
No locals.
#18 0x00000000092e04a1 in predelete_handler (p_object=0xd16b1f0) at core/object/object.cpp:1825
No locals.
#19 0x0000000002ea2acd in memdelete<Node> (p_class=0xd16b1f0) at ./core/os/memory.h:105
No locals.
#20 0x0000000005834aee in Node::_notification (this=0xd19ad20, p_notification=1) at scene/main/node.cpp:170
        child = 0xd16b1f0
        __FUNCTION__ = "_notification"
#21 0x00000000028739fb in Node::_notificationv (this=0xd19ad20, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
No locals.
#22 0x00000000092d20c5 in Object::notification (this=0xd19ad20, p_notification=1, p_reversed=true) at core/object/object.cpp:790
No locals.
#23 0x00000000092cdd2d in Object::_predelete (this=0xd19ad20) at core/object/object.cpp:196
No locals.
#24 0x00000000092e04a1 in predelete_handler (p_object=0xd19ad20) at core/object/object.cpp:1825
No locals.
#25 0x0000000002ea2acd in memdelete<Node> (p_class=0xd19ad20) at ./core/os/memory.h:105
No locals.
#26 0x0000000005834aee in Node::_notification (this=0xd21f650, p_notification=1) at scene/main/node.cpp:170
        child = 0xd19ad20
        __FUNCTION__ = "_notification"
#27 0x00000000028739fb in Node::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/main/node.h:46
No locals.
#28 0x0000000003228280 in CanvasItem::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/main/canvas_item.h:45
No locals.
#29 0x00000000062bf660 in Node2D::_notificationv (this=0xd21f650, p_notification=1, p_reversed=true) at ./scene/2d/node_2d.h:37
No locals.
#30 0x00000000092d20c5 in Object::notification (this=0xd21f650, p_notification=1, p_reversed=true) at core/object/object.cpp:790
No locals.
#31 0x00000000092cdd2d in Object::_predelete (this=0xd21f650) at core/object/object.cpp:196
No locals.
#32 0x00000000092e04a1 in predelete_handler (p_object=0xd21f650) at core/object/object.cpp:1825
No locals.
#33 0x0000000002ea2acd in memdelete<Node> (p_class=0xd21f650) at ./core/os/memory.h:105
No locals.
#34 0x000000000588e52d in SceneTree::_change_scene (this=0xd0d22d0, p_to=0xd1fb650) at scene/main/scene_tree.cpp:1105
No locals.
#35 0x00000000042311a4 in call_with_variant_args_helper<__UnexistingClass, Node*, 0ul> (p_instance=0xd0d22d0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const, Node *)) 0x588e4fa <SceneTree::_change_scene(Node*)>, p_args=0x7fffffffc3b0, r_error=...) at ./core/variant/binder_common.h:293
No locals.
#36 0x0000000004230d50 in call_with_variant_args_dv<__UnexistingClass, Node*> (p_instance=0xd0d22d0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const, Node *)) 0x588e4fa <SceneTree::_change_scene(Node*)>, p_args=0x7fffffffc780, p_argcount=1, r_error=..., default_values=...) at ./core/variant/binder_common.h:440
        missing = 0
        dvs = 0
        args = {0x7fffd57de038}
#37 0x000000000422feef in MethodBindT<Node*>::call (this=0xcd9a610, p_object=0xd0d22d0, p_args=0x7fffffffc780, p_arg_count=1, r_error=...) at ./core/object/method_bind.h:324
--Type <RET> for more, q to quit, c to continue without paging--
No locals.
#38 0x00000000092d1a0c in Object::callp (this=0xd0d22d0, p_method=..., p_args=0x7fffffffc780, p_argcount=1, r_error=...) at core/object/object.cpp:733
        __FUNCTION__ = "callp"
        ret = {type = Variant::NIL, _data = {_bool = false, _int = 0, _float = 0, _transform2d = 0x0, _aabb = 0x0, _basis = 0x0, _transform3d = 0x0, _projection = 0x0, packed_array = 0x0, _ptr = 0x0, _mem = '\000' <repeats 15 times>}}
        _debug_lock = {obj = 0xd0d22d0}
        method = 0xcd9a610
#39 0x0000000008d641be in Callable::callp (this=0x7fffd57de020, p_arguments=0x7fffffffc780, p_argcount=1, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:62
        obj = 0xd0d22d0
#40 0x00000000092c741c in MessageQueue::_call_function (this=0xabb58d0, p_callable=..., p_args=0x7fffd57de038, p_argcount=1, p_show_error=false) at core/object/message_queue.cpp:229
        argptrs = 0x7fffffffc780
        ce = {error = Callable::CallError::CALL_OK, argument = 0, expected = 0}
        ret = {type = Variant::NIL, _data = {_bool = false, _int = 0, _float = 0, _transform2d = 0x0, _aabb = 0x0, _basis = 0x0, _transform3d = 0x0, _projection = 0x0, packed_array = 0x0, _ptr = 0x0, _mem = '\000' <repeats 15 times>}}
        __FUNCTION__ = "_call_function"
#41 0x00000000092c7781 in MessageQueue::flush (this=0xabb58d0) at core/object/message_queue.cpp:275
        args = 0x7fffd57de038
        message = 0x7fffd57de020
        advance = 48
        target = 0xd0d22d0
        read_pos = 48
        __FUNCTION__ = "flush"
#42 0x0000000002685bd9 in Main::iteration () at main/main.cpp:3164
        ticks = 7273461
        ticks_elapsed = 8507
        physics_ticks_per_second = 60
        physics_step = 0.016666666666666666
        time_scale = 1
        advance = {process_step = 0.0083333333333333332, physics_steps = 0, interpolation_fraction = 0.96878000000000697}
        process_step = 0.0083333333333333332
        scaled_step = 0.0083333333333333332
        physics_process_ticks = 0
        process_ticks = 0
        navigation_process_ticks = 0
        max_physics_steps = 8
        exit = false
        process_begin = 7273462
        frame_time = 8422
        __FUNCTION__ = "iteration"
#43 0x00000000025efc24 in OS_LinuxBSD::run (this=0x7fffffffcb00) at platform/linuxbsd/os_linuxbsd.cpp:880
No locals.
#44 0x00000000025e2a50 in main (argc=1, argv=0x7fffffffd068) at platform/linuxbsd/godot_linuxbsd.cpp:73
        os = {<OS_Unix> = {<OS> = {_vptr.OS = 0x10c3090 <vtable for OS_LinuxBSD+16>, static singleton = 0x7fffffffcb00, static target_ticks = 0, _execpath = {_cowdata = {_ptr = 0xaba7af0 U"/home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', 
                  static invalid_node_name_characters = <same as static member of an already seen type>}}, _cmdline = {_data = 0x0}, _user_args = {_data = 0x0}, _keep_screen_on = true, low_processor_usage_mode = false, low_processor_usage_mode_sleep_usec = 6900, _verbose_stdout = false, _debug_stdout = false, _local_clipboard = {_cowdata = {_ptr = 0x0}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, 
                  static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, _exit_code = 0, _allow_hidpi = true, _allow_layered = false, _stdout_enabled = true, _stderr_enabled = true, _writing_movie = false, _logger = 0xa831970, restart_on_exit = false, restart_commandline = {_data = 0x0}, _display_driver_id = 0, _current_rendering_driver_name = {_cowdata = {_ptr = 0xabaaa10 U"opengl3"}, static _null = 0 U'\000', 
                static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, _current_rendering_method = {_cowdata = {_ptr = 0xab85f90 U"gl_compatibility"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', 
                  static invalid_node_name_characters = <same as static member of an already seen type>}}, has_server_feature_callback = 0x7362d79 <has_server_feature_callback(String const&)>, _render_thread_mode = OS::RENDER_THREAD_SAFE}, <No data fields>}, font_config_initialized = true, config = 0xa833cd0, object_set = 0xa8a1a80, joypad = 0xc63d7a0, driver_alsa = {<AudioDriver> = {_vptr.AudioDriver = 0x175fa98 <vtable for AudioDriverALSA+16>, 
              static singleton = 0x7fffffffccd0, _last_mix_time = 0, _last_mix_frames = 0, prof_ticks = 0, prof_time = 0, input_buffer = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, input_position = 0, input_size = 0}, thread = {static main_thread_id = 4679941937572454136, id = 17606749225356372073, static caller_id = 4679941937572454136, thread = {_M_id = {_M_thread = 0}}, static platform_functions = {set_name = 0x3ab4696 <set_name(String const&)>, 
                set_priority = 0x0, init = 0x0, wrapper = 0x0, term = 0x0}}, mutex = {mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, pcm_handle = 0x0, output_device_name = {_cowdata = {_ptr = 0xa8319a0 U"Default"}, 
              static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, new_output_device = {_cowdata = {_ptr = 0xa8319e0 U"Default"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', 
                static invalid_node_name_characters = <same as static member of an already seen type>}}, samples_in = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, samples_out = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, mix_rate = 0, speaker_mode = AudioDriver::SPEAKER_MODE_STEREO, buffer_frames = 18446744073709551368, buffer_size = 140737488343160, period_size = 8589934592, channels = 0, active = {flag = std::atomic<bool> = { false }}, 
            exit_thread = {flag = std::atomic<bool> = { false }}}, driver_alsamidi = {<MIDIDriver> = {_vptr.MIDIDriver = 0x1762ce8 <vtable for MIDIDriverALSAMidi+16>, static singleton = 0x7fffffffcc78, static last_received_message = 0 '\000'}, thread = {static main_thread_id = 4679941937572454136, id = 17606749225356372073, static caller_id = 4679941937572454136, thread = {_M_id = {_M_thread = 0}}, static platform_functions = {
                set_name = 0x3ab4696 <set_name(String const&)>, set_priority = 0x0, init = 0x0, wrapper = 0x0, term = 0x0}}, mutex = {mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, connected_inputs = {
              write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, exit_thread = {flag = std::atomic<bool> = { false }}}, driver_pulseaudio = {<AudioDriver> = {_vptr.AudioDriver = 0x1762820 <vtable for AudioDriverPulseAudio+16>, static singleton = 0x7fffffffccd0, _last_mix_time = 7263674, _last_mix_frames = 512, prof_ticks = 7277408, prof_time = 3, input_buffer = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, input_position = 0, input_size = 0}, thread = {
              static main_thread_id = 4679941937572454136, id = 10558650373985390586, static caller_id = 4679941937572454136, thread = {_M_id = {_M_thread = 140736532043456}}, static platform_functions = {set_name = 0x3ab4696 <set_name(String const&)>, set_priority = 0x0, init = 0x0, wrapper = 0x0, term = 0x0}}, mutex = {mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, 
                      __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, pa_ml = 0xc6005a0, pa_ctx = 0xc6006a0, pa_str = 0xc53e870, pa_rec_str = 0x0, pa_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE, PA_CHANNEL_POSITION_REAR_LEFT, 
                PA_CHANNEL_POSITION_REAR_RIGHT, PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT, PA_CHANNEL_POSITION_MONO <repeats 24 times>}}, pa_rec_map = {channels = 0 '\000', map = {PA_CHANNEL_POSITION_MONO <repeats 32 times>}}, output_device_name = {_cowdata = {_ptr = 0xa831a20 U"Default"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', 
                static invalid_node_name_characters = <same as static member of an already seen type>}}, new_output_device = {_cowdata = {_ptr = 0xa831a60 U"Default"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, default_output_device = {_cowdata = {
                _ptr = 0x7fffb4001620 U"alsa_output.usb-Generic_USB_Audio-00.analog-stereo"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, input_device_name = {_cowdata = {_ptr = 0x0}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {
                  _ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, new_input_device = {_cowdata = {_ptr = 0x0}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, default_input_device = {_cowdata = {
                _ptr = 0xc3aeee0 U"alsa_input.usb-C-Media_Electronics_Inc._USB_Advanced_Audio_Device-00.analog-stereo"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}, samples_in = {write = {<No data fields>}, _cowdata = {_ptr = 0xc64dd00}}, samples_out = {write = {<No data fields>}, _cowdata = {
                _ptr = 0xc64ed20}}, mix_rate = 44100, buffer_frames = 512, pa_buffer_size = 1024, channels = 2, pa_ready = 1, pa_status = 1, pa_devices = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, pa_rec_devices = {write = {<No data fields>}, _cowdata = {_ptr = 0x0}}, active = {flag = std::atomic<bool> = { true }}, exit_thread = {flag = std::atomic<bool> = { false }}, latency = 0}, crash_handler = {disabled = false}, main_loop = 0xd0d22d0, 
          system_dir_desktop_cache = {_cowdata = {_ptr = 0xa8fe1f0 U"/home/hugo/Desktop"}, static _null = 0 U'\000', static invalid_node_name_characters = {_cowdata = {_ptr = 0xa81fc10 U". : @ / \" %"}, static _null = 0 U'\000', static invalid_node_name_characters = <same as static member of an already seen type>}}}
        run_test = false
        return_code = 0
        cwd = 0xa8feb80 "/tmp/Spaceship3000"
        __FUNCTION__ = "main"
        ret = 0xa8feb80 "/tmp/Spaceship3000"
        err = OK

Calinou avatar Mar 02 '23 22:03 Calinou

Unloading a scene with animated texture crashes. $ > double free or corruption (fasttop)

animated_texture_bug.zip

capnm avatar Mar 03 '23 08:03 capnm

Another thing is that it only happens in compatibility mode. I test too in Forward+ and Mobile and don't happens.

MatiasVME avatar Mar 06 '23 16:03 MatiasVME

Also, it doesn't happen if you don't switch here the TextureRect visible→invisible: animated_texture_bug_v2.zip

crash...(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7c5a859 in __GI_abort () at abort.c:79
#2  0x00007ffff7cc526e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7def298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3  0x00007ffff7ccd2fc in malloc_printerr (str=str@entry=0x7ffff7df1628 "double free or corruption (fasttop)") at malloc.c:5347
#4  0x00007ffff7ccec65 in _int_free (av=0x7ffff7e24b80 <main_arena>, p=0x55555fffa560, have_lock=0) at malloc.c:4266
#5  0x000055555728339b in memdelete<GLES3::CanvasTexture> (p_class=<optimized out>) at ./core/os/memory.h:104

#6  GLES3::TextureStorage::texture_free (this=0x55555daae6b0, p_texture=...) at drivers/gles3/storage/texture_storage.cpp:704
#7  0x00005555572930a9 in GLES3::Utilities::free (this=<optimized out>, p_rid=...) at drivers/gles3/storage/utilities.cpp:124
#8  0x000055555997194a in RenderingServerDefault::_free (this=<optimized out>, p_rid=...) at servers/rendering/rendering_server_default.cpp:51
#9  0x00005555592c7e22 in CompressedTexture2D::~CompressedTexture2D (this=0x55555f74c4a0, __in_chrg=<optimized out>) at scene/resources/texture.cpp:1079
#10 0x00005555560d676e in memdelete<Texture2D> (p_class=0x55555f74c4a0) at ./core/os/memory.h:104

#11 memdelete<Texture2D> (p_class=0x55555f74c4a0) at ./core/os/memory.h:104
#12 0x00005555592dd526 in Ref<Texture2D>::unref (this=0x55555ffef728) at ./core/object/ref_counted.h:232
#13 Ref<Texture2D>::~Ref (this=0x55555ffef728, __in_chrg=<optimized out>) at ./core/object/ref_counted.h:233
#14 AnimatedTexture::Frame::~Frame (this=0x55555ffef728, __in_chrg=<optimized out>) at scene/resources/texture.h:910
#15 AnimatedTexture::~AnimatedTexture (this=0x55555ffef3f0, __in_chrg=<optimized out>) at scene/resources/texture.cpp:2822
#16 0x00005555560d676e in memdelete<Texture2D> (p_class=0x55555ffef3f0) at ./core/os/memory.h:104

#17 memdelete<Texture2D> (p_class=0x55555ffef3f0) at ./core/os/memory.h:104
#18 0x00005555588d1b7c in Ref<Texture2D>::unref (this=0x55555f779920) at ./core/string/string_name.h:182
#19 Ref<Texture2D>::~Ref (this=0x55555f779920, __in_chrg=<optimized out>) at ./core/object/ref_counted.h:233
#20 TextureRect::~TextureRect (this=0x55555f778fa0, __in_chrg=<optimized out>) at scene/gui/texture_rect.cpp:278
#21 0x0000555557759afe in memdelete<Node> (p_class=0x55555f778fa0) at ./core/os/memory.h:104

#22 memdelete<Node> (p_class=0x55555f778fa0) at ./core/os/memory.h:104
#23 0x00005555584f0ac9 in Node::_notification (this=0x55555ffeb010, p_notification=<optimized out>) at scene/main/node.cpp:170
#24 0x000055555a7dbe48 in Object::notification (this=0x55555ffeb010, p_notification=1, p_reversed=<optimized out>) at core/object/object.cpp:790
#25 0x000055555a7de70e in Object::_predelete (this=0x55555ffeb010) at core/object/object.cpp:196
#26 predelete_handler (p_object=p_object@entry=0x55555ffeb010) at core/object/object.cpp:1825
#27 0x0000555557759aed in memdelete<Node> (p_class=0x55555ffeb010) at ./core/os/memory.h:104

#28 0x000055555851dd51 in SceneTree::_change_scene (this=0x55555f67b8a0, p_to=0x55555fff41e0) at scene/main/scene_tree.cpp:1105
#29 0x00005555574765d9 in call_with_variant_args_helper<__UnexistingClass, Node*, 0ul> (r_error=..., p_args=<synthetischer Zeiger>, p_method=<optimized out>, p_instance=<optimized out>) at ./core/object/object.h:753
#30 call_with_variant_args_dv<__UnexistingClass, Node*> (default_values=..., r_error=..., p_argcount=<optimized out>, p_args=<optimized out>, p_method=<optimized out>, p_instance=<optimized out>)
    at ./core/variant/binder_common.h:440
#31 MethodBindT<Node*>::call (this=<optimized out>, p_object=<optimized out>, p_args=<optimized out>, p_arg_count=<optimized out>, r_error=...) at ./core/object/method_bind.h:324
#32 0x000055555a7dc057 in Object::callp (this=0x55555f67b8a0, p_method=..., p_args=0x7fffffffd580, p_argcount=1, r_error=...) at core/object/object.cpp:733
#33 0x000055555a4fd056 in Callable::callp (this=this@entry=0x7ffff525a020, p_arguments=p_arguments@entry=0x7fffffffd580, p_argcount=p_argcount@entry=1, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:62
#34 0x000055555a7d75fa in MessageQueue::_call_function (this=<optimized out>, p_callable=..., p_args=<optimized out>, p_argcount=1, p_show_error=<optimized out>) at core/object/message_queue.cpp:229
#35 0x000055555a7d799c in MessageQueue::flush (this=0x55555d7167f0) at core/object/message_queue.cpp:275
#36 0x0000555558528d75 in SceneTree::physics_process (this=0x55555f67b8a0, p_time=0.016666666666666666) at scene/main/scene_tree.cpp:430
#37 0x0000555556106677 in Main::iteration () at main/main.cpp:3123
#38 0x00005555560a15e1 in OS_LinuxBSD::run (this=0x7fffffffd7f0) at platform/linuxbsd/os_linuxbsd.cpp:880
#39 0x0000555556091c31 in main (argc=<optimized out>, argv=0x7fffffffdd28) at platform/linuxbsd/godot_linuxbsd.cpp:73

double free or corruption (fasttop) or corrupted size vs. prev_size in fastbins

Linux, commit 013a45706897af989703b944c7cd5f4f58a6c060 (HEAD -> master) Date: Tue Mar 7 12:05:20 2023 +0100

capnm avatar Mar 07 '23 17:03 capnm