...
There is no new APP registration happens dynamically on released images, so it will not impact on the released images unless there is any new APP is being added in secure ACT2 memory. It will be impacted only on PRE-FCS images where new APP is being added to secure memory.
On Wireless Platforms, C9800-40 and C9800-80, the secure chip ACT2 memory gets exhausted on a specific rommon versions (16.10r, 16.12r) of these platforms. The exhausted memory is not retrieved even after upgrading to latest rommon version v17.3(3r) or latest versions. Affected platforms: Catalyst C9800-40 and Catalyst C9800-80.
Root Cause Analysis: Due to issue with rommon versions 16.10r, 16.12r rommon images, it keeps losing out memory on every system reboot. After few reloads, the ACT2 memory is completely consumed and they become stale objects in the ACt2 memory. Even though it exhausted with ACT2 rommon memory, system doesn't experience any noticeable issue when the system comes up.
As such there is no impact on the functionality of the devices with exhaust of Act2 memory but it restricts addition of new objects into the ACT2 memory. Hence the memory has to be retrieved to support addition of new objects into ACT2 memory. Fix available in IOSXE - v17.13.1 and onwards
Summary of Code Fix: ACT2 memory cleanup algorithm is implemented to run on C9800-40 and C9800-80 platforms. The algorithm runs during bootup and check if there is any deplete in ACT2 memory. If so, it will delete the stale objects and takes it back the ACT2 memory. The algorithm runs only if there is a leak which had happened on the older versions of rommon images. If the device is running latest rommon, 17.3(3r) and onwards, then it will cleanup only once during bootup if there was any leak happened due to older version of the rommon the device. Console log would be shown as below if it goes for reload after cleaning up the Act2 leaked objects. -- RSA Signed DEVELOPMENT Image Signature Verification Successful. Validating subpackage signatures Image validated * act2_object_erase.service - ACT2 Clean Loaded: loaded (/usr/lib/systemd/system/act2_object_erase.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2023-08-26 11:51:08 Universal; 29ms ago Process: 5248 ExecStartPre=/usr/binos/conf/act2_object_erase.sh (code=exited, status=0/SUCCESS) Process: 5259 ExecStart=/usr/sbin/act2_object_erase (code=exited, status=1/FAILURE) Main PID: 5259 (code=exited, status=1/FAILURE) [ 42.177626] localhost systemd[1]: Starting ACT2 Clean... [ 43.274956] localhost act2_object_erase[5259]: ACT2_Cleanup : Low ACT2 memory available 12698 . Cleaning up [ 48.201927] localhost act2_object_erase[5259]: ACT2_Cleanup : After Cleanup, ACT2 available memory space: 12780 [ 48.201927] localhost act2_object_erase[5259]: ACT2_Cleanup Done, It requires a reload now... [ 48.201927] localhost act2_object_erase[5259]: [17B blob data] [ 48.214832] localhost systemd[1]: act2_object_erase.service: Main process exited, code=exited, status=1/FAILURE [ 48.215699] localhost systemd[1]: act2_object_erase.service: Failed with result 'exit-code'. [ 48.215742] localhost systemd[1]: Failed to start ACT2 Clean. >>> Rebooting Initializing Hardware ... ----