search cancel

Broadcom API Gateway 10.x - Send SNMP Trap Assertion error : "Argument must be an unsigned 32bit value"

book

Article ID: 238369

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

API service configured to send SNMP traps to a remote server via "Send SNMP Trap" assertion, may experience an error like the one below:

2022-03-30T11:40:05.123+1000 SEVERE 389 com.l7tech.server.SoapMessageProcessingServlet: Argument must be an unsigned 32bit value
java.lang.IllegalArgumentException: Argument must be an unsigned 32bit value
at org.snmp4j.smi.UnsignedInteger32.setValue(UnsignedInteger32.java:144)
at org.snmp4j.smi.UnsignedInteger32.(UnsignedInteger32.java:53)
at org.snmp4j.smi.TimeTicks.(TimeTicks.java:58)

Sending a test trap via "snmptrap" command at the OS prompt, returns the following error:

# truncating integer value > 32 bits

 

 

Cause

The above issue has been observed in Gateway with a sys uptime greater than 497 days. 

The issue is due because the two OIDs that the system can query to retrieve uptime are based on 32-bit counters.
Hence the maximum value that these counters can store is 2 to the power of 32, which results in the integer number 4294967296.
Because the value for system uptime is calculated in hundreds of seconds (1/100), the maximum possible uptime that the OID can show is 497 days (4294967296 hundreds of seconds). 

Anything over 497 days will generate values that exceed the 32-bit counters limitation and will be then truncated. 

Environment

Gateway 10.x

Resolution

First, verify the requisite for this issue. Hence check system uptime by executing the following command in the Gateway OS prompt:

# uptime

If the uptime is over 497 days, a reboot of the Gateway server will fix the problem. 

 

Additional Information

Reference: https://access.redhat.com/solutions/367093