Skip to content

odb: Crash on dbInsertBuffer::stitchLoadToDriver() #9409

@jhkim-pii

Description

@jhkim-pii

Describe the bug

Crash occurred during dbInsertBuffer::stitchLoadToDriver() execution in CTS stage when SWAP_ARITH_OPERATORS=1.

Design: gf12/ca53

Log

flow$ make DESIGN_CONFIG=./designs/gf12/ca53/config.mk OPENROAD_HIERARCHICAL=1 SWAP_ARITH_OPERATORS=1 all

...
[2026-01-30T09:50:55.971Z] [INFO CTS-0124] Clock net "u_ca53_noram\/u_ca53dpu\/u_dpu_dp\/u_alu1\/clk_ex2_regs"
[2026-01-30T09:50:55.971Z] [INFO CTS-0125]  Sinks 1
[2026-01-30T09:50:55.971Z] [INFO CTS-0124] Clock net "u_ca53_noram\/u_ca53dpu\/u_dpu_br\/clk_br_ex2_regs"
[2026-01-30T09:50:55.971Z] [INFO CTS-0125]  Sinks 1
[2026-01-30T09:50:55.971Z] [INFO CTS-0124] Clock net "u_ca53_noram\/u_ca53dpu\/u_dpu_br\/clk_br_ex1_regs"
[2026-01-30T09:50:55.971Z] [INFO CTS-0125]  Sinks 1
[2026-01-30T09:51:45.137Z] [INFO RSZ-0047] Found 55 long wires.
[2026-01-30T09:51:45.137Z] [INFO RSZ-0048] Inserted 145 buffers in 55 nets.
[2026-01-30T09:51:45.137Z] [INFO CTS-0033] Balancing latency for clock clk
[2026-01-30T09:52:01.907Z] Signal 11 received
[2026-01-30T09:52:01.907Z] Stack trace:
[2026-01-30T09:52:01.907Z]  0# 0x00005CAECD8484B7 in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  1# 0x000072E123442520 in /lib/x86_64-linux-gnu/libc.so.6
[2026-01-30T09:52:01.907Z]  2# odb::dbInsertBuffer::stitchLoadToDriver(odb::dbITerm*, odb::dbITerm*, std::set<odb::dbObject*, std::less<odb::dbObject*>, std::allocator<odb::dbObject*> > const&) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  3# odb::dbInsertBuffer::rewireBufferLoadPins(std::set<odb::dbObject*, std::less<odb::dbObject*>, std::allocator<odb::dbObject*> > const&) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  4# odb::dbInsertBuffer::insertBufferBeforeLoads(std::set<odb::dbObject*, std::less<odb::dbObject*>, std::allocator<odb::dbObject*> > const&, odb::dbMaster const*, odb::Point const*, char const*, char const*, odb::dbNameUniquifyType const&, bool) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  5# odb::dbNet::insertBufferBeforeLoads(std::set<odb::dbObject*, std::less<odb::dbObject*>, std::allocator<odb::dbObject*> > const&, odb::dbMaster const*, odb::Point const*, char const*, char const*, odb::dbNameUniquifyType const&, bool) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  6# cts::LatencyBalancer::insertDelayBuffers(int, int, int, std::vector<odb::dbITerm*, std::allocator<odb::dbITerm*> > const&) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  7# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  8# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z]  9# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 10# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 11# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 12# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 13# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 14# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 15# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 16# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 17# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 18# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 19# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 20# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 21# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 22# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 23# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 24# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 25# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 26# cts::LatencyBalancer::balanceLatencies(int) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 27# cts::LatencyBalancer::run() in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 28# cts::TritonCTS::balanceMacroRegisterLatencies() in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 29# cts::TritonCTS::runTritonCts() in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 30# 0x00005CAECDD882B5 in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 31# TclNRRunCallbacks in /lib/x86_64-linux-gnu/libtcl8.6.so
[2026-01-30T09:52:01.907Z] 32# 0x000072E12813B028 in /lib/x86_64-linux-gnu/libtcl8.6.so
[2026-01-30T09:52:01.907Z] 33# Tcl_EvalEx in /lib/x86_64-linux-gnu/libtcl8.6.so
[2026-01-30T09:52:01.907Z] 34# Tcl_Eval in /lib/x86_64-linux-gnu/libtcl8.6.so
[2026-01-30T09:52:01.907Z] 35# sta::sourceTclFile(char const*, bool, bool, Tcl_Interp*) in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 36# 0x00005CAECFE5BEBB in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 37# Tcl_MainEx in /lib/x86_64-linux-gnu/libtcl8.6.so
[2026-01-30T09:52:01.907Z] 38# main in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] 39# 0x000072E123429D90 in /lib/x86_64-linux-gnu/libc.so.6
[2026-01-30T09:52:01.907Z] 40# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
[2026-01-30T09:52:01.907Z] 41# _start in /tmp/workspace/secure-fix-replace-arith-modules/tools/install/OpenROAD/bin/openroad
[2026-01-30T09:52:01.907Z] Command terminated by signal 11
[2026-01-30T09:52:01.907Z] Elapsed time: 3:31.50[h:]min:sec. CPU time: user 336.84 sys 149.18 (229%). Peak memory: 4599160KB.
[2026-01-30T09:52:01.907Z] make[1]: *** [Makefile:507: do-4_1_cts] Error 1
[2026-01-30T09:52:01.907Z] make: *** [Makefile:507: results/gf12/ca53_cpu/base/4_1_cts.odb] Error 2

Expected Behavior

No crash.

Environment

-- OpenROAD version: 26Q1-745-g4f93607760
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RelWithDebInfo
-- Install prefix: /workspace/ws7/OpenROAD-flow-scripts/tools/install/OpenROAD
-- C++ Standard: 20
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- LTO/IPO is disabled
-- 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
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- TCL readline header: /usr/include/x86_64-linux-gnu
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.3.0", minimum required is "4.0")
-- Using SWIG >= 4.3.0 -flatstaticmethod flag for python
-- boost: 1.89.0
-- GTest: 1.13.0
-- spdlog: 1.15.0
-- STA version: 2.7.0
-- STA git sha: 087793e8a0c0245d0b696039c638acad425fbf66
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RelWithDebInfo
-- Build CXX_FLAGS: 
-- Install prefix: /workspace/ws7/OpenROAD-flow-scripts/tools/install/OpenROAD
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- 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/local/bin/swig (found suitable version "4.3.0", minimum required is "3.0")
-- STA library: /workspace/ws7/OpenROAD-flow-scripts/tools/OpenROAD/build/libOpenSTA.a
-- STA executable: /workspace/ws7/OpenROAD-flow-scripts/tools/OpenROAD/build/sta
-- Found OR-Tools: /opt/or-tools/lib/cmake/ortools (version: 9.11.4210)
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- GUI is enabled
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS) 
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled

To Reproduce

flow$ make DESIGN_CONFIG=./designs/gf12/ca53/config.mk OPENROAD_HIERARCHICAL=1 SWAP_ARITH_OPERATORS=1 all

Relevant log output

Screenshots

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

odbOpenDB

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions