Hello openlane2 community, I am currently trying t...
# openlane-2
d
Hello openlane2 community, I am currently trying to debug an issue within the OpenROAD.Floorplan step where OpenRoad segfaults. Based on the Stacktrace I can pinpoint the problem being the LibertyReader, the makeTableAxis function to be precise. Since I am using the Nix setup I was wondering if there was a way to set up an environment where I can launch OpenROAD using gdb, just so I can get the offset within the Liberty file to see where the problem lies. Here is the stacktrace:
Copy code
0# 0x0000558BC117104F in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                                       
1# 0x00007F0A52452F30 in /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6                                                                                                                                 
2# sta::LibertyReader::makeTableAxis(int) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                   
3# sta::LibertyReader::makeTable(sta::LibertyAttr*, float) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                  
4# sta::makeLibertyComplexAttr(char const*, sta::Vector<sta::LibertyAttrValue*>*, int) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                      
5# LibertyParse_parse() in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                                     
6# sta::parseLibertyFile(char const*, sta::LibertyGroupVisitor*, sta::Report*) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                              
7# sta::LibertyReader::readLibertyFile(char const*, bool, sta::Network*) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                    
8# sta::readLibertyFile(char const*, bool, sta::Network*) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                   
9# sta::Sta::readLibertyFile(char const*, sta::Corner*, sta::MinMaxAll const*, bool) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                        
10# sta::Sta::readLiberty(char const*, sta::Corner*, sta::MinMaxAll const*, bool) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                           
11# 0x0000558BC1373943 in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                                      
12# TclNRRunCallbacks in /nix/store/p16s3zg96afj68mfp17m03svhwmdgcz8-tcl-8.6.13/lib/libtcl.so                                                                                                                                    
13# 0x00007F0A5671B50D in /nix/store/p16s3zg96afj68mfp17m03svhwmdgcz8-tcl-8.6.13/lib/libtcl.so                                                                                                                                   
14# Tcl_EvalEx in /nix/store/p16s3zg96afj68mfp17m03svhwmdgcz8-tcl-8.6.13/lib/libtcl.so                                                                                                                                           
15# Tcl_Eval in /nix/store/p16s3zg96afj68mfp17m03svhwmdgcz8-tcl-8.6.13/lib/libtcl.so                                                                                                                                             
16# sta::sourceTclFile(char const*, bool, bool, Tcl_Interp*) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                
17# ord::tclAppInit(Tcl_Interp*) in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                            
18# Tcl_MainEx in /nix/store/p16s3zg96afj68mfp17m03svhwmdgcz8-tcl-8.6.13/lib/libtcl.so                                                                                                                                           
19# main in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad                                                                                                                                                    
20# 0x00007F0A5243D10E in /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6                                                                                                                                
21# __libc_start_main in /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6                                                                                                                                 
22# _start in /nix/store/zzypcxbrgw1qink1l7fwgwpbk7fvdwpg-openroad/bin/openroad
m
I don't use nix but cmake with
-DCMAKE_BUILD_TYPE=Debug
will setup a debug build. If you can share a test case you can open an issue in the OR Github
🙌 1