Skip to content
This repository was archived by the owner on Jun 18, 2021. It is now read-only.
This repository was archived by the owner on Jun 18, 2021. It is now read-only.

Panic in wgpu-core\src\command\allocator.rs #314

@gzp79

Description

@gzp79

After a few day (at most 2 week) I've updated my project to use the latest main version.
The 'wasm' target works fine, but the native (x86) target panics after the first frame in wgpu-core\src\command\allocator.rs:

thread 'main' panicked at 'index out of bounds: the len is 2 but the index is 2', d:\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\a7200bb\wgpu-core\src\command\allocator.rs:33:21
stack backtrace:
   0: backtrace::backtrace::trace_unsynchronized
             at C:\Users\VssAdministrator\.cargo\registry\src\git.colasdn.top-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
   1: std::sys_common::backtrace::_print_fmt
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\sys_common\backtrace.rs:78
   2: std::sys_common::backtrace::_print::{{impl}}::fmt
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\sys_common\backtrace.rs:59
   3: core::fmt::write
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libcore\fmt\mod.rs:1069
   4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\io\mod.rs:1537
   5: std::sys_common::backtrace::_print
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\sys_common\backtrace.rs:62
   6: std::sys_common::backtrace::print
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\sys_common\backtrace.rs:49
   7: std::panicking::default_hook::{{closure}}
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\panicking.rs:198
   8: std::panicking::default_hook
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\panicking.rs:218
   9: std::panicking::rust_panic_with_hook
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\panicking.rs:477
  10: std::panicking::begin_panic_handler
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libstd\panicking.rs:385
  11: core::panicking::panic_fmt
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libcore\panicking.rs:89
  12: core::panicking::panic_bounds_check
             at /rustc/a74d1862d4d87a56244958416fd05976c58ca1a8\/src\libcore\panicking.rs:65
  13: core::slice::{{impl}}::index<(gfx_backend_vulkan::command::CommandBuffer, usize)>
             at D:\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\slice\mod.rs:2872
  14: core::slice::{{impl}}::index<(gfx_backend_vulkan::command::CommandBuffer, usize),usize>
             at D:\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\slice\mod.rs:2732
  15: alloc::vec::{{impl}}::index<(gfx_backend_vulkan::command::CommandBuffer, usize),usize>
             at D:\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\liballoc\vec.rs:1945
  16: wgpu_core::command::allocator::CommandPool<gfx_backend_vulkan::Backend>::maintain<gfx_backend_vulkan::Backend>
             at d:\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\a7200bb\wgpu-core\src\command\allocator.rs:33
  17: wgpu_core::command::allocator::CommandAllocator<gfx_backend_vulkan::Backend>::maintain<gfx_backend_vulkan::Backend>
             at d:\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\a7200bb\wgpu-core\src\command\allocator.rs:209
  18: wgpu_core::device::Device<gfx_backend_vulkan::Backend>::maintain<gfx_backend_vulkan::Backend,wgpu_core::hub::IdentityManagerFactory>
             at d:\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\a7200bb\wgpu-core\src\device\mod.rs:316
  19: wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>::queue_submit<wgpu_core::hub::IdentityManagerFactory,gfx_backend_vulkan::Backend>   
             at d:\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\a7200bb\wgpu-core\src\device\queue.rs:335
  20: wgpu::backend::direct::{{impl}}::queue_submit<core::iter::adapters::Map<alloc::vec::Drain<wgpu::CommandBuffer>, closure-0>>
             at d:\.cargo\git\checkouts\wgpu-rs-40ea39809c03c5d8\c830faa\src\backend\direct.rs:17
  21: wgpu::Queue::submit<alloc::vec::Drain<wgpu::CommandBuffer>>
             at d:\.cargo\git\checkouts\wgpu-rs-40ea39809c03c5d8\c830faa\src\lib.rs:1599
  22: shine_game::render::frame::Frame::end
             at .\game\src\render\frame.rs:29
...

The render pass/encoder is a most simple, containing nothing:

let mut encoder = context
                .device()
                .create_command_encoder(&wgpu::CommandEncoderDescriptor { label: None });

            {
                let pass_descriptor = wgpu::RenderPassDescriptor {
                    color_attachments: &[wgpu::RenderPassColorAttachmentDescriptor {
                        attachment: frame.texture_view(),
                        resolve_target: None,
                        load_op: wgpu::LoadOp::Clear,
                        store_op: wgpu::StoreOp::Store,
                        clear_color: wgpu::Color {
                            r: 0.0,
                            g: 0.8,
                            b: 0.0,
                            a: 1.0,
                        },
                    }],
                    depth_stencil_attachment: None,
                };

                //log::info!("render pass");
                let mut render_pass = encoder.begin_render_pass(&pass_descriptor);
                //scene.render(&mut encoder, &pass_descriptor, &mut pipelines);
            }

            frame.add_command(encoder.finish());

Any hint ?
Is it my mistake or the error is in the engine ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions