You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Jarek Gawor <jg...@gmail.com> on 2009/10/21 19:52:50 UTC

LinkageError on some Geronimo JAXB classes

Hi,

I ran into some weird LinkageErrors with JAXB classes and I have no
clue what is causing this. I'm hoping somebody might have some ideas
how to deal with it. The most interesting thing is that these errors
are logged but don't actually cause any problems. Also, I see these
errors when I build the framework from the top but not if I build the
framework/assemblies separately.

[main] DEBUG com.sun.xml.bind.v2.runtime.reflect.opt.Injector - Unable
to inject org/apache/geronimo/system/plugin/model/AttributesType$JaxbAccessorF_comment
java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:181)
	at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:85)
	at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:87)
	at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165)
	at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:253)
	at com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:81)
	at sun.reflect.GeneratedConstructorAccessor97.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:124)
	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:171)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:481)
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:315)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:202)
	at javax.xml.bind.ContextFinder.find(ContextFinder.java:363)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
	at org.apache.geronimo.system.configuration.AttributesXmlUtil.<clinit>(AttributesXmlUtil.java:57)
	at org.apache.geronimo.system.configuration.GBeanOverride.<init>(GBeanOverride.java:191)
	at org.apache.geronimo.system.configuration.LocalAttributeManager.setModuleGBeans(LocalAttributeManager.java:239)
	at org.apache.geronimo.system.plugin.PluginInstallerGBean.installConfigXMLData(PluginInstallerGBean.java:1776)
	at org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1330)
	at org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1309)
	at org.apache.geronimo.system.plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:774)
	at org.apache.geronimo.system.plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:719)
	at org.apache.geronimo.mavenplugins.car.InstallModulesMojo.execute(InstallModulesMojo.java:184)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.LinkageError: loader (instance of
org/codehaus/classworlds/RealmClassLoader): attempted  duplicate class
definition for name:
"org/apache/geronimo/system/plugin/model/AttributesType$JaxbAccessorF_comment"
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
	... 54 more

Jarek

Re: LinkageError on some Geronimo JAXB classes

Posted by Jarek Gawor <jg...@gmail.com>.
Looks like stopping the framework in car-maven-plugin resolved this
problem for me.

Jarek

On Wed, Oct 21, 2009 at 6:00 PM, David Jencks <da...@yahoo.com> wrote:
> I haven't seen this, but suspect that it might be causing problems in the
> config.xml in the assembled server.
>
> I don't have much a clue how this could be occurring, and haven't noticed it
> happening here... I take it from your comments that it happens while
> building the assembly?
>
> thanks
> david jencks
>
> On Oct 21, 2009, at 10:52 AM, Jarek Gawor wrote:
>
>> Hi,
>>
>> I ran into some weird LinkageErrors with JAXB classes and I have no
>> clue what is causing this. I'm hoping somebody might have some ideas
>> how to deal with it. The most interesting thing is that these errors
>> are logged but don't actually cause any problems. Also, I see these
>> errors when I build the framework from the top but not if I build the
>> framework/assemblies separately.
>>
>> [main] DEBUG com.sun.xml.bind.v2.runtime.reflect.opt.Injector - Unable
>> to inject
>> org/apache/geronimo/system/plugin/model/AttributesType$JaxbAccessorF_comment
>> java.lang.reflect.InvocationTargetException
>>        at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at
>> com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:181)
>>        at
>> com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:85)
>>        at
>> com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:87)
>>        at
>> com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165)
>>        at
>> com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:253)
>>        at
>> com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:81)
>>        at sun.reflect.GeneratedConstructorAccessor97.newInstance(Unknown
>> Source)
>>        at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>        at
>> com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:124)
>>        at
>> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:171)
>>        at
>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:481)
>>        at
>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:315)
>>        at
>> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
>>        at
>> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:202)
>>        at javax.xml.bind.ContextFinder.find(ContextFinder.java:363)
>>        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
>>        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
>>        at
>> org.apache.geronimo.system.configuration.AttributesXmlUtil.<clinit>(AttributesXmlUtil.java:57)
>>        at
>> org.apache.geronimo.system.configuration.GBeanOverride.<init>(GBeanOverride.java:191)
>>        at
>> org.apache.geronimo.system.configuration.LocalAttributeManager.setModuleGBeans(LocalAttributeManager.java:239)
>>        at
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.installConfigXMLData(PluginInstallerGBean.java:1776)
>>        at
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1330)
>>        at
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1309)
>>        at
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:774)
>>        at
>> org.apache.geronimo.system.plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:719)
>>        at
>> org.apache.geronimo.mavenplugins.car.InstallModulesMojo.execute(InstallModulesMojo.java:184)
>>        at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
>>        at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
>>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
>>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>>        at
>> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at
>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>        at
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: java.lang.LinkageError: loader (instance of
>> org/codehaus/classworlds/RealmClassLoader): attempted  duplicate class
>> definition for name:
>>
>> "org/apache/geronimo/system/plugin/model/AttributesType$JaxbAccessorF_comment"
>>        at java.lang.ClassLoader.defineClass1(Native Method)
>>        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>        at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
>>        ... 54 more
>>
>> Jarek
>
>

