Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic in tracker_assert_in_bounds #5022

Closed
nical opened this issue Jan 9, 2024 · 1 comment
Closed

panic in tracker_assert_in_bounds #5022

nical opened this issue Jan 9, 2024 · 1 comment
Assignees
Labels
type: bug Something isn't working

Comments

@nical
Copy link
Contributor

nical commented Jan 9, 2024

Description

assertion failed: index < self.owned.len()) at wgpu-core/src/track/metadata.rs:52

Backtrace:

10  core::panicking::panic() [panicking.rs:82e1608dfa6e0b5569232559e3d385fea5a93112 : 127 + 0x7]
     rbx = 0x000001cba80782e8    rbp = 0x0000004eba78e6e0
     rsp = 0x0000004eba78e650    r12 = 0x000001cba80e03e8
     r13 = 0x000001cb9fcaac80    r14 = 0x000001cba80e07b8
     r15 = 0x00000000ffffbce0    rip = 0x00007ff98592b4f2
    Found by: call frame info
11  track::metadata::ResourceMetadata<dx12::Api,id::Id<command::bundle::RenderBundle<empty::Api> >,command::bundle::RenderBundle<dx12::Api> >::tracker_assert_in_bounds<dx12::Api,id::Id<command::bundle::RenderBundle<empty::Api> >,command::bundle::RenderBundle<dx12::Api> >(unsigned long long) [metadata.rs : 52 + 0x17]
     rbx = 0x000001cba80782e8    rbp = 0x0000004eba78e6e0
     rsp = 0x0000004eba78e6c0    r12 = 0x000001cba80e03e8
     r13 = 0x000001cb9fcaac80    r14 = 0x000001cba80e07b8
     r15 = 0x00000000ffffbce0    rip = 0x00007ff9838e7353
    Found by: call frame info
12  track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >::tracker_assert_in_bounds(unsigned long long) [stateless.rs : 132]
    Found by: inlining
13  track::stateless::impl$1::remove_abandoned(track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >*, id::Id<resource::TextureView<empty::Api> >) [stateless.rs : 97]
    Found by: inlining
14  device::life::impl$2::triage_resources::closure$0(device::life::impl$2::triage_resources::closure_env$0<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api>,device::life::impl$2::triage_suspected_texture_views::closure_env$1<dx12::Api>,track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >,device::life::impl$2::triage_suspected_texture_views::closure_env$0<dx12::Api> >*, id::Id<resource::TextureView<empty::Api> >*, alloc::sync::Arc<resource::TextureView<dx12::Api>,alloc::alloc::Global>*) [life.rs : 460]
    Found by: inlining
15  hashbrown::map::HashMap<id::Id<resource::TextureView<empty::Api> >,alloc::sync::Arc<resource::TextureView<dx12::Api>,alloc::alloc::Global>,core::hash::BuildHasherDefault<rustc_hash::FxHasher>,alloc::alloc::Global>::retain(device::life::impl$2::triage_resources::closure_env$0<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api>,device::life::impl$2::triage_suspected_texture_views::closure_env$1<dx12::Api>,track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >,device::life::impl$2::triage_suspected_texture_views::closure_env$0<dx12::Api> >) [map.rs : 927]
    Found by: inlining
16  std::collections::hash::map::HashMap<id::Id<resource::TextureView<empty::Api> >,alloc::sync::Arc<resource::TextureView<dx12::Api>,alloc::alloc::Global>,core::hash::BuildHasherDefault<rustc_hash::FxHasher> >::retain(device::life::impl$2::triage_resources::closure_env$0<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api>,device::life::impl$2::triage_suspected_texture_views::closure_env$1<dx12::Api>,track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >,device::life::impl$2::triage_suspected_texture_views::closure_env$0<dx12::Api> >) [map.rs : 692]
    Found by: inlining
