Unable to start cloud proxy service after upgrading to version 26.6.1.24
search cancel

Unable to start cloud proxy service after upgrading to version 26.6.1.24

book

Article ID: 447377

calendar_today

Updated On:

Products

DX SaaS

Issue/Introduction

Upgraded the cloud proxy to version 26.6.1.24, and after the upgrade we are not able to start the service using the script (apmservices.cloudproxy.sh).

Upon checking the logs we are receiving a number of errors including:

ERROR 746149 --- [cloudproxy] [main] o.s.os.linux.LinuxOperatingSystem        : Did not JNA classes. Investigate incompatible version or missing native dll.

ERROR 746149 --- [cloudproxy] [main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cloudProxyServer': Unsatisfied dependency expressed through field 'supportability': Error creating bean with name 'cloudProxySupportability': Invocation of init method failed

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: Failed to create temporary file for /com/sun/jna/linux-x86-64/libjnidispatch.so library: No space left on device [in thread "main"]

 

When checking the available disk space where the cloud proxy files are there is plenty of space available:

Resolution

Identified a configuration fix in the customer's apmservices.cloudproxy.sh script for this service startup issue by adding "-Djna.tmpdir=<tempdir location>" to the APM_JAVA_OPTS parameter list for the JVM startup parameters.  This helps to ensure the new version of JNA library to use in the specified tmp directory instead of the system default one, which triggered the original issue reported by this customer.

Additional Information

Also possibly set in APM_JAVA_OPTS, -Djava.io.tmpdir=<tempdir location>.

  • jna.tmpdir is a Java system property that specifies the directory where the Java Native Access (JNA) library extracts and executes platform-specific native binaries (such as .so, .dll, or .dylib).
  • java.io.tmpdir is a Java system property that specifies the file path to the default temporary directory used by the Java Virtual Machine (JVM). When a Java application creates temporary files or folders without explicitly specifying a directory, the JVM automatically places them there.