fitzgen requested wasmtime-fuzz-reviewers for a review on PR #13017.
fitzgen requested wasmtime-core-reviewers for a review on PR #13017.
fitzgen requested alexcrichton for a review on PR #13017.
fitzgen opened PR #13017 from fitzgen:handle-oom-in-component-func-call-async to bytecodealliance:main:
Add NameMap::get_by_str to avoid infallible String allocation in
component export name lookups. The NameMapNoIntern implementation
allocated a String on every lookup; the new method uses borrowed
&str keys directly on the underlying IndexMap instead.Depends on https://github.com/bytecodealliance/wasmtime/pull/12993
fitzgen updated PR #13017.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
Given how subtle this is I'd prefer to not duplicate the
getmethod above. Would it be possible to refactor the trait methods or un-generalize theNameMapin general if the full genericKtype parameter isn't needed?
github-actions[bot] added the label fuzzing on PR #13017.
github-actions[bot] added the label wasmtime:api on PR #13017.
github-actions[bot] commented on PR #13017:
Subscribe to Label Action
cc @fitzgen
<details>
This issue or pull request has been labeled: "fuzzing", "wasmtime:api"Thus the following users have been cc'd because of the following labels:
- fitzgen: fuzzing
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
fitzgen updated PR #13017.
fitzgen commented on PR #13017:
@alexcrichton want to take another look? Adjusting the trait got pretty big, although it is mostly stuff I've done similar things for in follow-up commits that I haven't pushed up as new PRs yet.
fitzgen updated PR #13017.
alexcrichton submitted PR review.
alexcrichton created PR review comment:
Technically the
AssertTryClonehere isn't appropriate whereVersioncan have aVec<String>(I think morally at least) via the build metadata and prerelease and such. That being said I don't think we're equipped to actually have any sort of fallible-allocation-handling path here at all in the sense of we can't fallibly create aVersion(nor clone it).As a mild bikeshed on
AssertTryClonethough, to me that feels a bit too dangerous or a bit too easy to forget to handle allocation failure. Would a newtype wrapper forVersionwork instead? Something like a local-to-this-moduleTryVersionwhich is a wrapper aroundVersion
fitzgen updated PR #13017.
fitzgen updated PR #13017.
fitzgen has enabled auto merge for PR #13017.
fitzgen added PR #13017 Add OOM test for component Func::call_async to the merge queue
fitzgen merged PR #13017.
fitzgen removed PR #13017 Add OOM test for component Func::call_async from the merge queue
Last updated: Apr 12 2026 at 23:10 UTC