generated from erix/meta
[BUG] Dynamic Rootd compilation rejects dependency-qualified features #50
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#50
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
The shared dynamic compiler's manifest feature resolver treats dependency-qualified selectors as local package features. Existing Rootd scenario builds fail before their VM can execute. Both current Integration workflows report 54 scenario passes and 432 failures out of 486.
Reproduction
At Integration
4b65755f1f2774798d4a909212db4e64c0349b86, run an existing Rootd smoke scenario through the ordinary dynamic builder. The selected Rootd manifest receivesrootd-runtime,rootd-integration-policy,rootd_integration_orchestration/integration-smoke. The shared-object builder resolves the orchestration feature, but Rootd's own compiler configuration then rejects the same qualified selector.The smaller regression calls
enabled_featuresfromscripts/dynlink_package_features.pywith a declared local feature and a declared dependency-qualified feature, usingreplace_defaults=(). It should return only the local compiler feature closure.Expected and actual behavior
Expected: local compiler cfg values belong to the selected package. Dependency-qualified selections are validated and routed to their owning dependency, without inventing local cfg values or silently accepting unknown local features.
Actual:
selected unknown package feature rootd_integration_orchestration/integration-smoke, followed bydynamic artifact build failed: rootdand exit status 1. Both complete catalog jobs fail; the subsequent isolated native diagnostic, canonical images and terminal modes are not reached in those workflows.Environment and identity
4b65755f1f2774798d4a909212db4e64c0349b86, feature branchfeature/posix-compat.ac3c1847af9915164d4a819f5f15e1827884e8b1.47c27a1614c02323db7bbebfdbd0ca6b09bc9d45push workflow 1601 passed the full catalog; no unchanged rerun is requested.Evidence and prior checks
Push CI 1603 and PR CI 1604 retain the original failures. All six terminal logs were inspected, totaling 14,427,322 bytes with zero warning candidates. Rust and Markdown jobs pass in both runs. Each catalog reports 54 passes, 432 failures and 486 total scenarios; these are scenario results, not a claim that every failure has an identical cause.
The separate local lifetime diagnostic at this revision passed its actual VM markers and expected exit. That result does not establish full catalog acceptance. The existing helper tests missed a qualified selector entering the shared compiler path.
Validation checkpoint — 14 September 2026: Signed Integration
7cc0593e101b2e0ca42f24d4fa189dd96cb1455cpasses all 159 helper suites, the strict four-selection Rust matrix (320/321 units) and all 87 original Rootd feature selections from failed CI 1603/1604. Both final native VMs pass unchanged exit/marker rules with empty stderr. The lifetime image is 2,150,400 bytes, SHA2567d8b99684110d38dd77d2be297f1d896d7bb94a2f60dc5a3ee3dcab06cea2c76; the ordinary Rootd image is 27,934,720 bytes, SHA2563868790fac953843c62e3674ef149dc55e4502e5118212fcc95d1aef875cf1a0. Original compiler, runtime-import and entry-argument failures remain retained. Full CI 1605 and 1606 is running; no full-catalog pass is claimed.Allocator validation checkpoint — 14 September 2026: Signed Integration
a869a81eb406a4f027a2b5db573b6330ca114d94selects both final source graphs and passes all 159 helper suites plus strict 320/321-unit development/release default/all Rust matrices. The final ordinary Rootd IPC-framing VM passes in 45.832335 seconds and the native distinct-argument/lifetime VM passes in 13.026853 seconds, under unchanged exit/marker/deadline rules with empty QEMU stderr. These are host build-and-run durations. The ordinary image is 27,934,720 bytes, SHA2562a187127696d569ae5c627d9c1d154ad53c024e98d9a181dbb6006790f01a0cc; the lifetime image is 2,142,208 bytes, SHA2568fa4c7512a5916a51ba956b1e55c84ac2945c2580ff9556c99c27cbaa6e3321d. Its final image, ELF and EFI bytes equal the preceding validated feature-tree artifacts. Older full CI 1605/1606 is still running; new 1607/1608 is waiting. No full-catalog pass, realm implementation or full guest build is claimed.Endpoint construction checkpoint — 14 September 2026: Completed older Integration 1605/1606 at
7cc0593e101b2e0ca42f24d4fa189dd96cb1455ceach reports 485 passes and one failure across all 486 scenarios. The sole failed scenario is the existing ext4 quota timeout tracked in #18. All six complete logs total 27,546,527 bytes with zero warning candidates; Rust and Markdown pass. There are no VM-worker dependency-feature compiler failures. Subsequent dependent image and terminal gates remain unestablished. The allocator cohort 1607/1608 is running; current endpoint-construction cohort 1609/1610 is waiting. The signed feature-selection correction, 87 original Rootd feature selections, direct and actual-compiler controls, local strict checks and both newly classified full catalogs establish correction of this compiler regression. Close this scoped defect while the separate quota bug and whole-suite gate remain open.Completed CI checkpoint — 15 September 2026: Signed Integration
a869a81eb406a4f027a2b5db573b6330ca114d94passes both 1607/1608; signed endpoint-construction checkpoint989d44d604d07c4c9bcc23264912bdf2076b99ebpasses both 1609/1610. Each run reports all 486 distinct VM scenarios passing, followed by the actual native lifetime scenario, physical/serial interactive checks and all four console modes. Rust and Markdown pass. The two six-log cohorts contain 26,769,289 and 26,769,316 bytes respectively, with zero warning candidates. The previously observed intermittent quota timeout remains documented without a causal-fix claim. These results establish the selected source checkpoints, not owned invocation transport, complete authority closure or either full in-EriX build generation.Tracking
Related: #49, the broader component audit #11 and Integration PR 12. Add direct, transitive, malformed and real-compiler regressions; preserve strict local and dependency validation. Keep this issue open until the signed fix and relevant new-head CI are classified.
erikinkinen referenced this issue2026-09-14 12:42:12 +02:00
erikinkinen referenced this issue from erix/docs2026-09-14 12:49:23 +02:00