Specifications

Patches Issued Since the CS2/MMS2 Release
Software Superseded by CS3/MMS3 Software Release Notice for 5.0rev1
5-102 CS3 and MMS3
--
The problem was that while running a "Reconfigure Model" on an
rtr_cisco (Cisco 2501) it was found that the SPECTRUM
AutoDiscovery would dead-lock at a router model which originally had
a data relay class of 0. When the data relay class was changed from 0
to 3 the AutoDiscovery would still dead-lock. Presently, only one
scratchpad is shared by all router actions. This circumstance may
have caused a SpectroSERVER core dump while one router action was
reading the scratchpad, and another action was trying to delete/add to
the scratchpad.
The resolution was to add a new variable in the router's scratchpad.
So far, the deadlock only occurred between two actions
AD_ROUTER_MAP and AD_GET_RTR_INTERFACE_ID. During a
router map discovery, AD_GET_RTR_INTERFACE_ID action was
indirectly triggered, which resulted in deadlock. The new solution to
this problem is to set the newly added variable ad_router_map_lock in
the scratchpad to TRUE before running AD_ROUTER_MAP. Then if
AD_GET_RTR_INTERFACE_ID action is triggered, SPECTRUM
needs to check if ad_router_map_lock was set to TRUE. If yes,
SPECTRUM doesn't lock the discovery process for this action. Also, a
new method get_complete_scratchpad() was added to CsIHRouterDisc
to access the new scratchpad member ad_router_map_lock.
--
The problem was SPECTRUM was showing a significant (1.6G in a 30
hour period). Purify had been installed and a trace was made
available. The DDM database was re-initialized and the polling and
logging data was verified. SPECTRUM still showed a memory growth
after these measures were taken.
The resolution was to remove the memory leaks from the code
pinpointed by the Purify traces.
--
The problem was if a long expression was typed in by hand when
creating a SpectroWatch it would become truncated upon shutdown
and restart of the WatchEditor. This occurred because the
WatchEditor added extra spaces and parentheses to the expression
when it saved and reloaded it. The WatchEditor would allow saving
the long expression with no incident. It was only when the