SpectroServer Crash after restart on 10.2.3.BMP-301

Document ID : KB000126725
Last Modified Date : 12/02/2019
Show Technical Document Details
Issue:
The primary MLS crashed and created the following gdb trace stack:
--------------------
(gdb) where
#0 0x00007fddb58e602c in std::string::assign(std::string const&) () from /lib64/libstdc++.so.6
#1 0x00007fddbea44a55 in IHFirmwareNormalizer::regExParser(char*, std::string&, CsModelHandle const&, unsigned int&) ()
from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1
#2 0x00007fddbea44ce1 in IHFirmwareNormalizer::updateFirmwareVersion(CsModelHandle const&, char*, unsigned int) ()
from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1
#3 0x00007fddbea451f6 in IHFirmwareNormalizer::iterate_firmware_attr(CsModelHandle const&) () from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1
#4 0x00007fddbea452ff in IHFirmwareNormalizer::checkAndUpdateFirmwareVersion(CsModelHandle const&, int) () from /opt/SPECTRUM/lib/../SS/libmdlsvint.so.1
#5 0x00007fddc0881e34 in CsIHActWatcher::notify(CsIncidentParm const*, CsSecurityIf const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1
#6 0x00007fddc090401b in CsModel::activate_model(int, CsSecurityIf const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1
#7 0x00007fddc085ee18 in CsActivateScheduler::process_queued_work(CsWorkNode const*) () from /opt/SPECTRUM/lib/../SS/libsskrnl.so.1
#8 0x00007fddbbb33282 in CsWorkQueue::process_work_node(CsWorkNode*) () from /opt/SPECTRUM/lib/libwkmgr.so.1
#9 0x00007fddbbb3258a in CsWorkScheduler::do_work() () from /opt/SPECTRUM/lib/libwkmgr.so.1
#10 0x00007fddc0590a63 in moot_thread_start () from /opt/SPECTRUM/lib/libmoot.so.1
#11 0x00007fddb4d76d40 in ?? () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()
--------------------

Loading the last SSDB backup got the SpectroServer running again. 
Environment:
Release and patches installed in Linux DSS environment:
10.2.3.0.107
Spectrum_10.02.03.BMP_10.2.301
Spectrum_10.02.03.PTF_10.2.325
Spectrum_10.02.03.PTF_10.2.332
Spectrum_10.02.03.PTF_10.2.334a
Spectrum_10.02.03.D415
Resolution:
The crash happened on a device with custom Model Type when internally parsing a regular expression. 

After recreating the issue, Spectrum_10.02.03.PTF_10.2.373 was created to not crash when parsing regular expressions:

------------------
Symptom : SpectroSERVER crashed when parsing the regular expression.
Resolution: SpectroSERVER did not crash when parsing the regular expression.
(DE401365, 01276772)
------------------
Additional Information:
This fix is also planned to be included into the next release - Spectrum 10.3.2