Skip to content

Stabilize RCX generate_pattern regression log#10365

Open
naveenvenk17 wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
naveenvenk17:nv-worker3-rcx-pattern-log-842
Open

Stabilize RCX generate_pattern regression log#10365
naveenvenk17 wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
naveenvenk17:nv-worker3-rcx-pattern-log-842

Conversation

@naveenvenk17
Copy link
Copy Markdown
Contributor

@naveenvenk17 naveenvenk17 commented May 9, 2026

Summary

  • Stabilize the rcx.generate_pattern.tcl log comparison by suppressing optional RCX debug shape messages in this standalone regression.
  • Keep RCX-0437/RCX-0438 suppressed for the remainder of the short script so subsequent RCX-related commands cannot reintroduce platform-dependent log lines.

Closes #842.

Tests

  • git diff --check -- src/rcx/test/generate_pattern.tcl
  • openroad -no_splash -no_init -exit /tmp/rcx_suppress_check.tcl (verified RCX-0437/RCX-0438 are suppressed)
  • /usr/bin/openroad -no_splash -no_init -exit generate_pattern.tcl from a temporary WSL worktree (script runs and emits no RCX-0437/RCX-0438; local packaged OpenROAD v2.0-17598-ga008522d8 generates artifact differences versus current goldens, so this is not a valid full golden comparison)
  • Attempted bazel test //src/rcx/test:generate_pattern-tcl_test --test_timeout=1200 --noshow_progress; blocked in this WSL image by a remote-cached OpenROAD binary requiring GLIBC_2.38.
  • Attempted local no-remote-cache Bazel rebuild; blocked by the local hermetic clang/sysroot setup failing to find string.h while compiling zstd.

Copy link
Copy Markdown
Contributor

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

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 modifies the generate_pattern.tcl test script to suppress specific RCX debug messages during the bench_wires command, aiming to prevent platform-dependent log variations. Feedback suggests that the messages should remain suppressed for the duration of the script to ensure stability for all subsequent RCX-related commands.

Comment thread src/rcx/test/generate_pattern.tcl Outdated
Comment on lines +12 to +13
unsuppress_message RCX 437
unsuppress_message RCX 438
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.

medium

The messages are unsuppressed before the bench_verilog command is executed. If bench_verilog (which is also an RCX command) triggers these platform-dependent debug messages, the log comparison will remain unstable. It is safer to keep these messages suppressed until the end of the script or at least until all RCX-related commands are finished. Alternatively, since this is a standalone test script, you could omit the unsuppress_message calls entirely as the process terminates shortly after.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done in 2ad8ffc: the suppression now remains in effect for the rest of this standalone regression, including bench_verilog.

Signed-off-by: naveenvenk17 <naveenvenkat1711@gmail.com>
@naveenvenk17 naveenvenk17 force-pushed the nv-worker3-rcx-pattern-log-842 branch from a3964be to 2ad8ffc Compare May 9, 2026 09:20
@maliberty
Copy link
Copy Markdown
Member

I am confused, all that is in the .ok is

[INFO ODB-0227] LEF file: sky130hs/sky130hs.tlef, created 13 layers, 25 vias
[INFO RCX-0055] Finished 252 bench measurements for pattern MET_OVER_MET
[INFO RCX-0055] Finished 396 bench measurements for pattern MET_OVER_MET
[INFO RCX-0007] Finished 240 measurements for pattern MET_UNDER_MET
[INFO RCX-0057] Finished 180 bench measurements for pattern MET_UNDER_MET
[INFO RCX-0058] Finished 182 bench measurements for pattern MET_DIAGUNDER_MET
No differences found.
No differences found.

there is no mention of these messages.

@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@naveenvenk17
Copy link
Copy Markdown
Contributor Author

The checked-in .ok is the desired clean log. RCX-0437/RCX-0438 are optional debug shape messages that showed up in the failing environment but should not be part of the stable golden log, so the suppression is there to keep them out on builds/platforms that emit them. The suppression now stays active through the rest of this standalone script, including bench_verilog.

@maliberty
Copy link
Copy Markdown
Member

debug messages don't print in this test so why do they need to be suppressed? What is the "failing environment"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rcx: RCX regression test has different results depending on platform

2 participants