Skip to content

openroad coredumps during clock tree insertion #9993

@MoonbaseOtago

Description

@MoonbaseOtago

Describe the bug

I'm building a design with an external clock (and tree) and 2 internal clocks (and trees) derived from flops, in some recent openroad releases it works, in others it crashes (sort of sounds like a use after free sort of bug)

I'll attach a reproducible that fails consistently - have a look in files/home/paul/factory-test/src/project.sdc to see how I set up the clocks - note this web form wont take the upload, I'll try in the bug propper or give you a link to the file

I've added a GDB backtrace at the end here, it's 26,000 stack frames deep, might be a recursion problem .....

Expected Behavior

It doesn't crash, makes the clock trees

Environment

[WARNING] Your current OpenROAD version is outdated.
It is recommened to pull the latest changes.
If problem persists, file a github issue with the re-producible test case.
kernel: Linux 6.19.0-9-generic
os: Ubuntu 26.04 (Resolute Raccoon)
cmake version 4.2.3
-- The CXX compiler identification is GNU 15.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: 26Q1-1957-g9b0caf1a52
-- System name: Linux
-- Compiler: GNU 15.2.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 20
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- LTO/IPO is enabled
-- The C compiler identification is GNU 15.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-alloc-size-larger-than
-- Performing Test C_COMPILER_SUPPORTS__-Wno-alloc-size-larger-than - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-alloc-size-larger-than
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-alloc-size-larger-than - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-attributes
-- Performing Test C_COMPILER_SUPPORTS__-Wno-attributes - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-attributes
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-attributes - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-aggressive-loop-optimizations
-- Performing Test C_COMPILER_SUPPORTS__-Wno-aggressive-loop-optimizations - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-aggressive-loop-optimizations
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-aggressive-loop-optimizations - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-stringop-overflow
-- Performing Test C_COMPILER_SUPPORTS__-Wno-stringop-overflow - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-stringop-overflow
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-stringop-overflow - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-changes-meaning
-- Performing Test C_COMPILER_SUPPORTS__-Wno-changes-meaning - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-changes-meaning
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-changes-meaning - Success
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive - Success
-- Performing Test C_COMPILER_SUPPORTS__-x
-- Performing Test C_COMPILER_SUPPORTS__-x - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-x
-- Performing Test CXX_COMPILER_SUPPORTS__-x - Failed
-- Performing Test C_COMPILER_SUPPORTS__c++
-- Performing Test C_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__c++
-- Performing Test CXX_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test C_COMPILER_SUPPORTS__-std=c++17
-- Performing Test C_COMPILER_SUPPORTS__-std=c++17 - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17 - Success
-- Performing Test C_COMPILER_SUPPORTS__-fno-exceptions
-- Performing Test C_COMPILER_SUPPORTS__-fno-exceptions - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-fno-exceptions
-- Performing Test CXX_COMPILER_SUPPORTS__-fno-exceptions - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline header: /usr/include/x86_64-linux-gnu
-- Found SWIG: /usr/bin/swig (found suitable version "4.4.0", minimum required is "4.0")
-- Using SWIG >= 4.4.0 -flatstaticmethod flag for python
-- boost: 1.90.0
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- absl: 20260107
-- Found GTest: /home/paul/.local/lib/cmake/GTest/GTestConfig.cmake (found version "1.17.0")
-- GTest: 1.17.0
-- Found Python3: /usr/include/python3.14 (found version "3.14.3") found components: Development Development.Module Development.Embed
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3.1")
-- spdlog: 1.15.0
-- Found BISON: /usr/bin/bison (found version "3.8.2")
-- Found Doxygen: /usr/bin/doxygen (found version "1.15.0") found components: doxygen dot
-- STA version: 3.0.0
-- STA git sha: 83e1f9b77f35a953dbd3c01dba431a789a981803
-- System name: Linux
-- Compiler: GNU 15.2.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- IPO/LTO: not supported - CMake doesn't support IPO for current C compiler
-- Found FLEX: /usr/biCMake Error at /usr/lib/x86_64-linux-gnu/cmake/Boost-1.90.0/BoostConfig.cmake:141 (find_package):
  Could not find a configuration file for package "boost_iostreams" that
  exactly matches requested version "1.90.0".

  The following configuration files were considered but not accepted:

    /home/paul/.local/lib/cmake/boost_iostreams-1.89.0/boost_iostreams-config.cmake, version: 1.89.0
      The version found is not compatible with the version requested.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/Boost-1.90.0/BoostConfig.cmake:262 (boost_find_component)
  src/utl/CMakeLists.txt:6 (find_package)


