Hi Daniel, thanks for your hints - I should probably have seen that myself if I would have had a more thorough look...
I'm cc-ing nio-dev, maybe somebody has an idea. I probably won't be able to analyze this short term. Best regards Christoph > -----Original Message----- > From: Daniel Fuchs [mailto:daniel.fu...@oracle.com] > Sent: Donnerstag, 16. Februar 2017 15:53 > To: Langer, Christoph <christoph.lan...@sap.com> > Cc: Zeller, Arno <arno.zel...@sap.com>; Baesken, Matthias > <matthias.baes...@sap.com>; core-libs-dev@openjdk.java.net > Subject: Re: rmid on Unix fails with Exception - maybe aftermath of JDK- > 8173607 ?? > > 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(LinuxFileSyste > mProvider.java:46) > > > > at > > > java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSyste > mProvider.java:39) > > > > at > > > java.base/sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider. > java:56) > > > > at > > > java.base/sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvide > r.java:41) > > > > at > > > java.base/sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemPr > ovider.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.jav > a: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(LinuxFileSyste > mProvider.java:46) > > > > at > > > java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSyste > mProvider.java:39) > > > > at > > > java.base/sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider. > java:56) > > > > at > > > java.base/sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvide > r.java:41) > > > > at > > > java.base/sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemPr > ovider.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>(ImageReaderFact > ory.java:50) > > > > at java.base/java.security.AccessController.doPrivileged(Native > > Method) > > > > at > > > java.base/sun.net.www.protocol.jrt.JavaRuntimeURLConnection.<clinit>(Jav > aRuntimeURLConnection.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.c > heckPermissionToConnect(SystemModuleFinder.java:287) > > > > at > > > java.base/jdk.internal.module.SystemModuleFinder$ImageModuleReader.< > init>(SystemModuleFinder.java:296) > > > > at > > > java.base/jdk.internal.module.SystemModuleFinder$1.get(SystemModuleFi > nder.java:245) > > > > at > > > java.base/jdk.internal.module.SystemModuleFinder$1.get(SystemModuleFi > nder.java:242) > > > > at > > > java.base/jdk.internal.module.ModuleReferenceImpl.open(ModuleReferen > ceImpl.java:83) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader.createModuleReader(Builtin > ClassLoader.java:934) > > > > at > > > java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Concu > rrentHashMap.java:1719) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader.moduleReaderFor(BuiltinCla > ssLoader.java:926) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader.access$100(BuiltinClassLoad > er.java:92) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader$1.run(BuiltinClassLoader.jav > a:356) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader$1.run(BuiltinClassLoader.jav > a:351) > > > > at java.base/java.security.AccessController.doPrivileged(Native > > Method) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader.findMiscResource(BuiltinCla > ssLoader.java:350) > > > > at > > > java.base/jdk.internal.loader.BuiltinClassLoader.findResources(BuiltinClassLo > ader.java:311) > > > > at > > > java.base/jdk.internal.loader.BootLoader.findResources(BootLoader.java:15 > 6) > > > > 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.hasNextServi > ce(ServiceLoader.java:1082) > > > > at > > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.access$1200( > ServiceLoader.java:1004) > > > > at > > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(Servic > eLoader.java:1131) > > > > at > > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator$1.run(Servic > eLoader.java:1130) > > > > at java.base/java.security.AccessController.doPrivileged(Native > > Method) > > > > at > > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(Ser > viceLoader.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(Sele > ctorProvider.java:122) > > > > at > > > java.base/java.nio.channels.spi.SelectorProvider.access$200(SelectorProvide > r.java:69) > > > > at > > > java.base/java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.jav > a:180) > > > > at > > > java.base/java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.jav > a:176) > > > > at java.base/java.security.AccessController.doPrivileged(Native > > Method) > > > > at > > > java.base/java.nio.channels.spi.SelectorProvider.provider(SelectorProvider.j > ava: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) > > > > > >