[ https://issues.apache.org/jira/browse/FELIX-6729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17886486#comment-17886486 ]
Mahesh Kantharaj commented on FELIX-6729: ----------------------------------------- Hi Karl, Yes you are correct. The earlier stack trace related to URL Handler was shared from v6.0.4 of "org.apache.felix.main.jar" . Please find the equivalent exception stack trace that was captured from v7.0.5 (latest version) <Sep 26, 2024 9:41:07 PM EDT> <FINER> <ClassLoader> Thread [ACTIVE] ExecuteThread: '72' for queue: 'weblogic.kernel.Default (self-tuning)' Defining org.osgi.service.packageadmin.ExportedPackage from file:/p01/app/oracle/oam12c/wlserver/server/lib/org.apache.felix.org.apache.felix.main.jar in 'weblogic-launcher' java.lang.Exception at java.lang.ClassLoader.loadClass(ClassLoader.java:405) at oracle.security.am.common.utilities.classloader.MaskingClassLoader.loadClass(MaskingClassLoader.java:76) at java.lang.ClassLoader.loadClass(ClassLoader.java:405) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethod(Class.java:2128) at org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:1001) at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:804) at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:563) at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:463) at java.net.URL.toExternalForm(URL.java:971) at java.net.URL.toString(URL.java:957) at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:671) > Repeated Looping observed with Felix Main and Felix Framework jar usage > ----------------------------------------------------------------------- > > Key: FELIX-6729 > URL: https://issues.apache.org/jira/browse/FELIX-6729 > Project: Felix > Issue Type: Bug > Components: Framework, Main > Affects Versions: framework-7.0.5 > Environment: Oracle WebLogic on which Custom Plugin applications have > been deployed which uses the "org.apache.felix.org.apache.felix.main.jar" and > "org.apache.felix.framework.jar" jar as 3rd party references for OSGi > implementation. > Operating System : Oracle Linux > Reporter: Mahesh Kantharaj > Priority: Blocker > Fix For: framework-7.0.5 > > Original Estimate: 168h > Remaining Estimate: 168h > > The Custom Plugin which references the > "org.apache.felix.org.apache.felix.main.jar" and > "org.apache.felix.framework.jar" 3rd Party jars is deployed on WLS (Oracle > WebLogic Server). The Felix Framework jar is used in the Custom Plugin to > enable the plugin to interact with the OAM (Oracle Access Manager) system > wherein it helps in integrating the custom plugin with the OAM seamlessly and > efficiently. > However there is an intermittent issue that is observed during the > initialization phase (Deployed Server restart) of the custom plugin wherein > repeated looping is observed 3ith the below mentioned stack upon > java.net.URL usage. > This results in Stack Over Exception with an abnormal compressed class space > growth that eventually leads to Out of Memory exception and thereby the JVM > crashes. The only workaround available with us now is to perform the Server > restart on which the custom plugin is deployed so that the Full GC is > triggered and thereby the compressed class space is cleared as a temporary > relief to the issue. We would like to have the URL Handler related looping > stack from Felix Main and Framework to be investigated to devise a solution > from Apache team, to resolve the issue (This seems to be a race condition > scenario based on issue symptoms). > at > org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:850) > at > org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:752) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:574) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:369) > at java.net.URL.<init>(URL.java:639) > at java.net.URL.<init>(URL.java:507) > ********** > The complete stack trace having the deep recursive call related to Felix jar > is pasted below for your reference: > <FINER> <ClassLoader> Thread [ACTIVE] ExecuteThread: '37' for queue: > 'weblogic.kernel.Default (self-tuning)' Defining > org.osgi.service.packageadmin.ExportedPackage from > file:/p01/app/oracle/oam12c/wlserver/server/lib/org.apache.felix.org.apache.felix.main.jar > in 'weblogic-launcher' > java.lang.Exception > at > sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1340) > at sun.misc.URLClassPath.getResource(URLClassPath.java:250) > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:363) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:362) > at java.lang.ClassLoader.loadClass(ClassLoader.java:418) > at java.lang.ClassLoader.loadClass(ClassLoader.java:351) > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) > at java.lang.Class.getDeclaredMethod(Class.java:2128) > at > org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:850) > at > org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:752) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:574) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:369) > at java.net.URL.<init>(URL.java:639) > at java.net.URL.<init>(URL.java:507) > at > sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1340) > at sun.misc.URLClassPath.getResource(URLClassPath.java:250) > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:363) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:362) > at java.lang.ClassLoader.loadClass(ClassLoader.java:418) > at java.lang.ClassLoader.loadClass(ClassLoader.java:351) > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) > at java.lang.Class.getDeclaredMethod(Class.java:2128) > at > org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:850) > at > org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:752) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:574) > at > org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:369) > at java.net.URL.<init>(URL.java:639) > at java.net.URL.<init>(URL.java:507) > at > sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1340) > at sun.misc.URLClassPath.getResource(URLClassPath.java:250) > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:363) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:362) > at java.lang.ClassLoader.loadClass(ClassLoader.java:418) > at java.lang.ClassLoader.loadClass(ClassLoader.java:351) > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) > at java.lang.Class.getDeclaredMethod(Class.java:2128) > at > org.apache.felix.framework.util.SecureAction.getDeclaredMethod(SecureAction.java:850) > > > > -- This message was sent by Atlassian Jira (v8.20.10#820010)