The-OpenROAD-Project / OpenLane

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.
https://openlane.readthedocs.io/
Apache License 2.0
1.3k stars 370 forks source link

double free or corruption in magic #1554

Closed thesourcerer8 closed 1 year ago

thesourcerer8 commented 1 year ago

Description

*** Error in `/build/lib/magic/tcl/magicdnull': double free or corruption (fasttop):

Expected Behavior

magic should not crash

Environment report

Kernel: Linux v5.15.0-54-generic
Distribution: ubuntu 22.04
Python: v3.10.6 (OK)
Container Engine: docker v20.10.12 (OK)
OpenLane Git Version: cb59d1f84deb5cedbb5b0a3e3f3b4129a967c988
pip: INSTALLED
python-venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

cb59d1f 2022-11-18T18:42:38+02:00 fix return values in `equally_spaced_sequence` (#1503) - Kareem Farid -  (grafted, HEAD, tag: 2022.11.19)
---
Git Remotes

origin  https://github.com/The-OpenROAD-Project/OpenLane (fetch)
origin  https://github.com/The-OpenROAD-Project/OpenLane (push)

Reproduction material

issue_reproducible.zip

Relevant log output

[INFO]: Running Magic Spice Export from LEF (log: ../home/philipp/libresilicon/StdCellLib/Catalog/gf180_stdcelllib_1/openlane/user_proj_example/runs/22_12_05_17_03/logs/signoff/25-spice.log)...
*** Error in `/build/lib/magic/tcl/magicdnull': double free or corruption (fasttop): 0x00000000021b7bf0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81299)[0x7f1e6d9cf299]
/build/lib/magic/tcl/tclmagic.so(mallocMagic+0x27)[0x7f1e6b65be9f]
/build/lib/magic/tcl/tclmagic.so(HashFind+0x2ca)[0x7f1e6b656604]
/build/lib/magic/tcl/tclmagic.so(+0x1d09cd)[0x7f1e6b6dc9cd]
/build/lib/magic/tcl/tclmagic.so(+0x1d0bfc)[0x7f1e6b6dcbfc]
/build/lib/magic/tcl/tclmagic.so(+0x15cba9)[0x7f1e6b668ba9]
/build/lib/magic/tcl/tclmagic.so(+0x10bfca)[0x7f1e6b617fca]
/build/lib/magic/tcl/tclmagic.so(+0x81662)[0x7f1e6b58d662]
/build/lib/magic/tcl/tclmagic.so(+0x108b75)[0x7f1e6b614b75]
/build/lib/magic/tcl/tclmagic.so(+0x10110f)[0x7f1e6b60d10f]
/build/lib/magic/tcl/tclmagic.so(+0x21e169)[0x7f1e6b72a169]
/lib64/libtcl8.5.so(TclInvokeStringCommand+0x80)[0x7f1e6df61550]
/lib64/libtcl8.5.so(+0x34eb2)[0x7f1e6df66eb2]
/lib64/libtcl8.5.so(+0x7936c)[0x7f1e6dfab36c]
/lib64/libtcl8.5.so(+0x81647)[0x7f1e6dfb3647]
/lib64/libtcl8.5.so(TclEvalObjEx+0x87)[0x7f1e6df686b7]
/lib64/libtcl8.5.so(Tcl_RecordAndEvalObj+0x1ac)[0x7f1e6dfb938c]
/lib64/libtcl8.5.so(Tcl_Main+0x842)[0x7f1e6dfd6ad2]
/build/lib/magic/tcl/magicdnull[0x4007a6]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f1e6d970555]
/build/lib/magic/tcl/magicdnull[0x400649]
======= Memory map: ========
00400000-00401000 r-xp 00000000 00:6e 4630113                            /build/lib/magic/tcl/magicdnull
00600000-00601000 r--p 00000000 00:6e 4630113                            /build/lib/magic/tcl/magicdnull
00601000-00602000 rw-p 00001000 00:6e 4630113                            /build/lib/magic/tcl/magicdnull
01e83000-04a47000 rw-p 00000000 00:00 0                                  [heap]
7f1e60000000-7f1e60021000 rw-p 00000000 00:00 0 
7f1e60021000-7f1e64000000 ---p 00000000 00:00 0 
7f1e66b8a000-7f1e67efa000 rw-p 00000000 00:00 0 
7f1e67efa000-7f1e67efc000 r-xp 00000000 00:6e 5525867                    /usr/lib64/libXau.so.6.0.0
7f1e67efc000-7f1e680fc000 ---p 00002000 00:6e 5525867                    /usr/lib64/libXau.so.6.0.0
7f1e680fc000-7f1e680fd000 r--p 00002000 00:6e 5525867                    /usr/lib64/libXau.so.6.0.0
7f1e680fd000-7f1e680fe000 rw-p 00003000 00:6e 5525867                    /usr/lib64/libXau.so.6.0.0
7f1e680fe000-7f1e6810d000 r-xp 00000000 00:6e 6563090                    /usr/lib64/libbz2.so.1.0.6
7f1e6810d000-7f1e6830c000 ---p 0000f000 00:6e 6563090                    /usr/lib64/libbz2.so.1.0.6
7f1e6830c000-7f1e6830d000 r--p 0000e000 00:6e 6563090                    /usr/lib64/libbz2.so.1.0.6
7f1e6830d000-7f1e6830e000 rw-p 0000f000 00:6e 6563090                    /usr/lib64/libbz2.so.1.0.6
7f1e6830e000-7f1e68312000 r-xp 00000000 00:6e 6563353                    /usr/lib64/libuuid.so.1.3.0
7f1e68312000-7f1e68511000 ---p 00004000 00:6e 6563353                    /usr/lib64/libuuid.so.1.3.0
7f1e68511000-7f1e68512000 r--p 00003000 00:6e 6563353                    /usr/lib64/libuuid.so.1.3.0
7f1e68512000-7f1e68513000 rw-p 00004000 00:6e 6563353                    /usr/lib64/libuuid.so.1.3.0
7f1e68513000-7f1e6853a000 r-xp 00000000 00:6e 6563127                    /usr/lib64/libexpat.so.1.6.0
7f1e6853a000-7f1e6873a000 ---p 00027000 00:6e 6563127                    /usr/lib64/libexpat.so.1.6.0
7f1e6873a000-7f1e6873c000 r--p 00027000 00:6e 6563127                    /usr/lib64/libexpat.so.1.6.0
7f1e6873c000-7f1e6873d000 rw-p 00029000 00:6e 6563127                    /usr/lib64/libexpat.so.1.6.0
7f1e6873d000-7f1e68744000 r-xp 00000000 00:6e 6563301                    /usr/lib64/librt-2.17.so
7f1e68744000-7f1e68943000 ---p 00007000 00:6e 6563301                    /usr/lib64/librt-2.17.so
7f1e68943000-7f1e68944000 r--p 00006000 00:6e 6563301                    /usr/lib64/librt-2.17.so
7f1e68944000-7f1e68945000 rw-p 00007000 00:6e 6563301                    /usr/lib64/librt-2.17.so
7f1e68945000-7f1e6894e000 r-xp 00000000 00:6e 5525893                    /usr/lib64/libXrender.so.1.3.0
7f1e6894e000-7f1e68b4e000 ---p 00009000 00:6e 5525893                    /usr/lib64/libXrender.so.1.3.0
7f1e68b4e000-7f1e68b4f000 r--p 00009000 00:6e 5525893                    /usr/lib64/libXrender.so.1.3.0
7f1e68b4f000-7f1e68b50000 rw-p 0000a000 00:6e 5525893                    /usr/lib64/libXrender.so.1.3.0
7f1e68b50000-7f1e68b5c000 r-xp 00000000 00:6e 5526164                    /usr/lib64/libxcb-render.so.0.0.0
7f1e68b5c000-7f1e68d5c000 ---p 0000c000 00:6e 5526164                    /usr/lib64/libxcb-render.so.0.0.0
7f1e68d5c000-7f1e68d5d000 r--p 0000c000 00:6e 5526164                    /usr/lib64/libxcb-render.so.0.0.0
7f1e68d5d000-7f1e68d5e000 rw-p 0000d000 00:6e 5526164                    /usr/lib64/libxcb-render.so.0.0.0
7f1e68d5e000-7f1e68d60000 r-xp 00000000 00:6e 5526172                    /usr/lib64/libxcb-shm.so.0.0.0
7f1e68d60000-7f1e68f60000 ---p 00002000 00:6e 5526172                    /usr/lib64/libxcb-shm.so.0.0.0
7f1e68f60000-7f1e68f61000 r--p 00002000 00:6e 5526172                    /usr/lib64/libxcb-shm.so.0.0.0
7f1e68f61000-7f1e68f62000 rw-p 00003000 00:6e 5526172                    /usr/lib64/libxcb-shm.so.0.0.0
7f1e68f62000-7f1e68f8b000 r-xp 00000000 00:6e 5526080                    /usr/lib64/libpng15.so.15.13.0
7f1e68f8b000-7f1e6918b000 ---p 00029000 00:6e 5526080                    /usr/lib64/libpng15.so.15.13.0
7f1e6918b000-7f1e6918c000 r--p 00029000 00:6e 5526080                    /usr/lib64/libpng15.so.15.13.0
7f1e6918c000-7f1e6918d000 rw-p 0002a000 00:6e 5526080                    /usr/lib64/libpng15.so.15.13.0
7f1e6918d000-7f1e6919f000 r-xp 00000000 00:6e 5525700                    /usr/lib64/libEGL.so.1.1.0
7f1e6919f000-7f1e6939f000 ---p 00012000 00:6e 5525700                    /usr/lib64/libEGL.so.1.1.0
7f1e6939f000-7f1e693a0000 r--p 00012000 00:6e 5525700                    /usr/lib64/libEGL.so.1.1.0
7f1e693a0000-7f1e693a1000 rw-p 00013000 00:6e 5525700                    /usr/lib64/libEGL.so.1.1.0
7f1e693a1000-7f1e69441000 r-xp 00000000 00:6e 5526078                    /usr/lib64/libpixman-1.so.0.34.0
7f1e69441000-7f1e69641000 ---p 000a0000 00:6e 5526078                    /usr/lib64/libpixman-1.so.0.34.0
7f1e69641000-7f1e69649000 r--p 000a0000 00:6e 5526078                    /usr/lib64/libpixman-1.so.0.34.0
7f1e69649000-7f1e6964a000 rw-p 000a8000 00:6e 5526078                    /usr/lib64/libpixman-1.so.0.34.0
7f1e6964a000-7f1e6965f000 r-xp 00000000 00:6e 6563138                    /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f1e6965f000-7f1e6985e000 ---p 00015000 00:6e 6563138                    /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f1e6985e000-7f1e6985f000 r--p 00014000 00:6e 6563138                    /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f1e6985f000-7f1e69860000 rw-p 00015000 00:6e 6563138                    /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f1e69860000-7f1e698ce000 r-xp 00000000 00:6e 5525717                    /usr/lib64/libGLdispatch.so.0.0.0
7f1e698ce000-7f1e69acd000 ---p 0006e000 00:6e 5525717                    /usr/lib64/libGLdispatch.so.0.0.0
7f1e69acd000-7f1e69af5000 r--p 0006d000 00:6e 5525717                    /usr/lib64/libGLdispatch.so.0.0.0
7f1e69af5000-7f1e69af6000 rw-p 00095000 00:6e 5525717                    /usr/lib64/libGLdispatch.so.0.0.0
7f1e69af6000-7f1e69b16000 rw-p 00000000 00:00 0 
7f1e69b16000-7f1e69b26000 r-xp 00000000 00:6e 5525712                    /usr/lib64/libGLX.so.0.0.0
7f1e69b26000-7f1e69d26000 ---p 00010000 00:6e 5525712                    /usr/lib64/libGLX.so.0.0.0
7f1e69d26000-7f1e69d27000 r--p 00010000 00:6e 5525712                    /usr/lib64/libGLX.so.0.0.0
7f1e69d27000-7f1e69d28000 rw-p 00011000 00:6e 5525712                    /usr/lib64/libGLX.so.0.0.0
7f1e69d28000-7f1e69d48000 rw-p 00000000 00:00 0 
7f1e69d48000-7f1e69d6f000 r-xp 00000000 00:6e 5526198                    /usr/lib64/libxcb.so.1.1.0
7f1e69d6f000-7f1e69f6e000 ---p 00027000 00:6e 5526198                    /usr/lib64/libxcb.so.1.1.0
7f1e69f6e000-7f1e69f6f000 r--p 00026000 00:6e 5526198                    /usr/lib64/libxcb.so.1.1.0
7f1e69f6f000-7f1e69f70000 rw-p 00027000 00:6e 5526198                    /usr/lib64/libxcb.so.1.1.0
7f1e69f70000-7f1e6a059000 r-xp 00000000 00:6e 6563323                    /usr/lib64/libstdc++.so.6.0.19
7f1e6a059000-7f1e6a259000 ---p 000e9000 00:6e 6563323                    /usr/lib64/libstdc++.so.6.0.19
7f1e6a259000-7f1e6a261000 r--p 000e9000 00:6e 6563323                    /usr/lib64/libstdc++.so.6.0.19
7f1e6a261000-7f1e6a263000 rw-p 000f1000 00:6e 6563323                    /usr/lib64/libstdc++.so.6.0.19
7f1e6a263000-7f1e6a278000 rw-p 00000000 00:00 0 
7f1e6a278000-7f1e6a32f000 r-xp 00000000 00:6e 5525956                    /usr/lib64/libfreetype.so.6.14.0
7f1e6a32f000-7f1e6a52f000 ---p 000b7000 00:6e 5525956                    /usr/lib64/libfreetype.so.6.14.0
7f1e6a52f000-7f1e6a536000 r--p 000b7000 00:6e 5525956                    /usr/lib64/libfreetype.so.6.14.0
7f1e6a536000-7f1e6a537000 rw-p 000be000 00:6e 5525956                    /usr/lib64/libfreetype.so.6.14.0
7f1e6a537000-7f1e6a577000 r-xp 00000000 00:6e 5525952                    /usr/lib64/libfontconfig.so.1.11.1
7f1e6a577000-7f1e6a776000 ---p 00040000 00:6e 5525952                    /usr/lib64/libfontconfig.so.1.11.1
7f1e6a776000-7f1e6a778000 r--p 0003f000 00:6e 5525952                    /usr/lib64/libfontconfig.so.1.11.1
7f1e6a778000-7f1e6a779000 rw-p 00041000 00:6e 5525952                    /usr/lib64/libfontconfig.so.1.11.1
7f1e6a779000-7f1e6a8a9000 r-xp 00000000 00:6e 5525915                    /usr/lib64/libcairo.so.2.11512.0
7f1e6a8a9000-7f1e6aaa9000 ---p 00130000 00:6e 5525915                    /usr/lib64/libcairo.so.2.11512.0
7f1e6aaa9000-7f1e6aaac000 r--p 00130000 00:6e 5525915                    /usr/lib64/libcairo.so.2.11512.0
7f1e6aaac000-7f1e6aaae000 rw-p 00133000 00:6e 5525915                    /usr/lib64/libcairo.so.2.11512.0
7f1e6aaae000-7f1e6aab0000 rw-p 00000000 00:00 0 
7f1e6aab0000-7f1e6aac1000 r-xp 00000000 00:6e 5525875                    /usr/lib64/libXext.so.6.4.0
7f1e6aac1000-7f1e6acc0000 ---p 00011000 00:6e 5525875                    /usr/lib64/libXext.so.6.4.0
7f1e6acc0000-7f1e6acc1000 r--p 00010000 00:6e 5525875                    /usr/lib64/libXext.so.6.4.0
7f1e6acc1000-7f1e6acc2000 rw-p 00011000 00:6e 5525875                    /usr/lib64/libXext.so.6.4.0
7f1e6acc2000-7f1e6ad40000 r-xp 00000000 00:6e 5525710                    /usr/lib64/libGLU.so.1.3.1
7f1e6ad40000-7f1e6af40000 ---p 0007e000 00:6e 5525710                    /usr/lib64/libGLU.so.1.3.1
7f1e6af40000-7f1e6af41000 r--p 0007e000 00:6e 5525710                    /usr/lib64/libGLU.so.1.3.1
7f1e6af41000-7f1e6af42000 rw-p 0007f000 00:6e 5525710                    /usr/lib64/libGLU.so.1.3.1
7f1e6af42000-7f1e6afb3000 r-xp 00000000 00:6e 5525708                    /usr/lib64/libGL.so.1.7.0
7f1e6afb3000-7f1e6b1b2000 ---p 00071000 00:6e 5525708                    /usr/lib64/libGL.so.1.7.0
7f1e6b1b2000-7f1e6b1cc000 r--p 00070000 00:6e 5525708                    /usr/lib64/libGL.so.1.7.0
7f1e6b1cc000-7f1e6b1cd000 rw-p 0008a000 00:6e 5525708                    /usr/lib64/libGL.so.1.7.0
7f1e6b1cd000-7f1e6b1ce000 rw-p 00000000 00:00 0 
7f1e6b1ce000-7f1e6b306000 r-xp 00000000 00:6e 5525865                    /usr/lib64/libX11.so.6.3.0
7f1e6b306000-7f1e6b506000 ---p 00138000 00:6e 5525865                    /usr/lib64/libX11.so.6.3.0
7f1e6b506000-7f1e6b507000 r--p 00138000 00:6e 5525865                    /usr/lib64/libX11.so.6.3.0
7f1e6b507000-7f1e6b50c000 rw-p 00139000 00:6e 5525865                    /usr/lib64/libX11.so.6.3.0
7f1e6b50c000-7f1e6b77f000 r-xp 00000000 00:6e 4630119                    /build/lib/magic/tcl/tclmagic.so
7f1e6b77f000-7f1e6b97e000 ---p 00273000 00:6e 4630119                    /build/lib/magic/tcl/tclmagic.so
7f1e6b97e000-7f1e6b97f000 r--p 00272000 00:6e 4630119                    /build/lib/magic/tcl/tclmagic.so
7f1e6b97f000-7f1e6b98e000 rw-p 00273000 00:6e 4630119                    /build/lib/magic/tcl/tclmagic.so
7f1e6b98e000-7f1e6c4c4000 rw-p 00000000 00:00 0 
7f1e6c4c4000-7f1e6c4d0000 r-xp 00000000 00:6e 6563234                    /usr/lib64/libnss_files-2.17.so
7f1e6c4d0000-7f1e6c6cf000 ---p 0000c000 00:6e 6563234                    /usr/lib64/libnss_files-2.17.so
7f1e6c6cf000-7f1e6c6d0000 r--p 0000b000 00:6e 6563234                    /usr/lib64/libnss_files-2.17.so
7f1e6c6d0000-7f1e6c6d1000 rw-p 0000c000 00:6e 6563234                    /usr/lib64/libnss_files-2.17.so
7f1e6c6d1000-7f1e6c6d7000 rw-p 00000000 00:00 0 
7f1e6c6d7000-7f1e6c6d8000 ---p 00000000 00:00 0 
7f1e6c6d8000-7f1e6ced8000 rw-p 00000000 00:00 0 
7f1e6ced8000-7f1e6d22c000 r--p 00000000 00:6e 4629304                    /usr/lib/locale/locale-archive
7f1e6d22c000-7f1e6d32d000 r-xp 00000000 00:6e 6563205                    /usr/lib64/libm-2.17.so
7f1e6d32d000-7f1e6d52c000 ---p 00101000 00:6e 6563205                    /usr/lib64/libm-2.17.so
7f1e6d52c000-7f1e6d52d000 r--p 00100000 00:6e 6563205                    /usr/lib64/libm-2.17.so
7f1e6d52d000-7f1e6d52e000 rw-p 00101000 00:6e 6563205                    /usr/lib64/libm-2.17.so
7f1e6d52e000-7f1e6d545000 r-xp 00000000 00:6e 6563282                    /usr/lib64/libpthread-2.17.so
7f1e6d545000-7f1e6d744000 ---p 00017000 00:6e 6563282                    /usr/lib64/libpthread-2.17.so
7f1e6d744000-7f1e6d745000 r--p 00016000 00:6e 6563282                    /usr/lib64/libpthread-2.17.so
7f1e6d745000-7f1e6d746000 rw-p 00017000 00:6e 6563282                    /usr/lib64/libpthread-2.17.so
7f1e6d746000-7f1e6d74a000 rw-p 00000000 00:00 0 
7f1e6d74a000-7f1e6d74c000 r-xp 00000000 00:6e 6563120                    /usr/lib64/libdl-2.17.so
7f1e6d74c000-7f1e6d94c000 ---p 00002000 00:6e 6563120                    /usr/lib64/libdl-2.17.so
7f1e6d94c000-7f1e6d94d000 r--p 00002000 00:6e 6563120                    /usr/lib64/libdl-2.17.so
7f1e6d94d000-7f1e6d94e000 rw-p 00003000 00:6e 6563120                    /usr/lib64/libdl-2.17.so
7f1e6d94e000-7f1e6db12000 r-xp 00000000 00:6e 6563091                    /usr/lib64/libc-2.17.so
7f1e6db12000-7f1e6dd11000 ---p 001c4000 00:6e 6563091                    /usr/lib64/libc-2.17.so
7f1e6dd11000-7f1e6dd15000 r--p 001c3000 00:6e 6563091                    /usr/lib64/libc-2.17.so
7f1e6dd15000-7f1e6dd17000 rw-p 001c7000 00:6e 6563091                    /usr/lib64/libc-2.17.so
7f1e6dd17000-7f1e6dd1c000 rw-p 00000000 00:00 0 
7f1e6dd1c000-7f1e6dd31000 r-xp 00000000 00:6e 5526206                    /usr/lib64/libz.so.1.2.7
7f1e6dd31000-7f1e6df30000 ---p 00015000 00:6e 5526206                    /usr/lib64/libz.so.1.2.7
7f1e6df30000-7f1e6df31000 r--p 00014000 00:6e 5526206                    /usr/lib64/libz.so.1.2.7
7f1e6df31000-7f1e6df32000 rw-p 00015000 00:6e 5526206                    /usr/lib64/libz.so.1.2.7
7f1e6df32000-7f1e6e04e000 r-xp 00000000 00:6e 5526098                    /usr/lib64/libtcl8.5.so
7f1e6e04e000-7f1e6e24d000 ---p 0011c000 00:6e 5526098                    /usr/lib64/libtcl8.5.so
7f1e6e24d000-7f1e6e252000 r--p 0011b000 00:6e 5526098                    /usr/lib64/libtcl8.5.so
7f1e6e252000-7f1e6e259000 rw-p 00120000 00:6e 5526098                    /usr/lib64/libtcl8.5.so
7f1e6e259000-7f1e6e25a000 rw-p 00000000 00:00 0 
7f1e6e25a000-7f1e6e27c000 r-xp 00000000 00:6e 6563067                    /usr/lib64/ld-2.17.so
7f1e6e2a5000-7f1e6e473000 rw-p 00000000 00:00 0 
7f1e6e473000-7f1e6e47b000 rw-p 00000000 00:00 0 
7f1e6e47b000-7f1e6e47c000 r--p 00021000 00:6e 6563067                    /usr/lib64/ld-2.17.so
7f1e6e47c000-7f1e6e47d000 rw-p 00022000 00:6e 6563067                    /usr/lib64/ld-2.17.so
7f1e6e47d000-7f1e6e47e000 rw-p 00000000 00:00 0 
7ffe5f6bd000-7ffe5f6e5000 rw-p 00000000 00:00 0                          [stack]
7ffe5f768000-7ffe5f76c000 r--p 00000000 00:00 0                          [vvar]
7ffe5f76c000-7ffe5f76e000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]
[ERROR]: during executing magic script /openlane/scripts/magic/extract_spice.tcl
[ERROR]: Log: ../home/philipp/libresilicon/StdCellLib/Catalog/gf180_stdcelllib_1/openlane/user_proj_example/runs/22_12_05_17_03/logs/signoff/25-spice.log
[ERROR]: Last 10 lines:
Warning:  Ports "net325" and "la_data_in[104]" are electrically shorted.
Warning:  Ports "net325" and "la_data_in[103]" are electrically shorted.
Warning:  Ports "net325" and "la_data_in[102]" are electrically shorted.
Warning:  Ports "net325" and "la_data_in[101]" are electrically shorted.
Warning:  Ports "net325" and "la_data_in[100]" are electrically shorted.
Warning:  Ports "net325" and "la_data_in[0]" are electrically shorted.
Warning:  Ports "net325" and "irq[2]" are electrically shorted.
Warning:  Ports "net325" and "irq[1]" are electrically shorted.
Warning:  Ports "net325" and "irq[0]" are electrically shorted.
child killed: SIGABRT

