2 Replies Latest reply on Mar 6, 2006 2:44 PM by Ovidiu Feodorov

    New JMS build fails incrementally

    Adrian Brock Master

      I keep getting these messages while trying to rebuild jms.

      To fix it, I have to do a clean build but this isn't very good for my sanity. :-)

      I don't expect to have to continually handhold the build and have to rebuild
      due to random errors.

      Can you fix it or ask Kabir to look at it?

      compile-classes:
       [javac] Compiling 64 source files to /home/ejort/jboss-head/workspace/jms/ou
      tput/classes
       [aopc] java.lang.RuntimeException: defrost(): org.jboss.jms.server.endpoint
      .advised.ConnectionFactoryAdvised$createConnectionDelegate_N6840474864420126404
      was pruned.
       [aopc] at javassist.CtClassType.checkPruned(CtClassType.java:1093)
       [aopc] at javassist.CtClassType.defrost(CtClassType.java:272)
       [aopc] at org.jboss.aop.instrument.OptimizedInvocations.defrostClassIfE
      xists(OptimizedInvocations.java:66)
       [aopc] at org.jboss.aop.instrument.OptimizedInvocations.makeInvocationC
      lass(OptimizedInvocations.java:96)
       [aopc] at org.jboss.aop.instrument.OptimizedMethodInvocations.createOpt
      imizedInvocationClass(OptimizedMethodInvocations.java:78)
       [aopc] at org.jboss.aop.instrument.OptimizedMethodExecutionTransformer.
      transformMethod(OptimizedMethodExecutionTransformer.java:59)
       [aopc] at org.jboss.aop.instrument.MethodExecutionTransformer.instrumen
      t(MethodExecutionTransformer.java:138)
       [aopc] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.
      java:657)
       [aopc] at org.jboss.aop.AspectManager.translate(AspectManager.java:835)
       [aopc] at org.jboss.aop.AspectManager.transform(AspectManager.java:747)
       [aopc] at org.jboss.aop.standalone.Compiler.compileFile(Compiler.java:3
      45)
       [aopc] at org.jboss.aop.standalone.Compiler.compile(Compiler.java:234)
       [aopc] at org.jboss.aop.standalone.Compiler.main(Compiler.java:90)
       [aopc] [error] failed to transform: org.jboss.jms.server.endpoint.advised.C
      onnectionFactoryAdvised.. Do verbose mode if you want full stack trace.
       [aopc] Exception in thread "main" java.lang.RuntimeException: failed to tra
      nsform: org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised
       [aopc] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.
      java:731)
       [aopc] at org.jboss.aop.AspectManager.translate(AspectManager.java:835)
       [aopc] at org.jboss.aop.AspectManager.transform(AspectManager.java:747)
       [aopc] at org.jboss.aop.standalone.Compiler.compileFile(Compiler.java:3
      


        • 1. Re: New JMS build fails incrementally
          Tim Fox Master

          Yeah - I believe this a known problem with aopc and Kab is aware of it.

          It will only occur if you've changed one of the classes that get aopc'd and rebuilt.

          So most incremental builds should work fine (since only a few of the classes get aopc'd)

          However I agree it is annoying and I've been meaning to fix it (in the build script) but haven't got round to it yet...

          I'll take a look ASAP.

          • 2. Re: New JMS build fails incrementally
            Ovidiu Feodorov Master

            The problem only occurs if one modifies a server/**/*Advised.java or a client/**/**Delegate.java file and then triggers an incremental build. These are the only classes that get bytecode instrumented by AOPC. The full list follows:

            <aop>
            
             <!-- Prepare the client stub classes - these provide the client side advice stack -->
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate->$implementing{org.jboss.jms.delegate.ConnectionFactoryDelegate}(..))"/>
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->$implementing{org.jboss.jms.delegate.ConnectionDelegate}(..))"/>
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->$implementing{org.jboss.jms.delegate.SessionDelegate}(..))"/>
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->$implementing{org.jboss.jms.delegate.ConsumerDelegate}(..))"/>
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->$implementing{org.jboss.jms.delegate.ProducerDelegate}(..))"/>
             <prepare expr="execution(* org.jboss.jms.client.delegate.ClientBrowserDelegate->$implementing{org.jboss.jms.delegate.BrowserDelegate}(..))"/>
            
             <!-- Prepare the server delegate classes - these provide the server side advice stack -->
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised->$implementing{org.jboss.jms.server.endpoint.ConnectionFactoryEndpoint}(..))"/>
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.ConnectionAdvised->$implementing{org.jboss.jms.server.endpoint.ConnectionEndpoint}(..))"/>
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.SessionAdvised->$implementing{org.jboss.jms.server.endpoint.SessionEndpoint}(..))"/>
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.ProducerAdvised->$implementing{org.jboss.jms.server.endpoint.ProducerEndpoint}(..))"/>
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.ConsumerAdvised->$implementing{org.jboss.jms.server.endpoint.ConsumerEndpoint}(..))"/>
             <prepare expr="execution(* org.jboss.jms.server.endpoint.advised.BrowserAdvised->$implementing{org.jboss.jms.server.endpoint.BrowserEndpoint}(..))"/>
            
            </aop>
            




            Modifying any other class should allow a correct incremental build.

            I agree this is a problem, and I created a JIRA taks for it (http://jira.jboss.org/jira/browse/JBMESSAGING-271), however it is not likely we will address it before 1.0 release, as we are already maxed out. IF there are volunteers who want to fix this, they are more than welcome to take on it.