You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2019/09/09 14:09:23 UTC

[Bug 63251] [JDK-8194653] Deadlock in FileSystems.getDefault on catalina startup

https://bz.apache.org/bugzilla/show_bug.cgi?id=63251

harristr@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|9.0.14                      |9.0.22

--- Comment #2 from harristr@gmail.com ---
The work-around of pre-loading the default FileSystem does not appear to solve
the problem for logging, or maybe it only reduced the frequency of the
occurrence.  I am still seeing the following stacktrace from a Spring Boot
Microservice running Tomcat 9.0.22 with JDK 1.8.0_222 64-bit on RedHat 7.5:

2019-09-07 15:39:26
Full thread dump OpenJDK 64-Bit Server VM (25.222-b10 mixed mode):

"background-preinit" #9 prio=5 os_prio=0 tid=0x0000000002d11800 nid=0x726
waiting for monitor entry [0x00007f26ddd01000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at java.lang.Runtime.loadLibrary0(Runtime.java:862)
        - waiting to lock <0x00000000c010be00> (a java.lang.Runtime)
        at java.lang.System.loadLibrary(System.java:1122)
        at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:573)
        at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:571)
        at java.security.AccessController.doPrivileged(Native Method)
        at
sun.nio.fs.UnixNativeDispatcher.<clinit>(UnixNativeDispatcher.java:571)
        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.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108)
        at
java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89)
        at
java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98)
        at
java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96)
        at java.security.AccessController.doPrivileged(Native Method)
        at
java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:96)
        at
java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90)
        at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
        at org.apache.juli.logging.LogFactory.<init>(LogFactory.java:85)
        at org.apache.juli.logging.LogFactory.<clinit>(LogFactory.java:66)
        at
org.apache.catalina.mbeans.MBeanFactory.<clinit>(MBeanFactory.java:59)
        at
org.springframework.boot.autoconfigure.BackgroundPreinitializer$MBeanFactoryInitializer.run(BackgroundPreinitializer.java:139)
        at
org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.runSafely(BackgroundPreinitializer.java:102)
        at
org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.run(BackgroundPreinitializer.java:94)
        at java.lang.Thread.run(Thread.java:748)

"main" #1 prio=5 os_prio=0 tid=0x0000000000b52000 nid=0x687 in Object.wait()
[0x00007f26fee02000]
   java.lang.Thread.State: RUNNABLE
        at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
        at java.nio.file.Paths.get(Paths.java:138)
        at sun.misc.Launcher$ExtClassLoader.findLibrary(Launcher.java:235)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1830)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        - locked <0x00000000c010be00> (a java.lang.Runtime)
        at java.lang.System.loadLibrary(System.java:1122)
        at sun.security.ec.SunEC$1.run(SunEC.java:60)
        at sun.security.ec.SunEC$1.run(SunEC.java:58)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.ec.SunEC.<clinit>(SunEC.java:58)
        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.security.jca.ProviderConfig$2.run(ProviderConfig.java:221)
        at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:206)
        at java.security.AccessController.doPrivileged(Native Method)
        at
sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:206)
        at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:187)
        - locked <0x00000000c055a6a0> (a sun.security.jca.ProviderConfig)
        at sun.security.jca.ProviderList.getProvider(ProviderList.java:233)
        at sun.security.jca.ProviderList.getService(ProviderList.java:331)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:157)
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
        at javax.net.ssl.SSLContext.getDefault(SSLContext.java:96)
        - locked <0x00000000eb60aa50> (a java.lang.Class for
javax.net.ssl.SSLContext)
        at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:122)
        - locked <0x00000000eb608ec8> (a java.lang.Class for
javax.net.ssl.SSLSocketFactory)
        at
javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:332)
        at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:289)
        at
sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(HttpsURLConnectionImpl.java:99)
        at sun.net.www.protocol.https.Handler.openConnection(Handler.java:62)
        at sun.net.www.protocol.https.Handler.openConnection(Handler.java:57)
        at java.net.URL.openConnection(URL.java:991)
        at
org.springframework.http.client.SimpleClientHttpRequestFactory.openConnection(SimpleClientHttpRequestFactory.java:187)
        at
org.springframework.http.client.SimpleClientHttpRequestFactory.createRequest(SimpleClientHttpRequestFactory.java:145)
        at
org.springframework.http.client.support.HttpAccessor.createRequest(HttpAccessor.java:87)
        at
org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:731)
        at
org.springframework.web.client.RestTemplate.execute(RestTemplate.java:691)
        at
org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:618)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org