17  device::life::LifetimeTracker<dx12::Api>::triage_resources(std::collections::hash::map::HashMap<id::Id<resource::TextureView<empty::Api> >,alloc::sync::Arc<resource::TextureView<dx12::Api>,alloc::alloc::Global>,core::hash::BuildHasherDefault<rustc_hash::FxHasher> >*, ref_mut$<slice2$<device::life::ActiveSubmission<dx12::Api> > >, device::life::ResourceMaps<dx12::Api>*, track::stateless::StatelessTracker<dx12::Api,id::Id<resource::TextureView<empty::Api> >,resource::TextureView<dx12::Api> >*, device::life::impl$2::triage_suspected_texture_views::closure_env$0<dx12::Api>, device::life::impl$2::triage_suspected_texture_views::closure_env$1<dx12::Api>) [life.rs : 453]
    Found by: inlining
18  device::life::LifetimeTracker<dx12::Api>::triage_suspected_texture_views(lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,track::Tracker<dx12::Api> >*, enum2$<core::option::Option<ref_mut$<device::trace::Trace> > >*) [life.rs : 573]
    Found by: inlining
19  device::life::LifetimeTracker<dx12::Api>::triage_suspected<dx12::Api>(lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,track::Tracker<dx12::Api> >*, enum2$<core::option::Option<ref_mut$<device::trace::Trace> > >) [life.rs : 932 + 0x23a]
     rbx = 0x000001cba80782e8    rbp = 0x0000004eba78e770
     rsp = 0x0000004eba78e6f0    r12 = 0x000001cba80e03e8
     r13 = 0x000001cb9fcaac80    r14 = 0x000001cba80e07b8
     r15 = 0x00000000ffffbce0    rip = 0x00007ff9838f9628
    Found by: call frame info
20  device::resource::Device<dx12::Api>::maintain<dx12::Api>(dx12::Fence*, enum2$<wgpu_types::Maintain<device::queue::WrappedSubmissionIndex> >) [resource.rs : 337 + 0x11]
     rbx = 0x000001cba80e02a0    rsi = 0x0000000000000000
     rdi = 0x000001cba80e0578    rbp = 0x0000004eba78eac0
     rsp = 0x0000004eba78ea40    r12 = 0x0000004eba78f328
     r13 = 0x0000000000000000    r14 = 0x000001cba80e0010
     r15 = 0x000001cba80e0290    rip = 0x00007ff983917147
    Found by: call frame info
21  global::Global<wgpu_bindings::identity::IdentityRecyclerFactory>::poll_device(bool, device::UserClosures*) [global.rs : 2146]
    Found by: inlining
22  global::Global<wgpu_bindings::identity::IdentityRecyclerFactory>::poll_all_devices(bool) [global.rs : 2180]
    Found by: inlining
23  wgpu_bindings::server::wgpu_server_poll_all_devices(wgpu_bindings::server::Global*, bool) [server.rs : 143 + 0x439]
     rbx = 0x0000004eba78f272    rsi = 0x000001cba80e0000
     rdi = 0x000001cb9a4c7a48    rbp = 0x0000004eba78f1b0
     rsp = 0x0000004eba78f130    r12 = 0x0000000000000013
     r13 = 0x0000000000000000    r14 = 0x0000000000000008
     r15 = 0x0000000000000020    rip = 0x00007ff9839728ea
    Found by: call frame info

Repro steps

This happens intermittently on CTS runs, in chunk 7 and in other places (the chunking is about to change though so this information will go out of date soon). I think that it can happen in various tests depending on the timings of garbage collection, so it isn't necessarily crashing during the test that set things in the wrong state.

@nical nical added the type: bug Something isn't working label Jan 9, 2024
@nical nical self-assigned this Jan 9, 2024
@nical nical moved this to In Progress in WebGPU for Firefox Jan 9, 2024
@cwfitzgerald
Copy link
Member

Going to close as fixed, re-open if it rears its head again.

@github-project-automation github-project-automation bot moved this from In Progress to Done in WebGPU for Firefox Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

2 participants