Re: LinkageError on some Geronimo JAXB classes

Posted by David Jencks <da...@yahoo.com>.
I haven't seen this, but suspect that it might be causing problems in  
the config.xml in the assembled server.

I don't have much a clue how this could be occurring, and haven't  
noticed it happening here... I take it from your comments that it  
happens while building the assembly?

thanks
david jencks

On Oct 21, 2009, at 10:52 AM, Jarek Gawor wrote:

> Hi,
>
> I ran into some weird LinkageErrors with JAXB classes and I have no
> clue what is causing this. I'm hoping somebody might have some ideas
> how to deal with it. The most interesting thing is that these errors
> are logged but don't actually cause any problems. Also, I see these
> errors when I build the framework from the top but not if I build the
> framework/assemblies separately.
>
> [main] DEBUG com.sun.xml.bind.v2.runtime.reflect.opt.Injector - Unable
> to inject org/apache/geronimo/system/plugin/model/AttributesType 
> $JaxbAccessorF_comment
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
> 	at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at  
> com 
> .sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java: 
> 181)
> 	at  
> com 
> .sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:85)
> 	at  
> com 
> .sun 
> .xml 
> .bind 
> .v2 
> .runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java: 
> 87)
> 	at  
> com 
> .sun 
> .xml 
> .bind 
> .v2 
> .runtime 
> .reflect 
> .opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:165)
> 	at com.sun.xml.bind.v2.runtime.reflect.Accessor 
> $FieldReflection.optimize(Accessor.java:253)
> 	at  
> com 
> .sun 
> .xml 
> .bind 
> .v2 
> .runtime 
> .property 
> .SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:81)
> 	at sun.reflect.GeneratedConstructorAccessor97.newInstance(Unknown  
> Source)
> 	at  
> sun 
> .reflect 
> .DelegatingConstructorAccessorImpl 
> .newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 	at  
> com 
> .sun 
> .xml 
> .bind 
> .v2.runtime.property.PropertyFactory.create(PropertyFactory.java:124)
> 	at  
> com 
> .sun 
> .xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java: 
> 171)
> 	at  
> com 
> .sun 
> .xml 
> .bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:481)
> 	at  
> com 
> .sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java: 
> 315)
> 	at  
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java: 
> 139)
> 	at  
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java: 
> 117)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at  
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:202)
> 	at javax.xml.bind.ContextFinder.find(ContextFinder.java:363)
> 	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
> 	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .configuration.AttributesXmlUtil.<clinit>(AttributesXmlUtil.java:57)
> 	at  
> org 
> .apache 
> .geronimo 
> .system.configuration.GBeanOverride.<init>(GBeanOverride.java:191)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .configuration 
> .LocalAttributeManager.setModuleGBeans(LocalAttributeManager.java:239)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .plugin 
> .PluginInstallerGBean.installConfigXMLData(PluginInstallerGBean.java: 
> 1776)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .plugin 
> .PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1330)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .plugin 
> .PluginInstallerGBean.downloadArtifact(PluginInstallerGBean.java:1309)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:774)
> 	at  
> org 
> .apache 
> .geronimo 
> .system 
> .plugin.PluginInstallerGBean.install(PluginInstallerGBean.java:719)
> 	at  
> org 
> .apache 
> .geronimo 
> .mavenplugins.car.InstallModulesMojo.execute(InstallModulesMojo.java: 
> 184)
> 	at  
> org 
> .apache 
> .maven 
> .plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java: 
> 490)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java: 
> 694)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor 
> .executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java: 
> 535)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor 
> .executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor 
> .executeTaskSegments(DefaultLifecycleExecutor.java:348)
> 	at  
> org 
> .apache 
> .maven 
> .lifecycle 
> .DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
> 	at  
> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java: 
> 60)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at  
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java: 
> 315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java: 
> 430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.lang.LinkageError: loader (instance of
> org/codehaus/classworlds/RealmClassLoader): attempted  duplicate class
> definition for name:
> "org/apache/geronimo/system/plugin/model/AttributesType 
> $JaxbAccessorF_comment"
> 	at java.lang.ClassLoader.defineClass1(Native Method)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
> 	... 54 more
>
> Jarek