Workshop performance issue in Apache commons-discovery packages when using Beehive controls.
(Doc ID 1307052.1)
Last updated on MARCH 09, 2019
Applies to:
Oracle Workshop for Weblogic - Version 10.3 and laterInformation in this document applies to any platform.
Symptoms
During performance test, it's observed that most active threads were spending a lot of time in the Sun classloader.
From stack trace, the threads were working on some Apache commons-discovery packages, from Beehive control instantiation.
"ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0063a000 nid=26 lwp_id=1712503 waiting for monitor entry [389bf000..389c0db0]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:278)
- waiting to lock <4b1c58c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(URLClassPath.java:144)
at java.net.URLClassLoader$2.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:359)
at java.lang.ClassLoader.getResource(ClassLoader.java:978)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at weblogic.utils.classloaders.GenericClassLoader.getResourceInternal(GenericClassLoader.java:167)
at weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:184)
at weblogic.utils.classloaders.FilteringClassLoader.getResource(FilteringClassLoader.java:95)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:187)
at org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java:149)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResources(DiscoverResources.java:153)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResource(DiscoverResources.java:129)
at org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(DiscoverResources.java:116)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassNames(DiscoverNamesInFile.java:186)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassName(DiscoverNamesInFile.java:170)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNext(DiscoverNamesInFile.java:157)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.getNextResource(ResourceClassDiscoverImpl.java:159)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.hasNext(ResourceClassDiscoverImpl.java:147)
at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:389)
at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:279)
at org.apache.beehive.controls.api.bean.Controls.instantiate(Controls.java:99)
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:278)
- waiting to lock <4b1c58c8> (a sun.misc.URLClassPath)
at sun.misc.URLClassPath.findResource(URLClassPath.java:144)
at java.net.URLClassLoader$2.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:359)
at java.lang.ClassLoader.getResource(ClassLoader.java:978)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at weblogic.utils.classloaders.GenericClassLoader.getResourceInternal(GenericClassLoader.java:167)
at weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:184)
at weblogic.utils.classloaders.FilteringClassLoader.getResource(FilteringClassLoader.java:95)
at java.lang.ClassLoader.getResource(ClassLoader.java:973)
at weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:187)
at org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java:149)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResources(DiscoverResources.java:153)
at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResource(DiscoverResources.java:129)
at org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(DiscoverResources.java:116)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassNames(DiscoverNamesInFile.java:186)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassName(DiscoverNamesInFile.java:170)
at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNext(DiscoverNamesInFile.java:157)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.getNextResource(ResourceClassDiscoverImpl.java:159)
at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.hasNext(ResourceClassDiscoverImpl.java:147)
at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:389)
at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:279)
at org.apache.beehive.controls.api.bean.Controls.instantiate(Controls.java:99)
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |