question(test): stable request storage for existing EINTR scenarios
Maintainers usually reply within 1 day
@dnlrsls is already working on this.
Since Nov 5, 2026.
Assessment
This issue has not been assessed yet.
Description
Existing Issue Search
- I searched existing issues and will add evidence to a canonical tracker when applicable.
Related #2286 / PR #2287 concern the newly added errno regression; #1846 delivered the dependency fix. This follow-up is limited to the older four-scenario request buffer, not an observed SQLite production failure.
Question
Should the pre-existing TestSQLiteLibcSleepEINTRChild request buffer also use stable TLS/C storage instead of forwarding a Go-stack timespec address through uintptr to the translated libc Go calls?
Why does this need issue tracking?
CodeRabbit's #2287 review exposed the same ABI pattern in the new errno test and the older sleep helper. The new-test correction is 9941875081635ec3952aa2c7f898919ee1e51fa7. Ordinary native Linux compiler output on the pre-follow-up PR candidate 95035d3e places the old helper req at req+96(SP) and passes its address to Xnanosleep; the old helper source is unchanged from canonical main 5dfd6faa. The pinned libc forwards uintptr through additional Go calls. KeepAlive preserves liveness, not stack address stability. Instrumentation can change escape/allocation behavior, so successful checkptr runs alone do not settle the ordinary-build concern.
No runtime corruption or production SQLite regression was reproduced. The existing four native scenarios pass in ordinary and race/checkptr builds. This tracker preserves an investigation/follow-up decision without silently expanding the errno-only review correction or claiming a runtime defect.
Affected Area
Store (database, queries) — Linux/amd64 test helper only.
Release Context
Main 5dfd6faa67684097eb8d20f69f773a18c4ae274b, compared unchanged helper on PR2287 head95035d3e; Go1.26.10, libc1.75.6.
Additional Context
Review https://github.com/Gentleman-Programming/engram/pull/2287#discussion_r4486032805. Before any follow-up implementation, confirm the ordinary-build ABI/lifetime evidence and accept the bounded design. Keep all four scenarios, 12 targeted deliveries, original absolute/relative deadlines, isolated child ownership, assertions and dependency pins. Verify ordinary native Linux, race/checkptr and vet. Do not disable analyzers, extend timeouts or represent this as a reproduced production failure.
- Dominant language
- Go
- Stars
- 7.1k
- Forks
- 729
- Avg merge
- 11h 47m
- Merged PRs (30d)
- 284
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Gentleman-Programming/engram
-
status:needs-review
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Gentleman-Programming/engram#2065 · 1 comment ·
Maintainers usually reply within 1 day
-
status:needs-review type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
Gentleman-Programming/engram#2331 ·
Maintainers usually reply within 1 day
-
status:needs-review
Difficulty 1/5 Under an hour Newbie friendliness 25/100
Gentleman-Programming/engram#2330 · 1 comment ·
Maintainers usually reply within 1 day
-
status:needs-review
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Gentleman-Programming/engram#2315 ·
Maintainers usually reply within 1 day
-
status:needs-review type:bug
Difficulty 4/5 3-5 days Newbie friendliness 38/100
Gentleman-Programming/engram#2278 · 2 comments ·
Maintainers usually reply within 1 day
All issues in Gentleman-Programming/engram
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
router-for-me/CLIProxyAPI#7330 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug os:ios
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
hajimehoshi/ebiten#4039 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 9 days