fix(sidecar): load guest software built with V8-incompatible wasm features; make an executable-less package a loud typed error - #1927
Open
WyvernMonarch wants to merge 1 commit into
Conversation
…tures; loud PackageNoExecutables
Package E, agentOS side (defect D11): grep's aospkg was built by newer
binaryen with compact imports enabled, which Node/V8 does not implement,
so the guest binary silently failed to load ('command not found' despite
the package being listed). build-grep-upstream.sh now disables compact
imports when the flag exists; package projection surfaces a typed
PackageNoExecutables error instead of silent absence. Canary: guest
grep works first-try (count=34) through the full OMF thin stack.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VK2HMiUAJryC8KcZCHgUJp
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.
Two failures, one story
Building a guest tool with the repo's own C toolchain and then running it produced a VM that silently had no working binary.
binaryenemitted a module V8 refuses.toolchain/c/scripts/build-grep-upstream.shranwasm-opt --all-features, which enables extended-const and other post-MVP proposals in the output; the V8 runtime then rejects the module at instantiation. The build "succeeded", the artifact was unusable.The fix
--all-features, so a module that builds is a module that loads.package_projection.rsdetects a configured package that projects zero executables and raises a typedPackageNoExecutablesboot error naming the package, with the ACP surface mapping it to a stablepackage_no_executablescode. The failure now happens at boot, at the right layer, with the package name in the message.Why it is safe
wasm-opt; modules that already loaded are unaffected, and one that needed a rejected feature never worked in the first place.cargo build -p agentos-native-sidecaris clean.Found while shipping a guest
grepfor VM-sandboxed workers; the same trap applies to any guest package built by that script.