IV26784: UA:LINUX ONLY, UA STOPS MONITORING SNMP TRAPS WHEN CHECKSUM ERROR RECEIVED
Fixes are available
Closed as program error.
When UA received a checksum error in the packet received from snmp trap, kumstrap exits automatically. kumstrap.log entries: ---------------------- 50305C51 ----- Trap socket select completed. nfds=1 50305C51 ----- Checking trapSSE ReadMasks 50305C51 ----- Clearing ReadMask for IPv4 socket 4 50305C51 ----- Socket 4 selected for UDP data, addrlen 16 50305C51 ***** trap receive error on socket 4, errno 11 addrlen 16 kumstrap exit: ---------------------- 13:24:01.516639 recvfrom(4, 0x7fff7d868600, 4000, 0, 0x7fff7d868180, 0x7fff7d86817c) = -1 EAGAIN (Resource temporarily unavailable) 13:24:01.536794 write(3, "50305C15 ----- Socket 4 added to"..., 324) = 324 13:24:01.536981 close(3) = 0 13:24:01.537078 munmap(0x7f5283a7d000, 4096) = 0 13:24:01.548795 exit_group(0) = ? Modify the UA code for Linux only to suppress the 'exit logic' and instead to reissue the socket select() call.
Universal Agent on LINUX only, stops monitoring SNMP traps when Checksum error received When software that emits SNMP trap injects CheckSum error in the trap data, Linux O/S socket select() API does not cope with this circumstance, falsely returning success status on 'select'. Subsequent socket recvfrm() API fails to receive data since there is no valid data. Universal Agent SNMP trap 'listening' code is a continuous loop, thus implemented design was to exit from the loop on recvfrm() failure and terminate the SNMP trap 'listening' thread; otherwise Universal Agent could potentially fall into a tight, infinite loop of repeatedly issuing recvrm() calls that return failed status.
Customer resolved problem by correcting CheckSum error in their Perl script. APAR fix only delivers nominal enhancement to Universal Agents's reaction to bad data arriving on SNMP trap listening socket. This APAR "fix" added a counter that checks for 5 consecutive recvfrm() failures and if so then original Universal Agent behavior of exiting from loop on recvfrm() failure and terminating SNMP trap 'listening' thread is carried out - this APAR can not fix a customer's code. The fix for this APAR is included in the following maintenance vehicle: | fix pack | 6.2.3-TIV-ITM-FP0003 Note: Search the IBM technical support web site for maintenance package availability.
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels