search cancel

ArchiveManager crashes on Spectrum 10.4.1

book

Article ID: 188436

calendar_today

Updated On:

Products

CA Spectrum CA eHealth

Issue/Introduction

On Spectrum 10.4.1, Archive Manager may crash after having configured in the .configrc file the following settings:

FLATFILE_EVENTS_FILENAME=<file_name>
FLATFILE_EVENTS_MAX_FILESIZE=<file_size>
FLATFILE_EVENTS_BACKED_UP_FILECOUNT=<file_count>

see https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/it-operations-management/spectrum/10-4-1/integrating/ca-spectrum-and-analytics/configure-ca-spectrum-events-synchronization.html 

The stack dump on a Linux machine looks like:

#0  0x00007f970ea17377 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 elfutils-libelf-0.176-2.el7.x86_64 elfutils-libs-0.176-2.el7.x86_64 glibc-2.17-292.el7.x86_64 libattr-2.4.46-13.el7.x86_64 libcap-2.22-9.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 libstdc++-4.8.5-39.el7.x86_64 nss-softokn-freebl-3.44.0-8.el7_7.x86_64 systemd-libs-219-62.el7_6.3.x86_64 xz-libs-5.2.2-1.el7.x86_64
(gdb) where
#0  0x00007f970ea17377 in raise () from /lib64/libc.so.6
#1  0x00007f970ea18a68 in abort () from /lib64/libc.so.6
#2  0x00007f970f5437d5 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3  0x00007f970f541746 in ?? () from /lib64/libstdc++.so.6
#4  0x00007f970f541773 in std::terminate() () from /lib64/libstdc++.so.6
#5  0x00007f970f541786 in ?? () from /lib64/libstdc++.so.6
#6  0x00007f970f5413c2 in __cxa_call_unexpected () from /lib64/libstdc++.so.6
#7  0x00007f970f541f40 in operator new(unsigned long) () from /lib64/libstdc++.so.6
#8  0x00007f970f5a0a19 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) () from /lib64/libstdc++.so.6
#9  0x00007f970f5a162b in std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long) () from /lib64/libstdc++.so.6
#10 0x00007f970f5a16d4 in std::string::reserve(unsigned long) () from /lib64/libstdc++.so.6
#11 0x00007f970f5a193f in std::string::append(char const*, unsigned long) () from /lib64/libstdc++.so.6
#12 0x00007f9713fee257 in EventFormatter::parse(char const*) const () from /opt/SPECTRUM/lib/libVPapi.so.1
#13 0x000000000043c119 in ArchMgrItcInterface::store_flatfile_event(CsEventMessage const&) ()
#14 0x000000000043d0ca in ArchMgrItcInterface::callFunction() ()
#15 0x00007f97156568e9 in ItcRemoteCall::native_call(void*) () from /opt/SPECTRUM/lib/libitc.so.1
#16 0x00007f9715446dd8 in NativeWorkQueue::process_work(void*) () from /opt/SPECTRUM/lib/libitcbase.so.1
#17 0x00007f970edb6ea5 in start_thread () from /lib64/libpthread.so.0
#18 0x00007f970eadf8cd in clone () from /lib64/libc.so.6
(gdb) quit

On windows the windgb shows the following stack:

STACK_TEXT:  
00000017`e399f4c8 00007ffe`36224a49 : 00000000`00000000 00000017`e399f600 00000000`00000051 00000000`00000022 : msvcr120!__entry_from_strcat_in_strcpy+0x1f
00000017`e399f4d0 00007ffe`3729b674 : 00000000`ffffff2e 00000017`e399f600 00000000`00000050 00000000`00000022 : libGlobl!Cs_strdup+0x35
00000017`e399f500 00007ff7`3dbc49b9 : 000001c8`53adcdd0 000001c8`64c4cc10 000001c8`64c4cc10 00000000`00010302 : libVPapi!EventFormatter::parse+0x714
00000017`e399f780 00007ff7`3dbc24be : 000001c8`64995070 00007ffe`4eee4b9c 00000000`01000000 000001c8`53adcdd0 : ArchMgr!ArchMgrItcInterface::store_flatfile_event+0x3d
00000017`e399f810 00007ffe`45f055fd : 000001c8`61bb3208 000001c8`61bb31f0 000001c8`00000000 00000000`00000434 : ArchMgr!ArchMgrItcInterface::callFunction+0x222
00000017`e399f880 00007ffe`4611257d : 000001c8`61bb3208 00000000`00000000 000000f4`5e79cbb3 00000000`00000000 : libitc!ItcRemoteCall::native_call+0x7d
00000017`e399f8b0 00007ffe`4f2184d4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : libitcbase!NativeWorkQueue::process_work+0x81
00000017`e399f900 00007ffe`51cee851 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000017`e399f930 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21

 

Cause

non-ASCII characters in the Model Names or Events seem to be causing the problem.
While converting the non-ASCII to Unicode the string is growing exponentially and causing OOM (out of memory) crash.

Environment

Release : 10.4.1

Component : Spectrum Alarm & Event Management

Resolution

Spectrum_10.04.01.D21