<#754 Segfault in one of OpenLane's steps (or_repl...
# openlane
g
#754 Segfault in one of OpenLane's steps (or_replace.tcl) New issue created by progirep Description I'm getting a segfault in one of OpenLane's steps, but can't see what a possible reason for this could be (sorry, I don't "speak" TCL nor do I use docker for my own work - I'm only doing a few assembler styles, C, C++, Python, Java, some HDL, and CS Theory). The project on which the problem occurs is a test project for integrating OpenRAM blocks into a design - it is a shortened version of the project at https://github.com/VLSIDA/openram_testchip.git using only two SRAM blocks. Environment The problem occurs both with the mpw-3a version of the workflow as well as with the "latest" (b911a5bbbcaa) version of the OpenLane docker images (selected by changing the respective lines in the files "Makefile" and "openlane/Makefile"). In the case of the "latest" version latter case, the gds.gz files in the gds/ directory of the project need to be gunzipped for the flow to reach the segfault. Also, when using the "latest" version, there is a warning for me that the PDK version is then not the right one - not sure if this is relevant because the segfault is the same.
Copy code
Python: v3.8.10
Kernel: Linux v5.4.0-91-generic
Distribution: ubuntu 20.04
Container Engine: docker v20.10.7
OpenLane Git Version: 2021.10.25_20.35.00
---
PDK Version Verification Status: OK

---
Git Log (Last 5 Commits)

