SpectroSERVER Crashes with IHSyncRead

Document ID : KB000108914
Last Modified Date : 31/07/2018
Show Technical Document Details
Issue:
The SpectroSERVER is crashing every few days with a core/dmp/mdmp file.
Cause:
When looking at the stack from the core file you see a thread of:

#0 0x00007f7d8d38dd38 in CsIHSyncRead::trig_read(CsModelHandle const&, unsigned int, CsReadInfo const*) () from /opt/SPECTRUM/lib/../SS/libgmmintel.so.1 
#1 0x00007f7d93e0e80a in CsModel::get_calc_attr_val(CsMTypeAttr const*, CsObjectID const*, unsigned char) const () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#2 0x00007f7d93e12e74 in CsModel::get_calc(CsULongList&, CsAttrValList*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#3 0x00007f7d93e14c8d in CsModel::read(CsAttrValList*, unsigned char, CsSecurityIf const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#4 0x00007f7d93e31325 in CsModelIf::read(CsAttrValList*, CsSecurityIf const*) const () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#5 0x00007f7d92d26b3f in CsVnmModelHandle::read(CsAttrValList*) const () from /opt/SPECTRUM/lib/../SS/libIHapi.so.1 
#6 0x00007f7d91f643de in IHIfTablePortPerf::read_source_data(CsModelHandle const&) () from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1 
#7 0x00007f7d91f63cf2 in IHIfTablePortPerf::read_calculate_and_cache(CsModelHandle const&, PortPerfCachedDataNode*) () from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1 
#8 0x00007f7d91f63f08 in IHIfTablePortPerf::trig_read(CsModelHandle const&, unsigned int, CsReadInfo const*) () from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1 
#9 0x00007f7d93e0e80a in CsModel::get_calc_attr_val(CsMTypeAttr const*, CsObjectID const*, unsigned char) const () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#10 0x00007f7d93e03751 in CsModel::read_calc(CsAttrReadReqList*, CsAttrValRspList*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#11 0x00007f7d93e09732 in CsModel::read(CsAttrReadReqList*, CsDcmArgs const*, CsSecurityIf const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#12 0x00007f7d8f2d5fe8 in CsDModelIf::read(CsAttrReadReqList*, CsSecurityIf const*) const () from /opt/SPECTRUM/lib/libgserv.so.1 
#13 0x00007f7d8f2d7bf0 in CsDModelIf::dispatch(CsVnmMsg*, CsVPConnHandle const&, CsSecurityIf const*) () from /opt/SPECTRUM/lib/libgserv.so.1 
#14 0x00007f7d93e336a9 in CsMultiReqScheduler::dispatch_request(CsMultiReqMsg*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#15 0x00007f7d93e3383f in CsMultiReqScheduler::process_queued_work(CsWorkNode const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1 
#16 0x00007f7d8f061282 in CsWorkQueue::process_work_node(CsWorkNode*) () from /opt/SPECTRUM/lib/libwkmgr.so.1 
#17 0x00007f7d8f06058a in CsWorkScheduler::do_work() () from /opt/SPECTRUM/lib/libwkmgr.so.1 
#18 0x00007f7d93ab7a63 in moot_thread_start () from /opt/SPECTRUM/lib/libmoot.so.1 
#19 0x00007f7d882a7d40 in ?? () from /lib64/libc.so.6 
#20 0x0000000000000000 in ?? () 
Resolution:
This is a bug and you need to install Spectrum_10.02.03.PTF_10.2.322 to stop the crash. Please contact support for the PTF.
Additional Information:
To get the stack on Windows use WinDBG. On linux run gdb as follows from the $SPECROOT/SS directory (please upload output to case when created for PTF):
 
  1. script <filename you want> This creates a text file for all commands typed
  2. Run "gdb SpectroSERVER core.pid" (without the quotes) 
  3. core.pid is the name of the core file. (i.e. core.2323) 
  4. Type “where” (without the quotes) and press enter 
  5. Several lines of data (the contents of the stack) will print out 
  6. Type “info threads” (without the quotes) and press enter 
  7. Type “thread apply all bt full” (without the quotes) and press enter 
  8. Type $Q to quit out of gdb  
  9. Control d closes the file to save and upload