DLP Enforce DBPasswordChanger utility throws java.lang.UnsatisfiedLinkError error
search cancel

DLP Enforce DBPasswordChanger utility throws java.lang.UnsatisfiedLinkError error

book

Article ID: 258493

calendar_today

Updated On:

Products

Data Loss Prevention Core Package Data Loss Prevention Enforce Data Loss Prevention Enterprise Suite Data Loss Prevention Endpoint Suite Data Loss Prevention

Issue/Introduction

When attempting to run the DBPasswordChanger utility on the DLP Enforce Server, it throws the following error and does not run:

Caught unhandled Java exception
java.lang.UnsatisfiedLinkError: no nio in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
        at java.lang.Runtime.loadLibrary0(Runtime.java:871)
        at java.lang.System.loadLibrary(System.java:1124)
        at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:578)
        at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:576)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.nio.fs.UnixNativeDispatcher.<clinit>(UnixNativeDispatcher.java:576)
        at sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:67)
        at sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)
        at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:46)
        at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:39)
        at sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:56)
        at sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:41)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at sun.nio.fs.DefaultFileSystemProvider.createProvider(DefaultFileSystemProvider.java:48)
        at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:63)
        at java.io.FilePermission.<clinit>(FilePermission.java:191)
        at sun.net.www.protocol.file.FileURLConnection.getPermission(FileURLConnection.java:225)
        at java.net.URLClassLoader.getPermissions(URLClassLoader.java:666)
        at sun.misc.Launcher$AppClassLoader.getPermissions(Launcher.java:360)
        at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

Environment

Release : 15.8

OS : Linux

Cause

There are multiple jvmDirectory properties in the Configuration.txt file located at:

Linux:  /opt/Symantec/DataLossPrevention/EnforceServer/version_number/Protect/config/DBPasswordChanger

Windows: drive_letter:\Program Files\Symantec\DataLossPrevention\EnforceServer\version_number\Protect\config\DBPasswordChanger

The incorrect file may look something like this:

mainClassName=com.vontu.util.passwordstore.DBPasswordChanger
jvmDirectory=/var/tmp/DLP/15.8/New_Installs/Release/jdk8u262-b10-jre
jvmDirectory=/opt/Symantec/DataLossPrevention/jdk8u262-b10-jre

There should only be one jvmDirectory property that points to the current working JVM that DLP Enforce is using.

Resolution

Remove the incorrect jvm property from the Configuration.txt file, save the file, and then run the DBPasswordChanger utility again.

You many need to make the same change in the Configuration.txt file for the other respective utilities on the Enforce server, i.e. AdminPasswordReset, LanguagePackUtility, SolutionPackInstaller, ReinstallationResourcesUtility, etc.