How to Debug Model Destroys in Spectrum
search cancel

How to Debug Model Destroys in Spectrum

book

Article ID: 123444

calendar_today

Updated On:

Products

Spectrum

Issue/Introduction

When models are destroyed the events are not always descriptive enough to determine what caused the model to be destroyed.
This tech doc provides info on how to debug model destroys.

Environment

Release:
Component: SPCCSS

Resolution

Edit the $SPECROOT/SS/.vnmrc and add this line:

debug_destroy_model_stacks=true

Stop and restart the SpectroSERVER.

When models are destroyed, debug information will print to the $SPECROOT/SS/VNM.OUT.

Additional Information


Example output with debug enabled

$SPECROOT/SS/VNM.OUT

Jun 01 10:22:43 ERROR TRACE at CsModel1.cc(1406): CsModel::destroy_model mh=0x61911dd

CsSymbolInfo::get_current_context(ucontext*) [/opt/SPECTRUM/lib/libGlobl.so.1]
CsSymbolInfo::print_current_stack(std::ostream&) [/opt/SPECTRUM/lib/libGlobl.so.1]
CsModel::destroy_model(int, char const*, CsSecurityIf const*) [/opt/SPECTRUM/lib/../SS/libsskrnl.so.1]
CsModelIf::destroy(int, CsSecurityIf const*) const [/opt/SPECTRUM/lib/../SS/libsskrnl.so.1]
CsVnmModelHandle::destroy(CsConnHandle const&, int) const [/opt/SPECTRUM/lib/../SS/libIHapi.so.1]
CsVnmModelHandle::destroy(int) const [/opt/SPECTRUM/lib/../SS/libIHapi.so.1]
IHStaleIfPurge::purge(CsModelHandle const&, CsULongList const*, CsULongList const&) [/opt/SPECTRUM/lib/../SS/libmdlsvint.so.1]
IHStaleIfPurge::trig_timer(CsModelHandle const&, unsigned int) [/opt/SPECTRUM/lib/../SS/libmdlsvint.so.1]
CsIHTimerMgr::do_periodic_work(CsPeriodicWorkNode const*) [/opt/SPECTRUM/lib/../SS/libsskrnl.so.1]
CsPeriodicWorkScheduler::process_work_node(CsWorkNode*) [/opt/SPECTRUM/lib/libwkmgr.so.1]
CsWorkScheduler::do_work() [/opt/SPECTRUM/lib/libwkmgr.so.1]
moot_thread_start [/opt/SPECTRUM/lib/libmoot.so.1]