Hi

As I understand, we have nested defineClass call (see 1 and 2). If I run java with -verbose:class, it shows two loads of TomEELogConfigurer at the same time (I also added debug prints around ServerListener:170).

Is it enough to figure the cause or I have to dig deeper?

main@1, prio=5, in group 'main', status: 'RUNNING'
      <<< 2 >>>at java.lang.ClassLoader.defineClass(ClassLoader.java:759)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(AccessController.java:-1)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:148) at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:80)
      at java.lang.Class.forName0(Class.java:-1)
      at java.lang.Class.forName(Class.java:348)
at org.apache.openjpa.enhance.PCClassFileTransformer.needsEnhance(PCClassFileTransformer.java:205) at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:140) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:127) at org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerImpl.transform(PersistenceProviderImpl.java:292) at org.apache.openejb.persistence.PersistenceUnitInfoImpl$PersistenceClassFileTransformer.transform(PersistenceUnitInfoImpl.java:362) at sun.instrument.TransformerManager.transform(TransformerManager.java:188) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
      at java.lang.ClassLoader.defineClass1(ClassLoader.java:-1)
     <<< 1 >>>at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(AccessController.java:-1)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.tomee.catalina.ServerListener.install(ServerListener.java:170) at org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:55) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)


WBR Kir

11/11/2015 8:59 PM, Romain Manni-Bucau пишет:
you can setup FINEST logging level in conf/logging.properties for OpenEJB
logger (and children) but not sure it will help a lot for classloading but
can help spotting an issue at container config level.


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-11-11 9:47 GMT-08:00 Kirill Paliy <[email protected]>:

I can try, but cannot guarantee and it will take time. Is there a
possibility to enable some verbose logging to see when and why this class
is double-loaded?

WBR Kir

11/11/2015 8:42 PM, Romain Manni-Bucau пишет:

can you reproduce it with a smaller app you can share?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <
https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-11-11 9:32 GMT-08:00 Kirill Paliy <[email protected]>:

Hi
    As stated in sublect, version is 1.7.2, TomEE Plus. I believe the only
change I made was to enable this line in conf/tomee.xml :

    <Deployments dir="apps" />

   Then I do bin/catalina run.
   My app is Jboss one, so there shouldn't be TomEE libraries.

WBR Kir

11/11/2015 8:19 PM, Romain Manni-Bucau пишет:

Hi
which version of tomee? How do you run it (plain tomcat setup?)? Did you
ensure you didnt package any tomee classes in your app?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <
https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>


2015-11-11 8:37 GMT-08:00 Kirill Paliy <[email protected]>:

Hi

I deployed my unpacked EAR in apps directory, it seems deployed with
few
warnings, but then JVM exits with following stacktrace, any idea what
to
look for?

java.lang.LinkageError: loader (instance of
sun/misc/Launcher$AppClassLoader): attempted  duplicate class
definition
for name: "org/apache/tomee/TomEELogConfigurer"
       at java.lang.ClassLoader.defineClass1(Native Method)
       at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
       at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
       at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
       at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
       at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
       at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
       at

org.apache.tomee.catalina.ServerListener.install(ServerListener.java:170)
       at


org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:55)
       at


org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
       at


org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
       at


org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
       at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
       at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
       at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at


sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at


sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:497)
       at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)



-- WBR Kir




Reply via email to