The-OpenROAD-Project / The-OpenROAD-Project/OpenROAD

Last error message is displayed after a CTRL-C when the openroad command is piped

Open
#11,430 0 comments 0 reactions 1 assignee View on GitHub

@LucasYuki is already working on this.

Since Sep 16, 2026.

Dominant language
Verilog
Stars
3.1k
Forks
1k
Avg merge
2d 23h
Merged PRs (30d)
136

Description

Describe the bug

Last error message is displayed after a CTRL-C when the openroad command is piped.
I tested 3 commands (an false one foobar, read_lef and sv_elav) which print respectively 1, 2 & 3 error lines).

Here are the ouput without piping:

Error: foobar.tcl, 1 invalid command name "foobar"
openroad> 

[ERROR STA-0565] read_lef requires one positional argument.
Error: read_lef.tcl, 1 STA-0565
openroad> 

error: no input files
[ERROR SYN-0001] Elaboration failed.
Error: sv_elab.tcl, 1 SYN-0001
openroad> 

Here are the ouput with piping:


openroad> Error: foobar.tcl, 1 invalid command name "foobar"


[ERROR STA-0565] read_lef requires one positional argument.
openroad> Error: read_lef.tcl, 1 STA-0565


error: no input files
[ERROR SYN-0001] Elaboration failed.
openroad> Error: sv_elab.tcl, 1 SYN-0001

Note that in case of a wrong command (ex foobar), we don't even see there is an error. It took me some time before figuring out there was an error hence the report to help debugging.

Expected Behavior

See all the error messages lines

Environment
RHEL 8.1
OpenROAD 26Q3-2372-g766c85a4dd
To Reproduce

Put these commands in a file and source it from a terminal. Do CTRL-C when the prompt appears:

echo foobar > foobar.tcl
echo read_lef > read_lef.tcl
echo sv_elab > sv_elab.tcl
openroad -no_splash foobar.tcl
openroad -no_splash read_lef.tcl
openroad -no_splash sv_elab.tcl
openroad -no_splash foobar.tcl |& tee foobar.log
openroad -no_splash read_lef.tcl |& tee read_lef.log
openroad -no_splash sv_elab.tcl |& tee sv_elab.log
Relevant log output

Screenshots

No response

Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.