Hi Christoph,

It looks like one of the dreaded class initialization cycle
issues.

If you look at the stack trace, you will see that
UnixNativeDispatcher.<clinit>:609
calls System.loadLibrary at line 611
which later down the road calls the
native UnixNativeDispatcher.getcwd command
from sun.nio.fs.UnixFileSystem.<init>

But at this point UnixNativeDispatcher has not
finished initializing: we're still trying to load
the nio lib...

I don't think this has anything to do with JDK-8173607.
JDK-8173607 just splitted the JMX RMI Connector out of
java.management - and rmid has nothing to do with JMX.

rmid doesn't depend on either java.management or
java.management.rmi, and I don't see anything
on the exception path that would involve either
of these modules.
So I suspect the culprit is probably elsewhere.

best regards,

-- daniel



On 16/02/17 13:53, Langer, Christoph wrote:
Hi Daniel,



when starting „rmid“ from current builds on Linux (and probably other
Unix platforms as well) we are currently getting the exception below.



It looks as if on that path libnio was not loaded and hence we’re
getting an UnsatisfiedLinkError. In UnixNativeDispatcher.java one can
find a static initialization block which should do that, however, it
needs elevated access. Maybe rmid is missing a permission for that?



Any thoughts?



Thanks & best regards

Christoph





...>/jdk9-build-dir/images/jdk/bin/rmid

Exception in thread "main" java.lang.UnsatisfiedLinkError:
sun.nio.fs.UnixNativeDispatcher.getcwd()[B

        at java.base/sun.nio.fs.UnixNativeDispatcher.getcwd(Native Method)

        at
java.base/sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:66)

        at
java.base/sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:46)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:39)

        at
java.base/sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:56)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:41)

        at
java.base/sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:41)

        at
java.base/java.io.FilePermission.<clinit>(FilePermission.java:206)

        at
java.base/java.lang.SecurityManager.checkRead(SecurityManager.java:899)

        at java.base/java.io.File.exists(File.java:815)

        at java.base/java.lang.ClassLoader$2.run(ClassLoader.java:2513)

        at java.base/java.lang.ClassLoader$2.run(ClassLoader.java:2510)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2509)

        at
java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2478)

        at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:873)

        at java.base/java.lang.System.loadLibrary(System.java:1818)

        at
java.base/sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:611)

        at
java.base/sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:609)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/sun.nio.fs.UnixNativeDispatcher.<clinit>(UnixNativeDispatcher.java:609)

        at
java.base/sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:66)

        at
java.base/sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:46)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:39)

        at
java.base/sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:56)

        at
java.base/sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:41)

        at
java.base/sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:41)

        at java.base/java.nio.file.FileSystems.<clinit>(FileSystems.java:91)

        at java.base/java.nio.file.Paths.get(Paths.java:84)

        at
java.base/jdk.internal.jimage.ImageReaderFactory.<clinit>(ImageReaderFactory.java:50)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/sun.net.www.protocol.jrt.JavaRuntimeURLConnection.<clinit>(JavaRuntimeURLConnection.java:59)

        at
java.base/sun.net.www.protocol.jrt.Handler.openConnection(Handler.java:42)

        at java.base/java.net.URL.openConnection(URL.java:1049)

        at
java.base/jdk.internal.module.SystemModuleFinder$ImageModuleReader.checkPermissionToConnect(SystemModuleFinder.java:287)

        at
java.base/jdk.internal.module.SystemModuleFinder$ImageModuleReader.<init>(SystemModuleFinder.java:296)

        at
java.base/jdk.internal.module.SystemModuleFinder$1.get(SystemModuleFinder.java:245)

        at
java.base/jdk.internal.module.SystemModuleFinder$1.get(SystemModuleFinder.java:242)

        at
java.base/jdk.internal.module.ModuleReferenceImpl.open(ModuleReferenceImpl.java:83)

        at
java.base/jdk.internal.loader.BuiltinClassLoader.createModuleReader(BuiltinClassLoader.java:934)

        at
java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1719)

        at
java.base/jdk.internal.loader.BuiltinClassLoader.moduleReaderFor(BuiltinClassLoader.java:926)

        at
java.base/jdk.internal.loader.BuiltinClassLoader.access$100(BuiltinClassLoader.java:92)

        at
java.base/jdk.internal.loader.BuiltinClassLoader$1.run(BuiltinClassLoader.java:356)

        at
java.base/jdk.internal.loader.BuiltinClassLoader$1.run(BuiltinClassLoader.java:351)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/jdk.internal.loader.BuiltinClassLoader.findMiscResource(BuiltinClassLoader.java:350)

        at
java.base/jdk.internal.loader.BuiltinClassLoader.findResources(BuiltinClassLoader.java:311)

        at
java.base/jdk.internal.loader.BootLoader.findResources(BootLoader.java:156)

        at
java.base/java.lang.ClassLoader.getResources(ClassLoader.java:1430)

        at
java.base/java.lang.ClassLoader.getResources(ClassLoader.java:1428)

        at
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1082)

        at
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.access$1200(ServiceLoader.java:1004)

        at
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1131)

        at
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(ServiceLoader.java:1130)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1133)

        at
java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1163)

        at
java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1258)

        at
java.base/java.nio.channels.spi.SelectorProvider.loadProviderAsService(SelectorProvider.java:122)

        at
java.base/java.nio.channels.spi.SelectorProvider.access$200(SelectorProvider.java:69)

        at
java.base/java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.java:180)

        at
java.base/java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.java:176)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at
java.base/java.nio.channels.spi.SelectorProvider.provider(SelectorProvider.java:175)

        at java.base/java.lang.System.inheritedChannel(System.java:276)

        at java.rmi/sun.rmi.server.Activation$2.run(Activation.java:1960)

        at java.rmi/sun.rmi.server.Activation$2.run(Activation.java:1958)

        at java.base/java.security.AccessController.doPrivileged(Native
Method)

        at java.rmi/sun.rmi.server.Activation.main(Activation.java:1957)




Reply via email to