commit e8f4a88f668b366f126bba40861153bf478a33c1
Author: Donn <me@donn.website>
Date:   Mon Oct 25 20:32:41 2021 +0200

    Last Minute Fixes for MPW3 (#675)
Reproduction Material Github doesn't let me upload the project as a tar.gz file or a .zip file with the message "is not included in the list". Maybe it is too large. So I've committed the project as a project to github at: https://github.com/progirep/openram_testchip/tree/8ae25c1d4a85146cf2a7d277da1f87e1234a4b85 The following zip file is just a dummy to be able to submit the issue anyway: The command to run is simply:
Copy code
make user_project_wrapper
from the project directory. Expected behavior The workflow should not segfault. The project I'm trying to run it on may be wrong in some aspects, but right now it's not possible for me to tell because of the segfault. Logs ``` ...[stuff that seems to work].... [INFO GRT-0104] Minimal overflow 1 occurring at round 0. [INFO GRT-0111] Final number of vias: 3700 [INFO GRT-0112] Final usage 3D: 89696 * Error in `openroad': corrupted double-linked list: 0x0000000014d8d870 * ======= Backtrace: ========= /lib64/libc.so. [test.zip](https://github.com/The-OpenROAD-Project/OpenLane/files/7683839/test.zip) 6(+0x7f3e4)[0x7f47d70043e4] /lib64/libc.so.6(+0x82ba8)[0x7f47d7007ba8] /lib64/libc.so.6(__libc_malloc+0x4c)[0x7f47d700a6fc] /lib64/libstdc++.so.6(_Znwm+0x1d)[0x7f47d78ca18d] openroad[0xc3ac4b] openroad[0x10293e2] openroad[0x102afd9] openroad[0xc349ab] openroad[0xc38e6a] openroad[0x51d454] openroad[0x4fad98] openroad[0x525ad1] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x7936c)[0x7f47d897436c] /lib64/libtcl8.5.so(+0x81647)[0x7f47d897c647] /lib64/libtcl8.5.so(TclEvalObjEx+0x87)[0x7f47d89316b7] /lib64/libtcl8.5.so(+0xbc27f)[0x7f47d89b727f] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x7936c)[0x7f47d897436c] /lib64/libtcl8.5.so(+0x81647)[0x7f47d897c647] /lib64/libtcl8.5.so(TclEvalObjEx+0x87)[0x7f47d89316b7] /lib64/libtcl8.5.so(+0x3c1d0)[0x7f47d89371d0] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x7936c)[0x7f47d897436c] /lib64/libtcl8.5.so(+0x81647)[0x7f47d897c647] /lib64/libtcl8.5.so(TclEvalObjEx+0x87)[0x7f47d89316b7] /lib64/libtcl8.5.so(+0x3ff00)[0x7f47d893af00] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x7936c)[0x7f47d897436c] /lib64/libtcl8.5.so(TclObjInterpProcCore+0x34d)[0x7f47d89b7a4d] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x7936c)[0x7f47d897436c] /lib64/libtcl8.5.so(TclObjInterpProcCore+0x34d)[0x7f47d89b7a4d] /lib64/libtcl8.5.so(+0x34eb2)[0x7f47d892feb2] /lib64/libtcl8.5.so(+0x35f1e)[0x7f47d8930f1e] /lib64/libtcl8.5.so(Tcl_EvalEx+0x16)[0x7f47d8931446] /lib64/libtcl8.5.so(Tcl_Eval+0x15)[0x7f47d8931465] openroad[0x66946f] openroad[0x4dbfc3] /lib64/libtcl8.5.so(Tcl_Main+0x1e5)[0x7f47d899f475] openroad[0x4cbdc1] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f47d6fa7555] openroad[0x4d9097] ======= Memory map: ======== 00400000-0267e000 r-xp 00000000 00:37 7425961 /build/bin/openroad 0287e000-02888000 r--p 0227e000 00:37 7425961 /build/bin/openroad 02888000-028cc000 rw-p 02288000 00:37 7425961 /build/bin/openroad 028cc000-028ee000 rw-p 00000000 00:00 0 02d38000-23b16000 rw-p 00000000 00:00 0 [heap] 7f47cc000000-7f47cc021000 rw-p 00000000 00:00 0 7f47cc021000-7f47d0000000 ---p 00000000 00:00 0 7f47d1792000-7f47d2684000 rw-p 00000000 00:00 0 7f47d4589000-7f47d458a000 ---p 00000000 00:00 0 7f47d458a000-7f47d4e0a000 rw-p 00000000 00:00 0 7f47d4f4a000-7f47d4f8a000 rw-p 00000000 00:00 0 7f47d520a000-7f47d524a000 rw-p 00000000 00:00 0 7f47d528a000-7f47d52ca000 rw-p 00000000 00:00 0 7f47d53e1000-7f47d580d000 rw-p 00000000 00:00 0 7f47d580d000-7f47d5819000 r-xp 00000000 00:37 7345130 /usr/lib64/libnss_files-2.17.so 7f47d5819000-7f47d5a18000 ---p 0000c000 00:37 7345130 /usr/lib64/libnss_files-2.17.so 7f47d5a18000-7f47d5a19000 r--p 0000b000 00:37 7345130 /usr/lib64/libnss_files-2.17.so 7f47d5a19000-7f47d5a1a000 rw-p 0000c000 00:37 7345130 /usr/lib64/libnss_files-2.17.so 7f47d5a1a000-7f47d5ca0000 rw-p 00000000 00:00 0 7f47d5cf6000-7f47d5d36000 rw-p 00000000 00:00 0 7f47d5d36000-7f47d5d39000 r-xp 00000000 00:37 7411620 /usr/lib64/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so 7f47d5d39000-7f47d5f38000 ---p 00003000 00:37 7411620 /usr/lib64/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so 7f47d5f38000-7f47d5f39000 r--p 00002000 00:37 7411620 /usr/lib64/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so 7f47d5f39000-7f47d5f3b000 rw-p 00003000 00:37 7411620 /usr/lib64/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so 7f47d5f3b000-7f47d6b7e000 rw-p 00000000 00:00 0 7f47d6b7e000-7f47d6b80000 r-xp 00000000 00:37 7345249 /usr/lib64/libutil-2.17.so 7f47d6b80000-7f47d6d7f000 ---p 00002000 00:37 7345249 /usr/lib64/libutil-2.17.so 7f47d6d7f000-7f47d6d80000 r--p 00001000 00:37 7345249 /usr/lib64/libutil-2.17.so 7f47d6d80000-7f47d6d81000 rw-p 00002000 00:37 7345249 /usr/lib64/libutil-2.17.so 7f47d6d81000-7f47d6d83000 r-xp 00000000 00:37 7345016 /usr/lib64/libdl-2.17.so 7f47d6d83000-7f47d6f83000 ---p 00002000 00:37 7345016 /usr/lib64/libdl-2.17.so 7f47d6f83000-7f47d6f84000 r--p 00002000 00:37 7345016 /usr/lib64/libdl-2.17.so 7f47d6f84000-7f47d6f85000 rw-p 00003000 00:37 7345016 /usr/lib64/libdl-2.17.so 7f47d6f85000-7f47d7149000 r-xp 00000000 00:37 7344987 /usr/lib64/libc-2.17.so 7f47d7149000-7f47d7348000 ---p 001c4000 00:37 7344987 /usr/lib64/libc-2.17.so 7f47d7348000-7f47d734c000 r--p 001c3000 00:37 7344987 /usr/lib64/libc-2.17.so 7f47d734c000-7f47d734e000 rw-p 001c7000 00:37 7344987 /usr/lib64/libc-2.17.so 7f47d734e000-7f47d7353000 rw-p 00000000 00:00 0 7f47d7353000-7f47d7368000 r-xp 00000000 00:37 7345034 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f47d7368000-7f47d7567000 ---p 00015000 00:37 7345034 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f47d7567000-7f47d7568000 r--p 00014000 00:37 7345034 /usr/… The-OpenROAD-Project/OpenLane