Conversation
…06686364 🤖 Auto-Build: Update Ring Loadables
…13284027 🤖 Auto-Build: Update Ring Loadables
…17978510 🤖 Auto-Build: Update Ring Loadables
…80426873 🤖 Auto-Build: Update Ring Loadables
…87658642 🤖 Auto-Build: Update Ring Loadables
…24194425 🤖 Auto-Build: Update Ring Loadables
…28859204 🤖 Auto-Build: Update Ring Loadables
…33847849 🤖 Auto-Build: Update Ring Loadables
…42019750 🤖 Auto-Build: Update Ring Loadables
…62991812 🤖 Auto-Build: Update Ring Loadables
…01493212 🤖 Auto-Build: Update Ring Loadables
…30262402 🤖 Auto-Build: Update Ring Loadables
…34500583 🤖 Auto-Build: Update Ring Loadables
Updates to TUI
There was a problem hiding this comment.
Sorry @jkool702, your pull request is larger than the review limit of 150000 diff characters
There was a problem hiding this comment.
Code Review
This pull request introduces a Live Telemetry Dashboard (TUI) to visualize forkrun streams and buffers in real-time, along with a --tui command-line flag and a fix for the global poisoned counter. The review feedback highlights several critical issues in the new implementation: a potential buffer overflow in forkrun_ring.c when global_num_nodes exceeds 1024, a bug in the bash wrapper where fallback byte-counting consumes the entire standard input stream, a minor layout misalignment in the TUI top border, and significant divergence and bugs in the duplicate TUI implementation within ring_loadables/forkrun_ring.c.txt.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| if (cpus_per_node[i] > 0) { | ||
| for (int c = 0; c <= max_cpu_seen; c++) { | ||
| if (node_cpu_map[i][c] && cur_cpu[c].total > prev_cpu[c].total) { |
There was a problem hiding this comment.
In environments where global_num_nodes exceeds 1024, accessing cpus_per_node[i] and node_cpu_map[i] will result in an out-of-bounds read (buffer overflow), as both arrays are statically sized to 1024.\n\nPlease add a guard to ensure i < 1024 before accessing these arrays.
if (i < 1024 && cpus_per_node[i] > 0) {
for (int c = 0; c <= max_cpu_seen; c++) {
if (node_cpu_map[i][c] && cur_cpu[c].total > prev_cpu[c].total) {| local expected_bytes=0 | ||
| # Use -L to follow /dev/stdin symlink to the actual underlying file | ||
| if [[ -f /dev/stdin ]]; then | ||
| expected_bytes=$(stat -L -c %s /dev/stdin 2>/dev/null || wc -c < /dev/stdin) |
There was a problem hiding this comment.
Using wc -c < /dev/stdin as a fallback when stat fails is extremely dangerous. If stdin is a pipe or a stream, wc -c will consume the entire input to count the bytes, leaving no data for the actual forkrun workers to process.\n\nInstead, if stat fails, we should simply default expected_bytes to 0 without reading from stdin.
| expected_bytes=$(stat -L -c %s /dev/stdin 2>/dev/null || wc -c < /dev/stdin) | |
| expected_bytes=$(stat -L -c %s /dev/stdin 2>/dev/null) | |
| expected_bytes=${expected_bytes:-0} |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dcbd8321c2
ℹ️ 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".
…64549671 🤖 Auto-Build: Update Ring Loadables
|


NEW FEATURES: