Closed
Description
Bevy version
pipelined-rendering
branch @ 029a7c0
Operating system & version
Windows 10
What you did
Rare panic when starting custom_shader_pipelined
example. May happen on others, but I usually see it on this example.
Running in debug mode:
RUST_BACKTRACE=1 cargo run --example custom_shader_pipelined
What you expected to happen
No race conditions between shader loading and pipeline compiling.
What actually happened
Expand for full Backtrace:
Nov 14 18:26:59.226 INFO bevy_render2::renderer: AdapterInfo { name: "NVIDIA GeForce RTX 3090", vendor: 4318, device: 8708, device_type: DiscreteGpu, backend: Vulkan }
thread 'main' panicked at 'Pipeline cound not be compiled because the following shader is not loaded yet: WeakHandle<Shader>(AssetPathId(AssetPathId(SourcePathId(12319989330922190869), LabelId(12919124369935483856))))', pipelined\bevy_render2\src\render_resource\pipeline_cache.rs:132:46
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\/library\std\src\panicking.rs:498
1: core::panicking::panic_fmt
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\/library\core\src\panicking.rs:106
2: core::panicking::panic_display<ref$<enum$<bevy_render2::render_resource::pipeline_cache::RenderPipelineError> > >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\panicking.rs:62
3: enum$<bevy_render2::render_resource::pipeline_cache::CachedPipelineState>::unwrap
at .\pipelined\bevy_render2\src\render_resource\pipeline_cache.rs:132
4: bevy_render2::render_phase::draw::impl$4::render<bevy_core_pipeline::Transparent3d>
at .\pipelined\bevy_render2\src\render_phase\draw.rs:140
5: bevy_render2::render_phase::draw::impl$21::render<bevy_core_pipeline::Transparent3d,bevy_render2::render_phase::draw::SetItemPipeline,bevy_pbr2::render::SetMeshViewBindGroup<0>,bevy_pbr2::render::SetTransformBindGroup<1>,custom_shader_pipelined::SetCustom
at .\pipelined\bevy_render2\src\render_phase\draw.rs:160
6: bevy_render2::render_phase::draw::impl$6::draw<bevy_core_pipeline::Transparent3d,tuple$<bevy_render2::render_phase::draw::SetItemPipeline,bevy_pbr2::render::SetMeshViewBindGroup<0>,bevy_pbr2::render::SetTransformBindGroup<1>,custom_shader_pipelined::SetCu
at .\pipelined\bevy_render2\src\render_phase\draw.rs:192
7: bevy_core_pipeline::main_pass_3d::impl$1::run
at .\pipelined\bevy_core_pipeline\src\main_pass_3d.rs:95
8: bevy_render2::renderer::graph_runner::RenderGraphRunner::run_graph
at .\pipelined\bevy_render2\src\renderer\graph_runner.rs:178
9: bevy_render2::renderer::graph_runner::RenderGraphRunner::run_graph
at .\pipelined\bevy_render2\src\renderer\graph_runner.rs:187
10: bevy_render2::renderer::graph_runner::RenderGraphRunner::run
at .\pipelined\bevy_render2\src\renderer\graph_runner.rs:60
11: bevy_render2::renderer::render_system
at .\pipelined\bevy_render2\src\renderer\mod.rs:23
12: core::ops::function::FnMut::call_mut<void (*)(ref_mut$<bevy_ecs::world::World>),tuple$<ref_mut$<bevy_ecs::world::World> > >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\ops\function.rs:150
13: alloc::boxed::impl$45::call_mut<tuple$<ref_mut$<bevy_ecs::world::World> >,dyn$<core::ops::function::FnMut<tuple$<ref_mut$<bevy_ecs::world::World> >,assoc$<Output,tuple$<> > >,core::marker::Send,core::marker::Sync>,alloc::alloc::Global>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\alloc\src\boxed.rs:1698
14: bevy_ecs::system::exclusive_system::impl$0::run
at .\crates\bevy_ecs\src\system\exclusive_system.rs:42
15: bevy_ecs::schedule::stage::impl$1::run
at .\crates\bevy_ecs\src\schedule\stage.rs:863
16: bevy_render2::impl$2::build::closure$1
at .\pipelined\bevy_render2\src\lib.rs:245
17: alloc::boxed::impl$46::call<tuple$<ref_mut$<bevy_ecs::world::World>,ref_mut$<bevy_app::app::App> >,dyn$<core::ops::function::Fn<tuple$<ref_mut$<bevy_ecs::world::World>,ref_mut$<bevy_app::app::App> >,assoc$<Output,tuple$<> > > >,alloc::alloc::Global>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\alloc\src\boxed.rs:1705
18: bevy_app::app::App::update
at .\crates\bevy_app\src\app.rs:95
19: bevy_winit::winit_runner_with::closure$1
at .\crates\bevy_winit\src\lib.rs:489
20: winit::platform_impl::platform::event_loop::impl$2::run_return::closure$0<tuple$<>,bevy_winit::winit_runner_with::closure$1>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:206
21: alloc::boxed::impl$45::call_mut<tuple$<enum$<winit::event::Event<tuple$<> > >,ref_mut$<enum$<winit::event_loop::ControlFlow> > >,dyn$<core::ops::function::FnMut<tuple$<enum$<winit::event::Event<tuple$<> > >,ref_mut$<enum$<winit::event_loop::ControlFlow> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\alloc\src\boxed.rs:1698
22: winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:245
23: core::panic::unwind_safe::impl$23::call_once<tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\panic\unwind_safe.rs:271
24: std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0>,tuple$<> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panicking.rs:406
25: winit::platform_impl::platform::raw_input::get_raw_mouse_button_state
26: std::panicking::try<tuple$<>,core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panicking.rs:370
27: std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0>,tuple$<> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panic.rs:133
28: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple$<> >::catch_unwind<tuple$<>,tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:152
29: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple$<> >::call_event_handler<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:239
30: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple$<> >::move_state_to<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:341
31: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple$<> >::main_events_cleared<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:227
32: winit::platform_impl::platform::event_loop::flush_paint_messages<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:703
33: winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:891
34: core::ops::function::FnOnce::call_once<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0,tuple$<> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\ops\function.rs:227
35: core::panic::unwind_safe::impl$23::call_once<isize,winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\panic\unwind_safe.rs:271
36: std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0>,isize>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panicking.rs:406
37: std::panicking::try::do_catch<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0>,isize>
38: std::panicking::try<isize,core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panicking.rs:370
39: std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0>,isize>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\std\src\panic.rs:133
40: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple$<> >::catch_unwind<tuple$<>,isize,winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop\runner.rs:152
41: winit::platform_impl::platform::event_loop::public_window_callback_inner<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:1980
42: winit::platform_impl::platform::event_loop::public_window_callback<tuple$<> >
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:791
43: DefSubclassProc
44: DefSubclassProc
45: CallWindowProcW
46: DispatchMessageW
47: SendMessageTimeoutW
48: KiUserCallbackDispatcher
49: NtUserDispatchMessage
50: DispatchMessageW
51: winit::platform_impl::platform::event_loop::EventLoop<tuple$<> >::run_return<tuple$<>,bevy_winit::winit_runner_with::closure$1>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:221
52: winit::platform_impl::platform::event_loop::EventLoop<tuple$<> >::run<tuple$<>,bevy_winit::winit_runner_with::closure$1>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\platform_impl\windows\event_loop.rs:191
53: winit::event_loop::EventLoop<tuple$<> >::run<tuple$<>,bevy_winit::winit_runner_with::closure$1>
at C:\Users\jay\.cargo\registry\src\g.yxqyang.asia-1ecc6299db9ec823\winit-0.25.0\src\event_loop.rs:154
54: bevy_winit::run<bevy_winit::winit_runner_with::closure$1>
at .\crates\bevy_winit\src\lib.rs:165
55: bevy_winit::winit_runner_with
at .\crates\bevy_winit\src\lib.rs:498
56: bevy_winit::winit_runner
at .\crates\bevy_winit\src\lib.rs:205
57: core::ops::function::Fn::call<void (*)(bevy_app::app::App),tuple$<bevy_app::app::App> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\ops\function.rs:70
58: alloc::boxed::impl$46::call<tuple$<bevy_app::app::App>,dyn$<core::ops::function::Fn<tuple$<bevy_app::app::App>,assoc$<Output,tuple$<> > > >,alloc::alloc::Global>
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\alloc\src\boxed.rs:1705
59: bevy_app::app::App::run
at .\crates\bevy_app\src\app.rs:123
60: custom_shader_pipelined::main
at .\examples\shader\custom_shader_pipelined.rs:35
61: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/0727994435c75fdedd3e9d226cf434089b0ab585\library\core\src\ops\function.rs:227
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\debug\examples\custom_shader_pipelined.exe` (exit code: 101)
Additional information
The panic message contains a typo. s/cound/could