Open oharboe opened 1 month ago
@jeffng-or FYI
Stack trace from suspend after a few mins:
std::_Rb_tree_increment(std::_Rb_tree_node_base const*) (@std::_Rb_tree_increment(std::_Rb_tree_node_base const*):10)
sta::InstanceSet::compare(sta::InstanceSet const*, sta::InstanceSet const*, sta::Network const*) (@sta::InstanceSet::compare(sta::InstanceSet const*, sta::InstanceSet const*, sta::Network const*):66)
sta::ExceptionFromTo::compare(sta::ExceptionPt*, sta::Network const*) const (@sta::ExceptionFromTo::compare(sta::ExceptionPt*, sta::Network const*) const:46)
sta::ExceptionPathLess::operator()(sta::ExceptionPath const*, sta::ExceptionPath const*) const (@sta::ExceptionPathLess::operator()(sta::ExceptionPath const*, sta::ExceptionPath const*) const:260)
sta::ExceptionStateLess::operator()(sta::ExceptionState const*, sta::ExceptionState const*) const (@sta::ExceptionStateLess::operator()(sta::ExceptionState const*, sta::ExceptionState const*) const:22)
std::pair<std::_Rb_tree_iterator<sta::ExceptionState*>, bool> std::_Rb_tree<sta::ExceptionState*, sta::ExceptionState*, std::_Identity<sta::ExceptionState*>, sta::ExceptionStateLess, std::allocator<sta::ExceptionState*>>::_M_insert_unique<sta::ExceptionState* const&>(sta::ExceptionState* const&) (@std::pair<std::_Rb_tree_iterator<sta::ExceptionState*>, bool> std::_Rb_tree<sta::ExceptionState*, sta::ExceptionState*, std::_Identity<sta::ExceptionState*>, sta::ExceptionStateLess, std::allocator<sta::ExceptionState*>>::_M_insert_unique<sta::ExceptionState* const&>(sta::ExceptionState* const&):91)
sta::Sdc::exceptionFromStates(sta::Set<sta::ExceptionPath*, std::less<sta::ExceptionPath*>> const*, sta::Pin const*, sta::RiseFall const*, sta::MinMax const*, bool, sta::Set<sta::ExceptionState*, sta::ExceptionStateLess>*&) const (@sta::Sdc::exceptionFromStates(sta::Set<sta::ExceptionPath*, std::less<sta::ExceptionPath*>> const*, sta::Pin const*, sta::RiseFall const*, sta::MinMax const*, bool, sta::Set<sta::ExceptionState*, sta::ExceptionStateLess>*&) const:74)
sta::Sdc::exceptionFromStates(sta::Pin const*, sta::RiseFall const*, sta::Clock const*, sta::RiseFall const*, sta::MinMax const*, sta::Set<sta::ExceptionState*, sta::ExceptionStateLess>*&) const (@sta::Sdc::exceptionFromStates(sta::Pin const*, sta::RiseFall const*, sta::Clock const*, sta::RiseFall const*, sta::MinMax const*, sta::Set<sta::ExceptionState*, sta::ExceptionStateLess>*&) const:213)
sta::PathVisitor::visitFromPath(sta::Pin const*, sta::Vertex*, sta::RiseFall const*, sta::PathVertex*, sta::Edge*, sta::TimingArc*, sta::Pin const*, sta::Vertex*, sta::RiseFall const*, sta::MinMax const*, sta::PathAnalysisPt const*) (@sta::PathVisitor::visitFromPath(sta::Pin const*, sta::Vertex*, sta::RiseFall const*, sta::PathVertex*, sta::Edge*, sta::TimingArc*, sta::Pin const*, sta::Vertex*, sta::RiseFall const*, sta::MinMax const*, sta::PathAnalysisPt const*):189)
sta::PathVisitor::visitEdge(sta::Pin const*, sta::Vertex*, sta::Edge*, sta::Pin const*, sta::Vertex*) (@sta::PathVisitor::visitEdge(sta::Pin const*, sta::Vertex*, sta::Edge*, sta::Pin const*, sta::Vertex*):94)
sta::PathVisitor::visitFaninPaths(sta::Vertex*) (@sta::PathVisitor::visitFaninPaths(sta::Vertex*):70)
sta::ArrivalVisitor::visit(sta::Vertex*) (@sta::ArrivalVisitor::visit(sta::Vertex*):36)
sta::BfsIterator::visit(int, sta::VertexVisitor*) (@sta::BfsIterator::visit(int, sta::VertexVisitor*):72)
sta::Search::findArrivals1(int) (@sta::Search::findArrivals1(int):32)
sta::Search::findAllArrivals(bool) (.constprop.0) (@sta::Search::findAllArrivals(bool) (.constprop.0):66)
sta::Sta::checkTiming(bool, bool, bool, bool, bool, bool, bool) (@sta::Sta::checkTiming(bool, bool, bool, bool, bool, bool, bool):26)
_wrap_check_timing_cmd (@_wrap_check_timing_cmd:121)
TclNRRunCallbacks (@TclNRRunCallbacks:37)
___lldb_unnamed_symbol1497 (@___lldb_unnamed_symbol1497:339)
Tcl_EvalEx (@Tcl_EvalEx:9)
Description
untar https://drive.google.com/file/d/10QLY9Q1DtNGn2bnzDIhNinOuYEgDUAGh/view?usp=sharing
Output:
Suggested Solution
Speed up check_setup and also make it optional
Additional Context
No response