stack-switching: fix continuation chain walking for backtraces#10992
Merged
alexcrichton merged 1 commit intobytecodealliance:mainfrom Jun 10, 2025
Merged
Conversation
A refactor during the stack switching runtime changes introduced a defect not present in the base stack switching code. The `chunks` iterator call ends up skipping elements and the `windows` call would require pulling in something like `itertools::zip_longest` to work, so I just restored an impl closer to the original implementation (but with more fine-grained unsafe calls). This code has coverage but only in the final round of stack swithching changes.
fitzgen
approved these changes
Jun 9, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jun 9, 2025
A refactor during the stack switching runtime changes introduced a defect not present in the base stack switching code. The `chunks` iterator call ends up skipping elements and the `windows` call would require pulling in something like `itertools::zip_longest` to work, so I just restored an impl closer to the original implementation (but with more fine-grained unsafe calls). This code has coverage but only in the final round of stack swithching changes.
dhil
approved these changes
Jun 10, 2025
Contributor
dhil
left a comment
There was a problem hiding this comment.
LGTM. Though, it may be good to have @frank-emrich give it a look too.
bongjunj
pushed a commit
to prosyslab/wasmtime
that referenced
this pull request
Oct 20, 2025
A refactor during the stack switching runtime changes introduced a defect not present in the base stack switching code. The `chunks` iterator call ends up skipping elements and the `windows` call would require pulling in something like `itertools::zip_longest` to work, so I just restored an impl closer to the original implementation (but with more fine-grained unsafe calls). This code has coverage but only in the final round of stack swithching changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A refactor during the stack switching runtime changes introduced a defect not present in the base stack switching code. The
chunksiterator call ends up skipping elements and thewindowscall would require pulling in something likeitertools::zip_longestto work, so I just restored an impl closer to the original (but with more fine-grained unsafe calls).This code has coverage but only in the final round of stack switching changes.
Original Discussion: #10388 (comment). I didn't look closely enough when I took on this approach and w/o testing this slipped through (though can't really be hit yet).
Failing Test with current main + cranelift changes + tests: https://github.com/posborne/wasmtime/actions/runs/15538863221/job/43744530801#step:19:1165
CC @frank-emrich, @dhil