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

Jose Alvarez de Lara dakhla.0563 at hotmail.com
Wed Jan 18 17:58:19 EST 2012


Hi Lincoln,

I will wait for the new release of forge

Thanks,
Jose

Date: Wed, 18 Jan 2012 14:56:43 -0500
From: lincolnbaxter at gmail.com
To: forge-dev at lists.jboss.org
CC: stuart.w.douglas at gmail.com
Subject: Re: [forge-dev] Weird error again....

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 list
forge-dev at lists.jboss.org
https://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"



_______________________________________________
forge-dev mailing list
forge-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120118/7c2d43c3/attachment-0001.html 


More information about the forge-dev mailing list