generated from erix/meta
[BUG] Host artifact fixtures emit ignored file-resource warnings #23
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#23
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
Five dynlink host fixtures leave JSON or TOML input streams unclosed. With
PYTHONWARNINGS=error, Python reports ignored-finalizer ResourceWarnings whilethe fixture scripts still exit successfully. Their successful process status
therefore does not establish warning-free validation.
Reproduction
Use the original fixture scripts from Integration
e2b1cf5995bcf6334839cda9a013e90fa97787d5, orb518b6ad1d2f3e7a36a5d796eaff3103c051bb84, whose five relevant scripts have identicalbytes. Select Rust 1.93.0 with the host and
x86_64-unknown-nonesysroots and theLLVM tools required by these existing fixtures. Run from the Integration root:
A retained local run exercised all five affected scripts once. There were 16
ResourceWarning diagnostics across their original stream-loading expressions.
The final status was zero. This reproduction used the original test bytes with
the compiler-remap candidate under review; no clean full-image rebuild is claimed.
Expected and actual behavior
Expected: each fixture owns and closes its input streams, with no finalizer
resource diagnostics on successful completion.
Actual: forms such as
json.load(open(...))andtomllib.load(open(...)),including comprehensions, leave the file object to finalization. Python reports
ResourceWarning: unclosed fileandException ignored while finalizing file.The script assertions and outer shell command nevertheless return zero. This is
observed process behavior, not a claim that an older CI run printed the warnings.
Environment and identity
production Rust changes are needed for the resource-lifetime correction.
firmware, packaged image, signing material or guest authority is involved.
254b59607d4417e9dffbc307138ae5c86280fe4c, LLVM 21.1.8; LLVM utilities 22.1.8.300-second hard deadline, 60-second output-stall deadline, a 16 MiB captured
output budget and owned subprocess-group cleanup.
Evidence and prior checks
The five original scripts were byte-compared against the selected Git revision
before editing. The original zero-exit output and all 16 ResourceWarnings are
retained separately from corrected validation.
The correction uses ordinary context managers around each affected read and
retains all existing assertions. All five changed scripts then completed with
zero status and no ResourceWarning, ignored-finalizer or traceback diagnostics.
Compiler and linker stderr was retained independently: no successful compile or
link emitted a warning. The warning-denial unit test still requires its intended
compile failure;
llvm-nm's message about a non-objectlib.rmetaarchive memberis a separately classified symbol-inventory diagnostic.
Tracking
Related ongoing build reproducibility work: Integration #22.
Implementation: WIP PR #12; component audit: Integration #11.
The resource-lifetime defect and compiler path-remapping defect have distinct
reproductions and acceptance evidence. No warning suppression or retry is part
of the proposed correction.
The reader-lifetime correction is published at Integration
27ca5c035c569b11cf44260ca7c2fb587082e17ein PR 12. All five changed host fixtures pass without ResourceWarnings or ignored-finalizer diagnostics. Original warning-bearing exit-zero results remain retained; exact-head CI is still pending.erikinkinen referenced this issue2026-09-12 15:01:34 +02:00