8000 fix(cbio): read private-bench evidence on the Linux runner (#153) by shroominic · Pull Request #183 · shroominic/OpenGlucose · GitHub
[go: up one dir, main page]

Skip to content
< 8000 meta name="react-app-name" content="pull-requests"/>

fix(cbio): read private-bench evidence on the Linux runner (#153) - #183

Closed
shroominic wants to merge 1 commit into
feature/cbio-gs1-glucose-livefrom
fix/cbio-private-bench-linux
Closed

shroominic wants to merge 1 commit into
feature/cbio-gs1-glucose-livefrom
fix/cbio-private-bench-linux

Conversation

@shroominic
Copy link
Copy Markdown
Owner

Closes #153.

Root cause: the private-bench analyzer's descriptor-bound read is Darwin-only.
_readDescriptorBound returned unsupported_platform whenever
Platform.isMacOS was false, so on the Linux CI runner every artifact was
rejected before parsing. Exit 66 was that closed failure reason, not a crash
and not a flaky assertion.

Reproduced on the runner itself (same tip 4702025, draft evidence branch
repro/153-private-bench-linux, PR #178):
https://github.com/shroominic/OpenGlucose/actions/runs/35308759680

##[group] test/private_bench_test.dart: owner600 native-v2 source yields counts only, with no mutation (failed)
Expected: <0>
  Actual: <66>
test/private_bench_test.dart 120:7

Fix: audit the Linux x86_64 glibc struct stat layout (mode_t at byte 24,
uid_t at byte 28) next to the existing Darwin64 layout, and gate the read on
_hasAuditedDescriptorLayout() instead of Platform.isMacOS. Ownership,
regular-file, exact-0600 and size invariants are unchanged. An ABI with no
audited offsets still fails closed with unsupported_platform.

No assertion is loosened. The local macOS run stays green (33/33). The Linux
path is verified by this PR's own Unit Tests job on ubuntu-latest x86_64.

Scope notes:

The private-bench analyzer refused every artifact on a non-Darwin host with
`unsupported_platform`, because the descriptor-bound read only had audited
`struct stat` offsets for Darwin. CI runs on ubuntu-latest, so three
private-bench tests failed there while passing on the same tip on macOS.

Audit the Linux x86_64 glibc layout (mode_t at byte 24, uid_t at byte 28)
alongside the existing Darwin64 layout and gate on
`_hasAuditedDescriptorLayout()`. ABIs without audited offsets still fail
closed with `unsupported_platform`. The ownership, mode, file-type, symlink
and size invariants are unchanged, and no assertion is relaxed.
@shroominic
Copy link
Copy Markdown
Owner Author

Carried by the GS1 consolidation in PR #209 (branch feature/cbio-gs1, head 3eca4f4).

This PR is contained in the consolidated line; the merge that carries it is c85f827.

Closing as subsumed by the consolidation - not as won't fix. The per-defect evidence stays in this thread, and the carrying commit above is where the change now lives.

@shroominic shroominic closed this Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0