IBM Support

Getting error "java.lang.RuntimeException: default directory must be absolute"

Troubleshooting


Problem

Java won't run after fresh WebSphere Application server installation.  Even  running:
>java -version
gives error:
Exception in thread "Attach API initializer" java.lang.ExceptionInInitializerError
        at java.lang.J9VMInternals.ensureError(J9VMInternals.java:157)
        at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:146)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:119)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:100)
        at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:109)
        at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:107)
        at java.security.AccessController.doPrivileged(AccessController.java:691)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:107)
        at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:101)
        at java.nio.file.FileSystems.getDefault(FileSystems.java:187)
        at java.nio.file.Paths.get(Paths.java:95)
        at openj9.internal.tools.attach.target.IPC.checkOwnerAccessOnly(IPC.java:170)
        at openj9.internal.tools.attach.target.TargetDirectory.createMyDirectory(TargetDirectory.java:90)
        at openj9.internal.tools.attach.target.AttachHandler.createFiles(AttachHandler.java:199)
        at openj9.internal.tools.attach.target.AttachHandler.initialize(AttachHandler.java:296)
        at openj9.internal.tools.attach.target.AttachHandler.run(AttachHandler.java:229)
Caused by: java.lang.RuntimeException: default directory must be absolute
        at sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:67)
        at sun.nio.fs.AixFileSystem.<init>(AixFileSystem.java:55)
        at sun.nio.fs.AixFileSystemProvider.newFileSystem(AixFileSystemProvider.java:62)
        at sun.nio.fs.AixFileSystemProvider.newFileSystem(AixFileSystemProvider.java:55)
        at sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:68)
        at sun.nio.fs.AixFileSystemProvider.<init>(AixFileSystemProvider.java:57)
        at java.lang.J9VMInternals.newInstanceImpl(Native Method)
        at java.lang.Class.newInstance(Class.java:2108)
        at sun.nio.fs.DefaultFileSystemProvider.createProvider(DefaultFileSystemProvider.java:62)
        at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:80)
        at sun.nio.fs.DefaultFileSystemProvider.<clinit>(DefaultFileSystemProvider.java:49)
        ... 14 more
        
 

Symptom

Cannot start WebSphere Application server,  not even java by itself. (i.e. via  "java -version")

Cause

The error: "java.lang.RuntimeException: default directory must be absolute" is issued because the JVM is unable to determine the absolute path to the application's working directory and that is caused by a permission issue of the application's parent directory.

Diagnosing The Problem

Look for those exceptions:
Exception in thread "Attach API initializer" java.lang.ExceptionInInitializerError
...
Caused by: java.lang.RuntimeException: default directory must be absolute
...

Resolving The Problem


To resolve the issue go to the application's working directory , i.e. from wherever you ran the "java -version"
(i.e. <wherever you installed WSAS>/jre/bin) 
and type
ls -al ./..
If there are no permission problems reported, move to the parent directory (cd .. ) and run the ls -al ./.. again. 
Continue moving up the directory tree until you see:
ls -la ./..
./../No permission
Once you've determined this:
1. unmount the file system
2. Check the permissions of the directory, it should be something like 755, (but it's probably 750) in any case change it to 755
3. mount the file system back
4. Type ls -la ./.. again. You'll know it is fixed when no permission errors occur.      

Document Location

Worldwide

Operating System

AIX:All operating systems listed

[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m3p000000F7xdAAC","label":"WebSphere Application Server traditional-All Platforms"}],"ARM Case Number":"TS016307578","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions"}]

Historical Number

TS008536183;TS016307578

Document Information

Modified date:
23 May 2024

UID

ibm17154798