n/flex (found version "2.6.4")
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline library: NOT FOUND
-- TCL readline header: /usr/include/x86_64-linux-gnu/tclreadline.h
-- CUDD library: /usr/local/lib/libcudd.a
-- CUDD header: /usr/local/include/cudd.h
-- SSTA: 0
-- Found SWIG: /usr/bin/swig (found suitable version "4.4.0", minimum required is "3.0")
-- STA library: /tmp/tmp.GktfBUEVWK/libOpenSTA.a
-- STA executable: /tmp/tmp.GktfBUEVWK/sta
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found re2: /home/paul/.local/lib/cmake/re2/re2Config.cmake (found version "11.0.0")
-- Found Clp: /home/paul/.local/lib/cmake/Clp/ClpConfig.cmake (found version "1.17.10")
-- Found Cbc: /home/paul/.local/lib/cmake/Cbc/CbcConfig.cmake (found version "2.10.12")
-- Found SCIP: /home/paul/.local/lib/cmake/scip/scip-config.cmake (found version "9.2.2")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found OR-Tools: /home/paul/.local/lib/cmake/ortools (version: 9.14.6206)
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- GUI is enabled
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS)
-- Configuring incomplete, errors occurred!

To Reproduce

grab the reproducable, run "tun.sh"

Relevant log output

Screenshots

No response

Additional Context

Here's a coredump - looks like a recursion issue - it's 26,000 stack frames deep :-)

Program received signal SIGSEGV, Segmentation fault.
0x000055555ba1585c in std::__get_helper<0ul, odb::Point&&> (__t=...) at /usr/include/c++/15/tuple:2429
2429 { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
(gdb) bt
#0 0x000055555ba1585c in std::__get_helper<0ul, odb::Point&&> (__t=...) at /usr/include/c++/15/tuple:2429
#1 0x000055555ba154bf in std::get<0ul, odb::Point&&> (__t=std::tuple containing = {...}) at /usr/include/c++/15/tuple:2445
#2 0x000055555dbe5940 in std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >::pair<odb::Point&&, 0ul>(std::tupleodb::Point&&&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) (this=0x555571b49d90,
__tuple1=std::tuple containing = {...}, __tuple2=empty std::tuple) at /usr/include/c++/15/tuple:2886
#3 0x000055555dbe4f63 in std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >::pairodb::Point&&(std::piecewise_construct_t, std::tupleodb::Point&&, std::tuple<>) (this=0x555571b49d90,
__first=std::tuple containing = {...}, __second=empty std::tuple) at /usr/include/c++/15/tuple:2876
#4 0x000055555dbe4106 in construct_at<std::pair<const odb::Point, std::vectorodb::dbITerm* >, const std::piecewise_construct_t&, std::tupleodb::Point&&, std::tuple<> > (__location=0x555571b49d90) at /usr/include/c++/15/bits/stl_construct.h:110
#5 0x000055555dbdf3cc in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > > >::construct<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >, std::piecewise_construct_t const&, std::tupleodb::Point&&, std::tuple<> >(std::allocator<std::_Rb_tree_node<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >&, std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >, std::piecewise_construct_t const&, std::tupleodb::Point&&&&, std::tuple<>&&) (__a=..., __p=0x555571b49d90) at /usr/include/c++/15/bits/alloc_traits.h:676
#6 std::_Rb_tree<odb::Point, std::pair<odb::Point const, std::vector<odb::dbITerm
, std::allocatorodb::dbITerm* > >, std::_Select1st<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >::_M_construct_node<std::piecewise_construct_t const&, std::tupleodb::Point&&, std::tuple<> >(std::_Rb_tree_node<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::piecewise_construct_t const&, std::tupleodb::Point&&&&, std::tuple<>&&) (this=0x7fffff7ff490, __node=0x555571b49d70) at /usr/include/c++/15/bits/stl_tree.h:1237
#7 0x000055555dbd80a5 in std::_Rb_tree<odb::Point, std::pair<odb::Point const, std::vector<odb::dbITerm
, std::allocatorodb::dbITerm* > >, std::_Select1st<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >::_M_create_node<std::piecewise_construct_t const&, std::tupleodb::Point&&, std::tuple<> >(std::piecewise_construct_t const&, std::tupleodb::Point&&&&, std::tuple<>&&) (this=0x7fffff7ff490) at /usr/include/c++/15/bits/stl_tree.h:1254
#8 0x000055555dbd0659 in std::_Rb_tree<odb::Point, std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >, std::_Select1st<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >::_Auto_node::_Auto_node<std::piecewise_construct_t const&, std::tupleodb::Point&&, std::tuple<> >(std::_Rb_tree<odb::Point, std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >, std::_Select1st<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >&, std::piecewise_construct_t const&, std::tupleodb::Point&&&&, std::tuple<>&&) (this=0x7fffff7ff300, __t=...) at /usr/include/c++/15/bits/stl_tree.h:2285
#9 0x000055555dbc8bea in std::_Rb_tree<odb::Point, std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > >, std::_Select1st<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tupleodb::Point&&, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > >, std::piecewise_construct_t const&, std::tupleodb::Point&&&&, std::tuple<>&&) (this=0x7fffff7ff490, __pos={...})
at /usr/include/c++/15/bits/stl_tree.h:3084
#10 0x000055555dbc2b5b in std::map<odb::Point, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* >, std::lessodb::Point, std::allocator<std::pair<odb::Point const, std::vector<odb::dbITerm*, std::allocatorodb::dbITerm* > > > >::operator[]
(this=0x7fffff7ff490, __k=...) at /usr/include/c++/15/bits/stl_map.h:555
#11 0x000055555dbaacf0 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:871
#12 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#13 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#14 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#15 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#16 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#17 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#18 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#19 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)