[ERROR]: Creating issue reproducible...
RTimothyEdwards commented 1 year ago

I'm a bit confused by the header "Running Magic Spice Export from LEF" at the top of the output log. LEF is abstract and you can't extract anything from it. But ignoring that, there's the more basic problem that something went wrong with the post and the "issue_reproducible.zip" file above just leads to an empty page with the words "Not found". Feel free to post it to me on Slack if you can't get it to post here.

thesourcerer8 commented 1 year ago

issue_reproducible.zip

RTimothyEdwards commented 1 year ago

user_proj_example I'm seeing this weird effect when I read the user_proj_example.gds file where your custom standard cells are drawn at a scale different from everything else. Apparently exactly 10X the intended size. The scale change happened in magic prior to writing GDS, because magic has drawn multiple contact cuts into the contact areas, not one giant 10x size contact cut.

RTimothyEdwards commented 1 year ago

The reproducible zip file has only the files as they are in the middle of synthesis, so I can only see the resulting GDS but not the original files, which makes it impossible to figure out where the scale problem came from. I can investigate the crash condition, which undoubtedly comes from magic trying to deal with the mess in the screenshot above, but ultimately that won't get to the root of this problem.

thesourcerer8 commented 1 year ago

The repository with the original files is available at https://github.com/thesourcerer8/gf180_stdcelllib_1 , a "make user_proj_example" should do it. Thanks a lot for that image, I didn't noticed that we have GDS2 already available, I thought it was stuck in the flow before. Ok, so I will care about the 10x scaling and a better placement in parallel.

