OpenLane
OpenLane copied to clipboard
Magic Antenna Checks Fails with segmentation violation
Description
My One of the submacro openlane Magic Antenna Checks Fails with segmentation violation
Environment
python3 ./env.py issue-survey Kernel: Linux v5.15.0-46-generic Distribution: ubuntu 20.04 Python: v3.8.10 (OK) Container Engine: docker v20.10.17 (OK) OpenLane Git Version: 6ab944bc23688cae6dc6fa32444891a1e57715c8 pip: INSTALLED python-venv: INSTALLED --- PDK Version Verification Status: OK --- Git Log (Last 3 Commits) 6ab944b 2022-08-09T14:51:35+02:00 IR Drop Reports in the Signoff Stage (#1255) - Mohamed Gaber - (HEAD -> master) 4476a58 2022-07-29T16:03:10+02:00 Sky130 Enhancements (#1240) - Mohamed Gaber - () 4f63c8c 2022-07-27T17:26:27+02:00 Various CI Fixes (#1235) - Mohamed Gaber - () --- Git Remotes origin https://github.com/efabless/OpenLane.git (fetch) origin https://github.com/efabless/OpenLane.git (push)
Reproduction Material
pinmux.issue_reproducible.tar.gz
Expected behavior
Logs
[INFO]: Running Magic DRC (log: pinmux_top/runs/pinmux_top/logs/signoff/41-drc.log)... [INFO]: Converting Magic DRC Violations to Magic Readable Format... [INFO]: Converting Magic DRC Violations to Klayout XML Database... [INFO]: No DRC violations after GDS streaming out. [STEP 42] [INFO]: Running Magic Antenna Checks (log: pinmux_top/runs/pinmux_top/logs/signoff/42-antenna.log)... [ERROR]: during executing magic script /openlane/scripts/magic/antenna_check.tcl [ERROR]: Log: pinmux_top/runs/pinmux_top/logs/signoff/42-antenna.log [ERROR]: Last 10 lines: 7700 gates analyzed. 7800 gates analyzed. 7900 gates analyzed. 8000 gates analyzed. 8100 gates analyzed. 8200 gates analyzed. 8300 gates analyzed. kill: no such node _11568_/A1 output: no such node _11568_/A1 child killed: segmentation violation [ERROR]: Creating issue reproducible... [INFO]: Saving runtime environment... OpenLane TCL Issue Packager
@dineshannayya
Is that reproducible
tested locally? Is generating same log with the test case?
I don't know how to validate the reproducible locally . Design wise, I have done good amount of changes in this Pinmux block
The flow gone through fine with set ::env(USE_ARC_ANTENNA_CHECK) "1"
Just get into reproducible
directory and execute ./run.sh
it should create same segmentation violation.
I ran the test case at my end, getting different logs.
When run locally, I am getting different error, But still see a segmentation fault.
Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Cell sky130_fd_sc_hd__mux2_1 couldn't be read Processed 61252 subcell instances total. Segmentation fault (core dumped)
The tail of log i got with reproducible:
Cell sky130_fd_sc_hd__mux2_1 couldn't be read
Cell sky130_fd_sc_hd__mux2_1 couldn't be read
Cell sky130_fd_sc_hd__mux2_1 couldn't be read
Processed 61252 subcell instances total.
Processed 346 pins total.
Processed 2 special nets total.
Processed 13247 nets total.
DEF read: Processed 377204 lines.
DEF Read: encountered 368513 errors total.
DEF Read: encountered 3 warnings total.
Moving label "cfg_cska_pinmux[0]" from (null) to space in cell pinmux_top.
Moving label "cfg_cska_pinmux[1]" from (null) to space in cell pinmux_top.
Moving label "cfg_cska_pinmux[2]" from (null) to space in cell pinmux_top.
Moving label "cfg_cska_pinmux[3]" from (null) to space in cell pinmux_top.
......
Moving label "vssd1" from (null) to space in cell pinmux_top.
Moving label "vssd1" from (null) to space in cell pinmux_top.
Moving label "wbd_clk_int" from (null) to space in cell pinmux_top.
Moving label "wbd_clk_pinmux" from (null) to space in cell pinmux_top.
Processing pinmux_top
freeMagic called with NULL argument.
Extracting pinmux_top into pinmux_top.ext:
Can't open file ./reports/signoff/42-antenna.feedback.txt.
Reading extract file.
Building flattened netlist.
Running antenna checks.
antennacheck finished.
@RTimothyEdwards can you download the reproducible file and take a look?
The tarball is only reproducible if you add -rcfile ...
to the command line for magic, or add a valid .magicrc
to the test case directory. Then it has a valid path to the standard cell libraries and doesn't segfault on missing cells (although I need to fix that segfault!). But that explains the result that @dineshannayya got.
@donn : I cannot reproduce the error. The test case generates a segfault due to a missing .magicrc
startup file. When the correct startup file is provided, then the test case runs to completion, correctly.
For the record, I just fixed the unrelated segfault problem in magic.
Thanks for the info. I'm on it.