............

#26169 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#26170 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#26171 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#26172 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb570)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891
#26173 0x000055555dbaae76 in cts::TritonCTS::cloneClockGaters (this=0x555562a4c7b0, clkNet=0x55556e9eb4f0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:891

#26174 0x000055555dbad63a in cts::TritonCTS::populateTritonCTS (this=0x555562a4c7b0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:1216
#26175 0x000055555dba4d07 in cts::TritonCTS::runTritonCts (this=0x555562a4c7b0)
at /home/paul/OpenROAD/src/cts/src/TritonCTS.cpp:93
#26176 0x000055555b5dd41b in run_triton_cts ()
at /home/paul/OpenROAD/build/src/cts/src/CMakeFiles/cts.dir/TritonCTSTCL_wrap.cxx:2076
#26177 0x000055555b5e7e1e in _wrap_run_triton_cts (clientData=0x0, interp=0x555562a76a20, objc=1, objv=0x555562a84bd0)
at /home/paul/OpenROAD/build/src/cts/src/CMakeFiles/cts.dir/TritonCTSTCL_wrap.cxx:4214
#26178 0x00007ffff7dfeab0 in TclNRRunCallbacks () from /usr/local/lib/libtcl8.6.so
#26179 0x00007ffff7e00e4e in TclEvalEx () from /usr/local/lib/libtcl8.6.so
#26180 0x00007ffff7e01797 in Tcl_EvalEx () from /usr/local/lib/libtcl8.6.so
#26181 0x00007ffff7e017ba in Tcl_Eval () from /usr/local/lib/libtcl8.6.so

#26182 0x000055555aaeac02 in sta::sourceTclFile (filename=0x7fffffffc563 "./scripts/openroad/cts.tcl", echo=false,
verbose=false, interp=0x555562a76a20) at /home/paul/OpenROAD/src/sta/app/StaMain.cc:104
#26183 0x000055555a6b3ada in tclAppInit (argc=@0x5555624b0fc0: 2, argv=0x7fffffffbf78,
init_filename=0x55555f47a668 ".openroad", interp=0x555562a76a20) at /home/paul/OpenROAD/src/Main.cc:564
#26184 0x000055555a6b3e61 in ord::tclInit (interp=0x555562a76a20) at /home/paul/OpenROAD/src/Main.cc:608
#26185 0x000055555a6b3e1a in ord::tclAppInit (interp=0x555562a76a20) at /home/paul/OpenROAD/src/Main.cc:603
#26186 0x00007ffff7ec771a in Tcl_MainEx () from /usr/local/lib/libtcl8.6.so

#26187 0x000055555a6b34bc in main (argc=4, argv=0x7fffffffbf78) at /home/paul/OpenROAD/src/Main.cc:311

Metadata

Metadata

Assignees

Labels

ctsClock Tree Synthesis

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions