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

Crashes when dynamic geometry is used on an Embree scene #46

Closed
stechyo opened this issue Mar 18, 2024 · 1 comment
Closed

Crashes when dynamic geometry is used on an Embree scene #46

stechyo opened this issue Mar 18, 2024 · 1 comment
Labels
bug Something isn't working
Milestone

Comments

@stechyo
Copy link
Owner

stechyo commented Mar 18, 2024

Are you using the provided fork of Godot?
Yes.

Godot-steam-audio version
0.2.0-rc1

Steam-Audio version
4.5.2

Operating System
Linux

Describe the bug
When dynamic geometries are used with Embree scenes, the sample project crashes.
This bug is probably due to some weird memory corruption, problem being it's either on Godot, Embree or steam-audio (the exact same code of godot-steam-audio works with the default scene, so it's likely either Embree or steam-audio).

To Reproduce
Add a dynamic geometry and set scene type to Embree on SteamAudioConfig

Expected behavior
Not crashing

Additional context
GDB trace:

malloc(): invalid size (unsorted)
(gdb) bt
#0  0x00007ffff7d64834 in __pthread_kill_implementation () from /lib64/libc.so.6
#1  0x00007ffff7d128ee in raise () from /lib64/libc.so.6
#2  0x00007ffff7cfa8ff in abort () from /lib64/libc.so.6
#3  0x00007ffff7cfb7d0 in __libc_message.cold () from /lib64/libc.so.6
#4  0x00007ffff7d6e7a5 in malloc_printerr () from /lib64/libc.so.6
#5  0x00007ffff7d71abc in _int_malloc () from /lib64/libc.so.6
#6  0x00007ffff7d72d24 in malloc () from /lib64/libc.so.6
#7  0x00000000064ddefc in Memory::alloc_static (p_bytes=4096, p_pad_align=true) at core/os/memory.cpp:75
#8  0x000000000510b0ae in CowData<PhysicsServer3D::MotionResult>::resize<false> (this=0xf056a68, p_size=1) at ./core/templates/cowdata.h:291
#9  0x000000000510767e in Vector<PhysicsServer3D::MotionResult>::resize (this=0xf056a60, p_size=1) at ./core/templates/vector.h:94
#10 0x0000000005102429 in Vector<PhysicsServer3D::MotionResult>::push_back (this=0xf056a60, p_elem=...) at ./core/templates/vector.h:316
#11 0x00000000050e6bc4 in CharacterBody3D::_move_and_slide_grounded (this=0xf056390, p_delta=0.016666666666666666, p_was_on_floor=false) at scene/3d/physics_body_3d.cpp:1294
#12 0x00000000050e6675 in CharacterBody3D::move_and_slide (this=0xf056390) at scene/3d/physics_body_3d.cpp:1237
#13 0x0000000002b586be in call_with_validated_variant_args_ret_helper<__UnexistingClass, bool>(__UnexistingClass*, bool (__UnexistingClass::*)(), Variant const**, Variant*, IndexSequence<>) (
    p_instance=0xf056390, p_method=(bool (__UnexistingClass::*)(__UnexistingClass * const)) 0x50e60ae <CharacterBody3D::move_and_slide()>, p_args=0x7fffffff8a98, r_ret=0x7fffffff8a08)
    at ./core/variant/binder_common.h:374
#14 0x0000000002b54ed9 in call_with_validated_object_instance_args_ret<__UnexistingClass, bool> (base=0xf056390, 
    p_method=(bool (__UnexistingClass::*)(__UnexistingClass * const)) 0x50e60ae <CharacterBody3D::move_and_slide()>, p_args=0x7fffffff8a98, r_ret=0x7fffffff8a08) at ./core/variant/binder_common.h:661
#15 0x0000000002b51291 in MethodBindTR<bool>::validated_call (this=0xe100b80, p_object=0xf056390, p_args=0x7fffffff8a98, r_ret=0x7fffffff8a08) at ./core/object/method_bind.h:505
#16 0x0000000002d25c96 in GDScriptFunction::call (this=0xec22cf0, p_instance=0xecd7320, p_args=0x7fffffffc7d8, p_argcount=1, r_err=..., p_state=0x0) at modules/gdscript/gdscript_vm.cpp:1961
#17 0x0000000002bf2423 in GDScriptInstance::callp (this=0xecd7320, p_method=..., p_args=0x7fffffffc7d8, p_argcount=1, r_error=...) at modules/gdscript/gdscript.cpp:1937
#18 0x0000000004ab0e00 in Node::_gdvirtual__physics_process_call<false> (this=0xf056390, arg1=0.016666666666666666) at scene/main/node.h:319
#19 0x0000000004a93f58 in Node::_notification (this=0xf056390, p_notification=16) at scene/main/node.cpp:61
#20 0x0000000002b22238 in Node::_notificationv (this=0xf056390, p_notification=16, p_reversed=false) at scene/main/node.h:49
#21 0x0000000002b3c3e5 in Node3D::_notificationv (this=0xf056390, p_notification=16, p_reversed=false) at ./scene/3d/node_3d.h:52
#22 0x0000000004f587c7 in CollisionObject3D::_notificationv (this=0xf056390, p_notification=16, p_reversed=false) at ./scene/3d/collision_object_3d.h:38
#23 0x00000000050fb7c1 in PhysicsBody3D::_notificationv (this=0xf056390, p_notification=16, p_reversed=false) at scene/3d/physics_body_3d.h:43
#24 0x00000000050fe301 in CharacterBody3D::_notificationv (this=0xf056390, p_notification=16, p_reversed=false) at scene/3d/physics_body_3d.h:346
#25 0x0000000006a29f7a in Object::notification (this=0xf056390, p_notification=16, p_reversed=false) at core/object/object.cpp:837
#26 0x0000000004ad4bdc in SceneTree::_process_group (this=0xeb820f0, p_group=0xeb82348, p_physics=true) at scene/main/scene_tree.cpp:944
#27 0x0000000004ad51a1 in SceneTree::_process (this=0xeb820f0, p_physics=true) at scene/main/scene_tree.cpp:1028
#28 0x0000000004ad2dcc in SceneTree::physics_process (this=0xeb820f0, p_time=0.016666666666666666) at scene/main/scene_tree.cpp:468
#29 0x0000000002948573 in Main::iteration () at main/main.cpp:3596
#30 0x00000000028c2712 in OS_LinuxBSD::run (this=0x7fffffffced0) at platform/linuxbsd/os_linuxbsd.cpp:933
#31 0x00000000028bb190 in main (argc=1, argv=0x7fffffffd4c8) at platform/linuxbsd/godot_linuxbsd.cpp:74
@stechyo stechyo added the bug Something isn't working label Mar 18, 2024
@stechyo stechyo added this to the 0.2.0 milestone Mar 18, 2024
@stechyo stechyo closed this as completed in d9a8ff5 Apr 1, 2024
@stechyo
Copy link
Owner Author

stechyo commented Apr 1, 2024

SteamAudio v4.5.3 fixed it. See ValveSoftware/steam-audio#322

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant