generated from erix/meta
[BUG] Native image consumer rejects the complete C companion source receipt #52
Labels
No labels
bug
ci
docs
duplicate
enhancement
help wanted
invalid
performance
phase-6
question
refactor
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
erix/integration#52
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Native image construction rejects the current original lib-cstd memory/string companion before linking. The producer completes successfully with eight selected assembly input records, but Integration's receipt validator still requires the earlier two-input inventory. The shared support-manifest validator also names the earlier input set. This is a build compatibility defect; no incorrect object was admitted and no guest executed in the failed reproduction.
Reproduction
Use fresh Integration
38424571b76b36c1e631d99fd2c859fb32311eeatools and a clean lib-cstd checkout atbdcbbea43550e8b99cd9a8221e4bc5a645637990. Select that original lib-cstd commit in an explicit component catalog, retaining the canonical repository URL. Select absolute Python, llvm-mc, llvm-ar and the reviewed cargo_source_metadata.py process-owner paths.Call
dynlink_c_memory.selectwith that catalog,policy="hidden",target="x86_64-unknown-none"and the selected tools, then calldynlink_c_memory.build(selection, fresh_evidence_directory). The normalscripts/package-dev-appliance.shpath reaches the same failure at the first native support build. The retained reproduction used an isolated 73-component original-commit catalog with all 72 Cargo manifests coherent; no dependency source or producer implementation was modified.This occurred on the first image-packaging attempt. The producer, assembler and archiver each returned 0; packaging returned 1. No unchanged image build was retried.
Expected and actual behavior
Expected: correlate the complete original source input inventory with the producer's successful waited receipt, preserving exact path/byte identities, tools, policy, cleanup and output checks.
Actual:
memory producer result does not match selected source/tool/policy. The only mismatched receipt field issource_inputs: the consumer expectssrc/memory/x86_64.sandruntime/c_exports.s; the producer records those plus three string body files and their three export files. The refusal is correct for the stale consumer contract; skipping receipt validation would not repair the incompatibility.Environment and identity
38424571b76b36c1e631d99fd2c859fb32311eea; original lib-cstd producer:bdcbbea43550e8b99cd9a8221e4bc5a645637990.0d64bd6d66d68dac91cdadafc46e22d4f09f22bdc997aaae870f42865b024a3e,034fd6f1749a418ccce4b8538d139634327de66adc3c816b175ee546462f65f1and6f325680e33ebbb7913898bdc9e3dee7d77a26f672a963cf3450f7e6379f33c6, respectively.70875bab1cb1e802d3fc84e301dc8509c0474c73d854faa62a69b045a9144ea4. The last working full image for this new native source combination is not established; prior helper acceptance used the earlier catalog selection.Evidence and prior checks
Current signed correction — 15 September 2026:
Signed Integration
db80a2c1dfc669bd724762d476f5f5c0da005ff6centralizes the complete eight assembly input roles plus the original producer script. Source selection and support-manifest validation share those roles; both outer artifact keys bind the contract module. The catalog changes only native lib-cstd to originalbdcbbea43550e8b99cd9a8221e4bc5a645637990. Exact path/byte, tool, waited status, cleanup and output checks remain required.Actual hidden/public production and missing/extra/altered receipt controls pass, as do both outer cache-key controls. All 162 helper commands are covered: 160 pass in the full run, and the two corrected test-only fixtures pass separately. The original missing-module and unclosed-fixture-stream failures are retained. The strict 320/321-test Rust matrix, Clippy, formatting, private rustdoc and four native builds pass without warnings.
A host-built diagnostic native image contains 38 executables and 27 shared objects, passes closure checks and builds without warnings. Its SHA-256 is
ff5d774308cdf236c860a2423adab6e2594bf3c0991b26eb37cb3c64af96ddfe. It uses 73 original component selections with 72 coherent Cargo manifests and the five explicitly recorded helper corrections whose bytes match this signed checkpoint. It is not an unmodified product catalog. The unchanged editor/history, inherited-stream timing and runtime-error VM probes all pass with their original 120/15/10-second budgets and exact output checks; each leaves the source image unchanged.Signed Docs
31bd9524c31c9d8d6a8f00248f702e6b7d428106explains the complete source contract. All 45 tests and canonical checks pass. The complete manual renders 2,375 pages without final warnings; all 433,817 word boxes are in bounds and changed page 2281 passes visual review. Original API snapshots are unchanged. Docs CI 885/886 passes with all four complete logs (762,204 bytes); reference passes converge with 35/1/0 warnings and zero final warnings. Integration CI 1639/1640 remains queued at its first observation; the build compatibility issue stays open pending its complete CI. Full Exsh frame proof, coherent product adoption and both complete EriX-in-EriX build generations remain open.Original failed-reproduction evidence:
All three producer/tool receipts are complete successful waits without cleanup failure. Comparing the retained result with the consumer predicate identifies only the assembly-input inventory mismatch. Packaging stops before kernel linking or guest launch; no new image/VM acceptance is claimed.
The preceding consumer checkpoint passes all 162 helper commands against their declared source selection and its strict Rust matrix. Those receipts do not validate this newer native source combination. Source, tool, result and failure logs remain retained with their original statuses.
Repair must cover the complete source inventory and support-manifest identity, actual hidden/public producer output, malformed/missing/extra input refusals and cache invalidation. Full helper and matching-image validation remain required; no old/mixed result may gain acceptance through omitted checks.
Tracking
Owning review: #12. Coordinated source inventory and shell workspace design: #1. The corrected diagnostic image and three guest probes pass. Keep this issue open pending complete current-head Integration CI; the separate Exsh frame-proof defect remains open.
erikinkinen referenced this issue from erix/exsh2026-09-15 21:42:12 +02:00