From f8edfb21e0880935fbe5aa62996fcd9af64c32ff Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Thu, 8 Oct 2026 11:07:42 -0400 Subject: debug/issue: issue register + ISSUE-0001 (reproducibility) + ISSUE-0002 (multiple kernels per VM) - debug/issue/README.md: when to file (nasty bugs only; default is no issues), template, numbering, lifecycle incl. solved/ move. - issue-number-1.md: guest CUDA is not reproducibly green (top priority); evidence discriminators, root cause (starved pool release translation), the three fixes landed, 10/10-boot validation plan. - issue-number-2.md: multiple kernels in one VM (sequential/concurrent/ simultaneous) must work; second-client wedge root-cause chain + plan. - tools/cuda-ab/smiley.cu: 4-pass vectorAdd that renders a 64x32 ASCII smiley from GPU-computed distance fields; ab.sh gains a generic 'push' mode so any WORKLOAD binary can be delivered to the guest. --- debug/issue/README.md | 74 ++++++++++++++++++++++++ debug/issue/issue-number-1.md | 128 ++++++++++++++++++++++++++++++++++++++++++ debug/issue/issue-number-2.md | 92 ++++++++++++++++++++++++++++++ 3 files changed, 294 insertions(+) create mode 100644 debug/issue/README.md create mode 100644 debug/issue/issue-number-1.md create mode 100644 debug/issue/issue-number-2.md (limited to 'debug/issue') diff --git a/debug/issue/README.md b/debug/issue/README.md new file mode 100644 index 0000000..2c08afc --- /dev/null +++ b/debug/issue/README.md @@ -0,0 +1,74 @@ +# Issue register — process + +**Policy: do NOT create issues by default.** An issue here is a *nasty bug*: +something that blocks mission-critical behaviour, is non-deterministic or not +reproducible on demand, corrupts state, or spans subsystems such that a +single-session fix is unrealistic. Ordinary fixes, TODOs and feature work do +not get an issue — they live in the handoff and the code comments. + +File an issue when **any** of these holds: + +1. Reproducibility / liveness is variable (works sometimes, stalls others) + and the variance itself is the bug. +2. The failure blocks a 1.0 acceptance criterion (guest CUDA, multi-VM, + performance target, ...). +3. Cross-subsystem state (host module + guest driver + physical GPU + + userspace tools) is involved and the ownership of the fix is unclear. +4. The investigation has already burned more than one session without a + confirmed root cause. + +## How to file + +* Directory: `open-iov/debug/issue/`; solved ones move to + `open-iov/debug/issue/solved/` (never delete, never renumber). +* Filename: `issue-number-N.md` with the next free integer `N` + (`issue-number-1.md`, `issue-number-2.md`, ...). Create + `issue-number-N+1.md` as a copy of the template below — do not create + placeholder issues. +* Keep it **public-safe** (this directory is tracked): describe components, + behaviour and evidence (same rules as every tracked document). +* Reference evidence by artifact: session/log file names, counter lines, + commit hashes. Every claim needs its evidence pointer. + +## Template + +```markdown +# ISSUE-00NN: +* Status: OPEN | FIX IMPLEMENTED (VALIDATION PENDING) | SOLVED +* Filed: , session