Repository navigation
fix(windows): register and qualify GLib and Cairo TLS callbacks - #56
Conversation
|
@codex review Please review exact head f65b231, especially targeted CRT TLS retention, PE callback/private-state binding, sealed native probes, Cairo's repaired transitive GLib isolation, six mandatory native control lanes and full SDK publication gates. All 121 tooling tests and lint/compile/whitespace checks pass; independent integrated source and CI reviews are clear. The actual sequential diagnostic build passes in 68 seconds. Actual Windows control execution and current-source full SDK acceptance are pending; this draft will not merge until all required checks and reviews are clear. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f65b231447
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please review corrected exact head 8e02715. Your P2 change-selector finding is fixed with a behavioral regression and independently cleared. All 122 integrated tooling tests pass; lint/compile/whitespace checks pass. Earlier exact-tree focused native Windows evidence is independently accepted for all six cases; current-head focused and full SDK checks are rerunning. No merge until reviews and required current-head checks are clear. |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8e02715102
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
🎉 This PR is included in version 1.18.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Summary
Restore GLib and Cairo TLS callback registration in the LLVM-MinGW Windows SDK. The current DLLs retain their callback functions but omit the PE TLS directory, so Windows cannot call their attach/detach handlers.
Implementation / behavior
Require the CRT
_tls_useddefinition when linking these two libraries. Preserve the dependency features, optimization settings and exported interfaces. Inspect the resulting PE callback tables and bind native probes to the exact DLL and executable hashes.GLib qualification observes its private process-attach flag before invoking APIs and checks the configured GThread/GPrivate destructor path and explicit unload. Cairo qualification observes initialized mutexes before APIs, exercises surface/font use and checks unload/reload. Both probes run in the full candidate SDK native gate before publication.
A separate scoped Windows workflow builds repaired, original and relinked control DLLs using the immutable older LLVM SDK. Changes limited to this workflow also select full Windows SDK/native validation; a behavioral selector regression covers that path and a negative control. Cairo's three lanes use the same verified repaired GLib dependency so the Cairo checks remain isolated. This diagnostic workflow cannot publish images or promote aliases and does not replace full SDK qualification.
Validation
At exact head 8e02715, all 122 producer tooling tests pass. Compile checks, actionlint, ShellCheck and cumulative whitespace checks pass. Independent integrated source, CI interface/permissions and selector-fix reviews are clear. Codex code and security reviews are clear at this exact head; the earlier selector finding is fixed, covered by a behavioral regression and resolved.
The fenced sequential diagnostic build passes in 68 seconds within the 300-second workflow deadline. Both source-built pairs preserve their interfaces, every Cairo lane contains identical verified repaired GLib bytes, and the original SDK receipts remain unchanged.
Current-head focused native Windows run 38140297680 passes all six cases: both repaired candidates succeed without stderr, and all four controls produce expected unsuppressed diagnostics without timeouts. Independent artifact review verifies all 95 sealed files, source/recipe/tool bindings, actual PE callback/private-state records and native result/PID correspondence. Run head 8e02715 and synthetic checkout 7eba496 are recorded separately; both have the exact reviewed tree bc38ca2fa313a16c9f391fe66b83a3682ce46637. The earlier native run is retained as separate accepted evidence.
Complete SDK validation passes at this head, including LLVM, Linux, Classic, portable and both Windows image builds. Its native Windows gate passes both hash-bound library probes, all eight declared Classic checks, public CA/TLS verification and Opus decoding. Independent artifact review verifies the actual 148-file input bundle, 30 DLLs, 71 notices, current producer sources and native job results. Both repaired libraries produce the required attach/destructor/unload evidence without stderr. All required checks pass.
Limitations / follow-up
The diagnostic uses an older SDK for its compiler and unchanged dependencies; complete current-source SDK validation is accepted separately. Released Windows image pins in Classic and the workspace follow after accepted publication. This PR does not resolve the independently observed intermittent Classic client-close timeout or physical GPU/human golden-image acceptance.