[forge-dev] Weird error again....

Lincoln Baxter, III lincolnbaxter at gmail.com
Wed Jan 18 14:56:43 EST 2012


Also,

The reason this probably worked in Beta3 is because I don't think we
enforced modularity yet at that point.

~Lincoln

On Thu, Jan 12, 2012 at 11:47 AM, Lincoln Baxter, III <
lincolnbaxter at gmail.com> wrote:

> Yeah, the confusing thing here is that even though SwitchYardFacet is in
> the *same* module (different resource-root) as the Facet that is
> requesting it, it cannot find the class. Does that sound possible? Is this
> maybe a problem with weld not scanning/loading SwitchYardFacet for some
> reason?
>
> ~Lincoln
>
>
> On Wed, Jan 11, 2012 at 8:51 PM, Tom Cunningham <tcunning at redhat.com>wrote:
>
>> **
>> Stuart,
>>
>> The missing class is SwitchYardFacet.class.      The thing that I don't
>> understand is that it is contained in one of the other resource roots, but
>> not the one that makes this reference.     Shouldn't it be able to find it?
>>
>> The other strange thing is that this worked in Forge 1.0.0.Beta3.
>>
>> --Tom
>>
>>
>> On 01/11/2012 02:36 PM, Stuart Douglas wrote:
>>
>> Actually looking at that stack trace I would say that the missing class
>> is one of:
>>
>>  { DependencyFacet.class, PackagingFacet.class, SwitchYardFacet.class }
>>
>>  Based on the fact that it is dying inside parseClassArray().
>>
>>  Are all these classes in the same module? An easy way to experiment is
>> to set a breakpoint, and then in the watches window do
>> CamelFacet.class.getClassLoader().loadClass("com.blagh.DependencyFacet")
>> and see which ones are not accessible.
>>
>>  Stuart
>>
>>
>>  On 12/01/2012, at 3:02 AM, Lincoln Baxter, III wrote:
>>
>> Hey Stuart,
>>
>> I have a favor to ask regarding Weld/JBM. If you have a few seconds,
>> could you take a look at something for me? The steps to reproduce this
>> problem are in the issue (and this email thread,) but I'm pretty much at a
>> loss to why this isn't working. We're getting that lovely
>> sun.reflect.annotation.
>> TypeNotPresentExceptionProxy again, this time on a class that is in a
>> resource root of the same module, but doesn't seem to be found.
>>
>> I'd love to hear your thoughts.
>>
>> https://issues.jboss.org/browse/FORGE-427
>>
>> Thanks,
>> Lincoln
>>
>> On Tue, Dec 20, 2011 at 9:33 PM, Lincoln Baxter, III <
>> lincolnbaxter at gmail.com> wrote:
>>
>>> I take that back. I'll have to do more digging. After adding log4j to
>>> the module.xml, I receive the same error that you did.
>>>
>>>
>>> On Tue, Dec 20, 2011 at 9:31 PM, Lincoln Baxter, III <
>>> lincolnbaxter at gmail.com> wrote:
>>>
>>>> Ok well, once I turned on logging I was able to figure out the root
>>>> cause, but I don't know exactly why yet. I'm assuming that the stack trace
>>>> is fairly obvious. The question is. "What is the correct way to resolve it?"
>>>>
>>>> Side note: I really need to add a logging toggle in Forge itself, but
>>>> it would need to go into the launcher, just haven't gotten around to it
>>>> yet. Currently, one needs to edit the build to enable logging *gulp*
>>>> (Search for "LOGGING") in the source and you'll see what I mean :/ That
>>>> might be my tomorrow (in addition to working on this.) I'm going to be
>>>> cutting a Beta5 very soon because of some issues in the recent Beta4.
>>>>
>>>> Dec 20, 2011 9:25:43 PM org.jboss.weld.util.ServiceLoader
>>>> prepareInstance
>>>> WARNING: Could not instantiate service class
>>>> org.switchyard.component.bean.SwitchYardCDIServiceDiscovery
>>>> java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>>>>     at
>>>> org.switchyard.component.bean.SwitchYardCDIServiceDiscovery.<clinit>(SwitchYardCDIServiceDiscovery.java:59)
>>>>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> Method)
>>>>     at
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>     at
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>     at
>>>> org.jboss.weld.util.ServiceLoader.prepareInstance(ServiceLoader.java:273)
>>>>     at
>>>> org.jboss.weld.util.ServiceLoader.loadService(ServiceLoader.java:238)
>>>>     at
>>>> org.jboss.weld.util.ServiceLoader.loadServiceFile(ServiceLoader.java:194)
>>>>     at org.jboss.weld.util.ServiceLoader.reload(ServiceLoader.java:157)
>>>>     at
>>>> org.jboss.weld.util.ServiceLoader.iterator(ServiceLoader.java:346)
>>>>     at
>>>> org.jboss.weld.bootstrap.ExtensionBeanDeployer.addExtensions(ExtensionBeanDeployer.java:93)
>>>>     at
>>>> org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:340)
>>>>     at org.jboss.weld.environment.se.Weld.initialize(Weld.java:91)
>>>>     at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:90)
>>>>     at java.lang.Thread.run(Thread.java:680)
>>>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
>>>> from [Module "org.switchyard.switchyard-forge-plugin:0.3.0.Final" from
>>>> local module loader @6de1dadb (roots:
>>>> /Users/lbaxter/dev/forge/modules,/Users/lbaxter/.forge/plugins)]
>>>>     at
>>>> org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
>>>>     at
>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
>>>>     at
>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
>>>>     at
>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
>>>>     at
>>>> org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
>>>>     ... 15 more
>>>>
>>>>
>>>>
>>>>  On Tue, Dec 20, 2011 at 5:50 PM, Tom Cunningham <tcunning at redhat.com>wrote:
>>>>
>>>>>
>>>>> Here's the steps to reproduce (there's quite a few, sorry for that, we
>>>>> should have this down to two in the next release) :
>>>>>
>>>>> Download
>>>>>
>>>>> http://downloads.jboss.org/switchyard/releases/v0.3/switchyard-installer-0.3.0.Final.zip
>>>>> unzip switchyard-installer-0.3.0.Final.zip
>>>>> cd switchyard-installer-0.3
>>>>> unzip a jboss-as-7.0.2 somewhere to install into, give that location to
>>>>> the installer
>>>>> Answer (y) that you would like to install the SwitchYard Forge plugin
>>>>> If you have FORGE_HOME set to forge-1.0.0.Beta4 or SNAPSHOT, it may
>>>>> error out on trying to write to the ~/.forge/plugins/installed.xml
>>>>> because JARs have moved around - in this case add the following line to
>>>>> installed.xml :
>>>>>
>>>>> <installed>
>>>>> <plugin name="org.switchyard.switchyard-forge-plugin"
>>>>> slot="0.3.0.Final"/>
>>>>> </installed>
>>>>>
>>>>> Change FORGE_HOME to forge-1.0.0.Beta4 or SNAPSHOT
>>>>>
>>>>> Edit
>>>>>
>>>>> ~/.forge/plugins/org/switchyard/switchyard-forge-plugin/0.3.0.Final/module.xml
>>>>> Change <module name="javax.enterprise.cdi-api"/>
>>>>> to <module name="javax.enterprise.api"/>
>>>>> Change <module name="org.jboss.forge.shell-api"/>
>>>>> to <module name="org.jboss.forge.shell.api"/>
>>>>>
>>>>> forge
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 12/20/2011 12:44 PM, Lincoln Baxter wrote:
>>>>> > Hey Tom,
>>>>> >
>>>>> > (cc'ing dev list)
>>>>> >
>>>>> > I'm not exactly sure why this is happening. As long as the plugins
>>>>> are distributed as a single module, all resource-roots in that module
>>>>> should have classloader visibility between one another. They should also
>>>>> prefer their local classes over classes in other classloaders if there is
>>>>> duplication.
>>>>> >
>>>>> > Where can I try this out?
>>>>> >
>>>>> > ~Lincoln
>>>>> >
>>>>> > ----- Original Message -----
>>>>> > From: "Tom Cunningham"<tcunning at redhat.com>
>>>>> > To: "Lincoln Baxter"<lbaxter at redhat.com>
>>>>> > Sent: Saturday, December 17, 2011 1:24:57 AM
>>>>> > Subject: Weird error again....
>>>>> >
>>>>> > Lincoln,
>>>>> >
>>>>> > I'm seeing a weird error on SNAPSHOT again that I think I've seen
>>>>> > before.      We managed to remove the shading and got our plugins to
>>>>> > work with 1.0.0-Beta3, but when I go to SNAPSHOT I'm seeing the
>>>>> > exception at the bottom of this email when it tries to find
>>>>> > "org.switchyard.tools.forge.plugin.SwitchYardFacet".     We've put a
>>>>> > number of different plugins inside a common module, and
>>>>> SwitchYardFacet
>>>>> > is in switchyard.forge-plugin-0.4.0-SNAPSHOT.jar.      Can a facet in
>>>>> > one of the other plugin JARs refer to that one?     Do I need to go
>>>>> back
>>>>> > to shading?
>>>>> >
>>>>> > Example - this Facet is in switchyard-camel-plugin-0.4.0-SNAPSHOT.jar
>>>>> > but refers to  SwitchYardFacet which is in another resource-root :
>>>>> > switchyard-forge-plugin-0.4.0-SNAPSHOT.jar.
>>>>> >
>>>>> > import org.switchyard.tools.forge.plugin.SwitchYardFacet;
>>>>> >
>>>>> > /**
>>>>> >    * Forge facet for Camel bindings and services.
>>>>> >    */
>>>>> > @Alias("switchyard.camel")
>>>>> > @RequiresFacet({ DependencyFacet.class, PackagingFacet.class,
>>>>> > SwitchYardFacet.class })
>>>>> > @RequiresPackagingType(PackagingType.JAR)
>>>>> > public class CamelFacet extends AbstractFacet {
>>>>> >
>>>>> >
>>>>> > module.xml :
>>>>> >
>>>>> > <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>>>> > <module xmlns="urn:jboss:module:1.0"
>>>>> > name="org.switchyard.switchyard-forge-plugin" slot="0.4.0-SNAPSHOT">
>>>>> > <resources>
>>>>> > <!-- plugin dependencies that must be local to this module -->
>>>>> > <resource-root path="switchyard-forge-common-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-component-common-rules-0.4.0-SNAPSHOT.jar"/>
>>>>> > <!-- core and component plugins -->
>>>>> > <resource-root path="switchyard-forge-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-forge-bean-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-forge-soap-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-forge-rules-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-forge-bpm-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > <resource-root
>>>>> path="switchyard-forge-camel-plugin-0.4.0-SNAPSHOT.jar"/>
>>>>> > </resources>
>>>>> >
>>>>> >
>>>>> >
>>>>> > Error - the missing Type seems to be SwitchYardFacet :
>>>>> >
>>>>> > tcunning at localhost:tmp]$ forge
>>>>> > Listening for transport dt_socket at address: 8787
>>>>> > Plugin system disabled due to failure while loading one or more
>>>>> plugins;
>>>>> > try removing offending plugins with "forge remove-plugin<TAB>".
>>>>> > com.google.common.collect.ComputationException:
>>>>> > java.lang.ArrayStoreException:
>>>>> > sun.reflect.annotation.TypeNotPresentExceptionProxy
>>>>> >       at
>>>>> >
>>>>> com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)
>>>>> >       at
>>>>> >
>>>>> com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:100)
>>>>> >       at
>>>>> >
>>>>> com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:515)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:183)
>>>>> >       at
>>>>> org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:95)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:134)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:191)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:368)
>>>>> >       at org.jboss.weld.environment.se.Weld.initialize(Weld.java:92)
>>>>> >       at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:87)
>>>>> >       at java.lang.Thread.run(Thread.java:662)
>>>>> > Caused by: java.lang.ArrayStoreException:
>>>>> > sun.reflect.annotation.TypeNotPresentExceptionProxy
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
>>>>> >       at
>>>>> >
>>>>> sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
>>>>> >       at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
>>>>> >       at java.lang.Class.getAnnotations(Class.java:3050)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:98)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:54)
>>>>> >       at
>>>>> >
>>>>> org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:42)
>>>>> >       at
>>>>> >
>>>>> com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206)
>>>>> >       ... 10 more
>>>>> >       _____
>>>>> >
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> Lincoln Baxter, III
>>>> http://ocpsoft.com
>>>> http://scrumshark.com
>>>> "Keep it Simple"
>>>>
>>>
>>>
>>>
>>> --
>>> Lincoln Baxter, III
>>> http://ocpsoft.com
>>> http://scrumshark.com
>>> "Keep it Simple"
>>>
>>
>>
>>
>> --
>> Lincoln Baxter, III
>> http://ocpsoft.com
>> http://scrumshark.com
>> "Keep it Simple"
>>
>>
>>
>> _______________________________________________
>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.com
> http://scrumshark.com
> "Keep it Simple"
>



-- 
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120118/83935fda/attachment-0001.html 


More information about the forge-dev mailing list