-
Bug
-
Resolution: Fixed
-
P3
-
9, 11
-
b22
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8277258 | 17.0.3-oracle | Yuri Nesterenko | P3 | Resolved | Fixed | b01 |
JDK-8276860 | 17.0.2 | Yuri Nesterenko | P3 | Resolved | Fixed | b05 |
JDK-8277651 | 15.0.6 | Yuri Nesterenko | P3 | Resolved | Fixed | b03 |
JDK-8277041 | 13.0.10 | Yuri Nesterenko | P3 | Resolved | Fixed | b03 |
JDK-8288788 | 11.0.18-oracle | Prasadarao Koppula | P3 | Resolved | Fixed | b01 |
JDK-8277568 | 11.0.14 | Christoph Langer | P3 | Resolved | Fixed | b04 |
JDK-8288789 | 8u361 | Prasadarao Koppula | P3 | Closed | Not an Issue |
ServiceLoader lookup ( method ServiceLoader.load() ) performs many times repeatedly, each time when application calls LoginContext.login().
On multi-threading application, this leads to having a lot of threads waiting for synchronized code URLClassPath.getLoader().
"HTTP Handler 10.21.48.63" #455 daemon prio=5 os_prio=0 cpu=1828.13ms elapsed=150.65s allocated=195M defined_classes=0 tid=0x000002636709c000 nid=0x4a18 waiting for monitor entry [0x000000aef69fb000]
java.lang.Thread.State: BLOCKED (on object monitor)
at jdk.internal.loader.URLClassPath.getLoader(java.base@11.0.11/URLClassPath.java:422)
- waiting to lock <0x00000007139003c8> (a jdk.internal.loader.URLClassPath)
at jdk.internal.loader.URLClassPath$1.next(java.base@11.0.11/URLClassPath.java:340)
at jdk.internal.loader.URLClassPath$1.hasMoreElements(java.base@11.0.11/URLClassPath.java:351)
at java.net.URLClassLoader$3$1.run(java.base@11.0.11/URLClassLoader.java:687)
at java.net.URLClassLoader$3$1.run(java.base@11.0.11/URLClassLoader.java:685)
at java.security.AccessController.doPrivileged(java.base@11.0.11/Native Method)
at java.net.URLClassLoader$3.next(java.base@11.0.11/URLClassLoader.java:684)
at java.net.URLClassLoader$3.hasMoreElements(java.base@11.0.11/URLClassLoader.java:709)
at java.lang.CompoundEnumeration.next(java.base@11.0.11/ClassLoader.java:3032)
at java.lang.CompoundEnumeration.hasMoreElements(java.base@11.0.11/ClassLoader.java:3041)
at java.lang.CompoundEnumeration.next(java.base@11.0.11/ClassLoader.java:3032)
at java.lang.CompoundEnumeration.hasMoreElements(java.base@11.0.11/ClassLoader.java:3041)
at java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(java.base@11.0.11/ServiceLoader.java:1203)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(java.base@11.0.11/ServiceLoader.java:1221)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(java.base@11.0.11/ServiceLoader.java:1265)
at java.util.ServiceLoader$2.hasNext(java.base@11.0.11/ServiceLoader.java:1300)
at java.util.ServiceLoader$3.hasNext(java.base@11.0.11/ServiceLoader.java:1385)
(1) at javax.security.auth.login.LoginContext.invoke(java.base@11.0.11/LoginContext.java:691)
at javax.security.auth.login.LoginContext$4.run(java.base@11.0.11/LoginContext.java:665)
at javax.security.auth.login.LoginContext$4.run(java.base@11.0.11/LoginContext.java:663)
at java.security.AccessController.doPrivileged(java.base@11.0.11/Native Method)
at javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.11/LoginContext.java:663)
at javax.security.auth.login.LoginContext.login(java.base@11.0.11/LoginContext.java:574)
at com.application.server.AuthenticationManager.authenticate_JAAS(AuthenticationManager.java:191)
at com.application.server.AuthenticationManager.authenticate(AuthenticationManager.java:113)
at com.application.server.HTTPState.getBasicAuthenticatedUser(HTTPState.java:1183)
at com.application.server.HTTPState.getAuthenticatedUser(HTTPState.java:1070)
at com.application.server.HTTPState.processHeader(HTTPState.java:324)
at com.application.server.Dispatch.processHeader(Dispatch.java:274)
at com.application.server.Dispatch.run(Dispatch.java:417)
at com.application.util.pool.PooledThread.run(PooledThread.java:127)
- backported by
-
JDK-8276860 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8277041 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8277258 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8277568 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8277651 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8288788 Slow LoginContext.login() on multi threading application
- Resolved
-
JDK-8288789 Slow LoginContext.login() on multi threading application
- Closed
- duplicates
-
JDK-8230297 Slow LoginContext.login() due to repeated ServiceLoader lookups
- Closed
- relates to
-
JDK-8230297 Slow LoginContext.login() due to repeated ServiceLoader lookups
- Closed
- links to
-
Commit openjdk/jdk11u-dev/2fb8ca2b
-
Commit openjdk/jdk13u-dev/a321f133
-
Commit openjdk/jdk15u-dev/408901d0
-
Commit openjdk/jdk17u/143cc644
-
Commit openjdk/jdk/c0cda1db
-
Review openjdk/jdk11u-dev/572
-
Review openjdk/jdk13u-dev/291
-
Review openjdk/jdk15u-dev/141
-
Review openjdk/jdk17u/223
-
Review openjdk/jdk/5748