Bug ID 839597: Restjavad fails to start if provision.extramb has a large value

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP TMOS(all modules)

Known Affected Versions:
12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3, 13.1.0.4, 13.1.0.5, 13.1.0.6, 13.1.0.7, 13.1.0.8, 13.1.1, 13.1.1.2, 13.1.1.3, 13.1.1.4, 13.1.1.5, 13.1.3, 13.1.3.1, 13.1.3.2, 13.1.3.3, 14.0.0, 14.0.0.1, 14.0.0.2, 14.0.0.3, 14.0.0.4, 14.0.0.5, 14.0.1, 14.0.1.1, 14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 15.0.0, 15.0.1, 15.0.1.1, 15.0.1.2, 15.0.1.3, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3, 15.1.0.4

Fixed In:
16.0.0, 15.1.0.5, 15.0.1.4, 14.1.2.5, 13.1.3.4

Opened: Oct 16, 2019

Severity: 3-Major

Symptoms

Rolling restarts of restjavad occur every few seconds and the following messages are seen in the daemon log: daemon.log: emerg logger: Re-starting restjavad The system reports similar message at the command line. No obvious cause is logged in rest logs.

Impact

This impacts the ability to use the REST API to manage the system.

Conditions

-- System DB variable provision.extramb has an unusually high value*: + above ~2700-2800 MB for v12.1.0 and earlier. + above ~2900-3000 MB for v13.0.0 and later. -- On v13.0.0 and later, sys db variable restjavad.useextramb needs to have the value 'true' *A range of values is shown. When the value is above the approximate range specified, constant restarts are extremely likely, and within tens of MB below that point may be less frequent. To check the values of these system DB variables use: tmsh list sys db provision.extramb tmsh list sys db restjavad.useextramb

Workaround

If needing sys db restjavad.useextramb to have the value 'true', keep sys db provision.extramb well below the values listed (e.g., 2000 MB work without issue). To set that at command line: tmsh modify sys db provision.extramb value 2000 If continual restarts of restjavad are causing difficulties managing the unit on the command line: 1. Stop restjavad (you can copy this string and paste it into the command line on the BIG-IP system): tmsh stop sys service restjavad 2. Reduce the large value of provision.extramb if necessary. 3. Restart the restjavad service: tmsh start sys service restjavad

Fix Information

Restjavad memory is now capped at a sensible maximum. If provision.extramb is set to a value higher than 2500 MB it will be considered to be 2500 MB for the purposes of restjavad, and the system logs a message similar to the following in /var/log/ltm, where XXXX is the value of provision.extramb: notice restjavad: JVM heap limit exceeded. Using maximum supported value of 2500 instead of provision.extramb XXXX.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips