-
-
Notifications
You must be signed in to change notification settings - Fork 123
Open
Description
I encountered this crash on voxels example, it reproduces on mac + PopOS after a few seconds:
The crash happens at
Line 858 in 025c77d
rel_key.x as u32 + rel_key.y as u32 * dims[0] + rel_key.z as u32 * dims[0] * dims[1] |
rel_key.z
is somehow -1, so when cast to u32, that leads to an overflowing multiplication.
The point_key.z
in argument is under the min_dimension.z
:
voxel_key = [
126,
0,
-1,
]
self.domain_mins = [
0,
-11,
0,
]
Crash
Finished `dev` profile [optimized + debuginfo] target(s) in 0.16s
Running `target/debug/all_examples3`
2025-06-12T07:57:42.318205Z INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 7600 (RADV NAVI33)", vendor: 4098, device: 29824, device_type: DiscreteGpu, driver: "radv", driver_info: "Mesa 24.0.3-1pop1~1711635559~22.04~7a9f319", backend: Vulkan }
2025-06-12T07:57:42.375048Z INFO bevy_winit::system: Creating new window "Rapier: 3D demos" (0v1#4294967296)
2025-06-12T07:57:42.375078Z INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1
[/home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/shape/voxels.rs:858:9] rel_key = [
[
126,
11,
-1,
],
]
thread 'main' panicked at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/shape/voxels.rs:858:9:
attempt to add with overflow
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
1: core::panicking::panic_fmt
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
2: core::panicking::panic_const::panic_const_add_overflow
at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:178:21
3: parry3d::shape::voxels::Voxels::linear_index
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/shape/voxels.rs:858:9
4: parry3d::query::contact_manifolds::contact_manifolds_voxels_shape::CanonicalVoxelShape::from_voxel
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/query/contact_manifolds/contact_manifolds_voxels_shape.rs:355:17
5: parry3d::query::contact_manifolds::contact_manifolds_voxels_shape::contact_manifolds_voxels_shape
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/query/contact_manifolds/contact_manifolds_voxels_shape.rs:145:26
6: parry3d::query::contact_manifolds::contact_manifolds_voxels_shape::contact_manifolds_voxels_shape_shapes
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/query/contact_manifolds/contact_manifolds_voxels_shape.rs:87:9
7: <parry3d::query::default_query_dispatcher::DefaultQueryDispatcher as parry3d::query::query_dispatcher::PersistentQueryDispatcher<ManifoldData,ContactData>>::contact_manifolds
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/parry3d-0.21.1/src/query/default_query_dispatcher.rs:555:21
8: rapier3d::geometry::narrow_phase::NarrowPhase::compute_contacts::{{closure}}
at ./crates/rapier3d/../../src/geometry/narrow_phase.rs:960:25
9: <core::slice::iter::IterMut<T> as core::iter::traits::iterator::Iterator>::for_each
at /home/tb/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:277:21
10: rapier3d::geometry::narrow_phase::NarrowPhase::compute_contacts
at ./crates/rapier3d/../../src/geometry/narrow_phase.rs:820:9
11: rapier3d::pipeline::physics_pipeline::PhysicsPipeline::detect_collisions
at ./crates/rapier3d/../../src/pipeline/physics_pipeline.rs:150:9
12: rapier3d::pipeline::physics_pipeline::PhysicsPipeline::step
at ./crates/rapier3d/../../src/pipeline/physics_pipeline.rs:627:13
13: rapier_testbed3d::harness::Harness::step_with_graphics
at ./crates/rapier_testbed3d/../../src_testbed/harness/mod.rs:235:9
14: rapier_testbed3d::testbed::update_testbed
at ./crates/rapier_testbed3d/../../src_testbed/testbed.rs:1436:17
15: core::ops::function::FnMut::call_mut
at /home/tb/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:166:5
16: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
at /home/tb/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
17: <Func as bevy_ecs::system::function_system::SystemParamFunction<fn(F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13) .> Out>>::run::call_inner
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bevy_ecs-0.15.2/src/system/function_system.rs:1002:21
18: <Func as bevy_ecs::system::function_system::SystemParamFunction<fn(F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13) .> Out>>::run
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bevy_ecs-0.15.2/src/system/function_system.rs:1005:17
19: <bevy_ecs::system::function_system::FunctionSystem<Marker,F> as bevy_ecs::system::system::System>::run_unsafe
at /home/tb/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bevy_ecs-0.15.2/src/system/function_system.rs:800:19
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Encountered a panic in system `rapier_testbed3d::testbed::update_testbed`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!
Metadata
Metadata
Assignees
Labels
No labels