You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the new move_and_slide_with_snap logic results in null pointer exceptions when a floor body is freed while a kinematic body is colliding with it.
ERROR: Condition "!body" is true. Returned: nullptr
at: body_get_direct_state (modules/bullet/bullet_physics_server.cpp:855)
ERROR: Condition "!id_map.has(p_rid.get_data())" is true. Returned: nullptr
at: get (./core/rid.h:140)
Godot version
3.4.stable
System information
Pop!_OS 21.04, NVIDIA Corporation GK104 [GeForce GTX 770], GLES3
Issue description
Using the new
move_and_slide_with_snap
logic results in null pointer exceptions when a floor body is freed while a kinematic body is colliding with it.I believe this is because of the check here:
godot/scene/3d/physics_body.cpp
Lines 1070 to 1072 in 489b49c
If the object
on_floor_body
points to is freed, the RID doesn't exist (but remains 'valid' in the kinematic body).Steps to reproduce
move_and_slide
every physics tick and free the static body.Minimal reproduction project
platform-deletion.zip
The text was updated successfully, but these errors were encountered: