Automic Java Unix Agent is unable to be started after the installation on a Linux system where the /tmp has been mounted with the noexec flag.
The error that appears while starting it is the following:
./ucxjlx6
...
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/jna6190293387379681830.tmp: /tmp/jna6190293387379681830.tmp: failed to map segment from shared object
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
While checking the /etc/fstab or the command mount | grep tmp we could see that the flag noexec was used to prevent any application from running executables from the /tmp filesystem in order to harden the system.
Agent Unix Java 21.x or 24.x
Defect: by default the -Djna.tmpdir is set to /tmp so the agent tries to execute binaries on /tmp that had the noexec bit set so this would not be authorized.
Workaround:
If an immediate upgrade is not possible, you can resolve the issue by specifying a temporary directory for the JNA (Java Native Access) library. This is done by adding the -Djna.tmpdir flag to the Agent startup command.
Example Service Manager Configuration: Update your Service Manager definition for the Linux Agent as follows: /opt/automic/agents/linux/bin/ucxjlx6 -svc%port% -Djna.tmpdir=/opt/automic/agents/linux/bin
Resolution:
A Fix is in progress and is being tracked under Defect ID: DE195980
Please contact Broadcom Support for fixed version details.
Defect ID: DE154348