thesourcerer8 commented 1 year ago

Ok, I fixed the 10x scaling, and that seems to have solved the placement problems too, but magic still crashes: issue_reproducible.zip

RTimothyEdwards commented 1 year ago

There are still issues in the layout. If you look at the screenshot above, the pins at the bottom are all arranged such that they abut each other and create a short across the entire row of pins.

Also, each power and ground line of your standard cells has a metal2 line on top of it. This (1) does not match the surrounding cells, which have metal1 only, (2) The metal 2 does not contact metal 1, so is an isolated and unconnected net, and (3) The metal 2 lines are getting routed over by the standard cell router, creating shorts, and suggesting that your standard cells are not representing the metal 2 in the LEF views.

RTimothyEdwards commented 1 year ago

Meanwhile I can duplicate the crash condition, but it's not obvious and may take some time to debug.

RTimothyEdwards commented 1 year ago

@thesourcerer8 : The crash was caused by the excessive number of shorted ports. Since it was not anticipated that anyone would short together several hundred ports, the reference count for shorted ports was set to 1 byte, which you overran. I have fixed the crash condition by extending this to two bytes, on the assumption that shorting together 65,536 ports would require a remarkably concerted effort. Meanwhile, though, your circuit is not going to work until you do something about those pins and all the other shorts in the design.

thesourcerer8 commented 1 year ago

Thanks a lot. I didn't experienced that crash anymore, so I think we can close this issue.