Jondolf / avian

ECS-driven 2D and 3D physics engine for the Bevy game engine.
https://crates.io/crates/avian3d
Apache License 2.0
1.34k stars 108 forks source link

Debug renderer crashes #432

Open Sorseg opened 1 month ago

Sorseg commented 1 month ago

Enabled debug rendering having a bunch of convex decomposition colliders, got this

index out of bounds: the len is 16 but the index is 16

   0: rust_begin_unwind
             at /rustc/59e2c01c2217a01546222e4d9ff4e6695ee8a1db/library/std/src/panicking.rs:658:5
   1: core::panicking::panic_fmt
             at /rustc/59e2c01c2217a01546222e4d9ff4e6695ee8a1db/library/core/src/panicking.rs:74:14
   2: core::panicking::panic_bounds_check
             at /rustc/59e2c01c2217a01546222e4d9ff4e6695ee8a1db/library/core/src/panicking.rs:276:5
   3: <bevy_gizmos::gizmos::Gizmos<avian3d::debug_render::configuration::PhysicsGizmos> as avian3d::debug_render::gizmos::PhysicsGizmoExt>::draw_polyline
             at <registry>/src/index.crates.io-6f17d22bba15001f/avian3d-0.1.1/src/debug_render/gizmos.rs:136:45
   4: <bevy_gizmos::gizmos::Gizmos<avian3d::debug_render::configuration::PhysicsGizmos> as avian3d::debug_render::gizmos::PhysicsGizmoExt>::draw_collider
             at <registry>/src/index.crates.io-6f17d22bba15001f/avian3d-0.1.1/src/debug_render/gizmos.rs:398:17
   5: <bevy_gizmos::gizmos::Gizmos<avian3d::debug_render::configuration::PhysicsGizmos> as avian3d::debug_render::gizmos::PhysicsGizmoExt>::draw_collider
             at <registry>/src/index.crates.io-6f17d22bba15001f/avian3d-0.1.1/src/debug_render/gizmos.rs:301:21
   6: avian3d::debug_render::debug_render_colliders
             at <registry>/src/index.crates.io-6f17d22bba15001f/avian3d-0.1.1/src/debug_render/mod.rs:291:13
   7: core::ops::function::FnMut::call_mut
             at /rustc/59e2c01c2217a01546222e4d9ff4e6695ee8a1db/library/core/src/ops/function.rs:166:5
   8: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/59e2c01c2217a01546222e4d9ff4e6695ee8a1db/library/core/src/ops/function.rs:294:13
   9: <Func as bevy_ecs::system::function_system::SystemParamFunction<fn(F0,F1,F2,F3) .> Out>>::run::call_inner
             at <registry>/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.14.0/src/system/function_system.rs:710:21
  10: <Func as bevy_ecs::system::function_system::SystemParamFunction<fn(F0,F1,F2,F3) .> Out>>::run
             at <registry>/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.14.0/src/system/function_system.rs:713:17
  11: <bevy_ecs::system::function_system::FunctionSystem<Marker,F> as bevy_ecs::system::system::System>::run_unsafe
             at <registry>/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.14.0/src/system/function_system.rs:534:19

lock file excerpt

[[package]]
name = "avian3d"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54325576b6efa46576db611624db749b553d0c66e439862bdc60c43e01f012f9"
# ...
[[package]]
name = "bevy"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e938630e9f472b1899c78ef84aa907081b23bad8333140e2295c620485b6ee7"

I'll try to repro and extract the offending collider

Sorseg commented 1 month ago

I failed