Skip to content

v3.4.0#422

Open
jkool702 wants to merge 54 commits into
mainfrom
NEW/TUI
Open

v3.4.0#422
jkool702 wants to merge 54 commits into
mainfrom
NEW/TUI

Conversation

@jkool702

@jkool702 jkool702 commented Jul 3, 2026

Copy link
Copy Markdown
Owner

NEW FEATURES:

  1. TUI progress meter!
  2. SLURM Preemption support

jkool702 and others added 30 commits June 29, 2026 18:24
…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

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @jkool702, your pull request is larger than the review limit of 150000 diff characters

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread forkrun_ring.c Outdated
Comment on lines +7012 to +7014
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) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

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) {

Comment thread ring_loadables/frun.nob64.bash Outdated
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)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

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.

Suggested change
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}

Comment thread ring_loadables/forkrun_ring.c.txt
Comment thread forkrun_ring.c Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread ring_loadables/forkrun_ring.c.txt
@jkool702 jkool702 changed the title v3.3.1 v3.4.0 Jul 5, 2026
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
82.3% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

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