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 Buffer has an uninitialized range with an end not aligned to 4 (end was 31) if buffer size is 31 #4731

Closed
nical opened this issue Nov 20, 2023 · 3 comments · Fixed by #5014
Assignees
Labels
area: correctness We're behaving incorrectly type: bug Something isn't working

Comments

@nical
Copy link
Contributor

nical commented Nov 20, 2023

Description

Running into this assertion in the CTS after landing arcanization. There is a decent chance that this isn't actually caused by arcanization but is that it perhaps fixed something that led us to cover a case that was not run before.
Edit: I have growing confidence that it isn't related to arcanization and we might have had it before it landed.

Test log: https://treeherder.mozilla.org/logviewer?job_id=436806642&repo=try&lineNumber=2709

The assertion being hit is:


The end of the range is 31.

At a glance, one might think that the logic that rounds up some range here would prevent that, but in practice the code that iterates the ranges here pulls from the original (not fixed up) ranges.

There is a lot going on here and my I haven't quite wrapped my head around it but a notable thing is that the buffer size is 31.

Repro steps

For firefox devs (or adventurous folks):

# in the mozilla-central repository
./mach wpt '/_mozilla/webgpu/chunked/63/cts.https.html?q=webgpu:shader,execution,robust_access_vertex:vertex_buffer_access:*'

I can upload a wgpu trace of the bug (although it's a bit large).

@nical nical added the type: bug Something isn't working label Nov 20, 2023
@teoxoy teoxoy added the area: correctness We're behaving incorrectly label Nov 20, 2023
@teoxoy teoxoy added this to the WebGPU Specification V1 milestone Nov 20, 2023
@ErichDonGubler
Copy link
Member

Edited OP to separate the q query param. from URL path segments with a ?, instead of a space ( ). Seems like a typo?

@hdpotter
Copy link

hdpotter commented Dec 1, 2023

I ran into this as well. As far as I can tell, sizes below 100 work fine, but sizes 101 and above fail if not divisible by four.

@Wumpf
Copy link
Member

Wumpf commented Dec 2, 2023

Likely related to

@nical nical changed the title Panic Buffer has an uninitialized range with an end not aligned to 4 (end was 31) if buffer size if 31 Panic Buffer has an uninitialized range with an end not aligned to 4 (end was 31) is buffer size if 31 Dec 15, 2023
@nical nical changed the title Panic Buffer has an uninitialized range with an end not aligned to 4 (end was 31) is buffer size if 31 Panic Buffer has an uninitialized range with an end not aligned to 4 (end was 31) if buffer size is 31 Dec 15, 2023
@nical nical self-assigned this Jan 8, 2024
@nical nical moved this to In Progress in WebGPU for Firefox Jan 8, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in WebGPU for Firefox Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: correctness We're behaving incorrectly type: bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

5 participants