2 Replies Latest reply on Feb 25, 2015 8:32 PM by vhavin

    JBoss operation error.

    vhavin

      Hi everybody, I am a newbie here, so at the moment I am looking for some pointers to documentation that can help me to understand the problem.

      I am trying to use IBM PureCoverage tool with JBoss application. Without PureCoverage in the picture this application is working just fine. However, when PureCoverage is active I am getting the error attached below. In fact, I am getting multiple instances of this error for various services. The essence of this error is that JBoss doesn't like reference to com/ibm/rational/purifyplus/BCICallbackJ. This is a 'synthetic' class. A reference to this class is added to each Java class instrumented by the PureCoverage JVMTI agent. In fact the class itself doesn't exist. It is generated in memory when JVMTI agent is initialized and it is instantiated by direct JNI call to the Java bootstrap loader. Typically this class is added to the Bootstrap Loader Cache and thus should be resolved by all class loaders that follow the common practice to lookup a class in the bootstrap loader cache before trying to load it. Apparently JBoss seems to follow a different set of rules and flatly rejects all references to this class. I assume that if JBoss is so cautious about the external class references, it should provide a mechanism for adding classes required by other Java subsystems to the 'OK' list. After all, JBoss itself seems to be using numerous classes form various java packages with no problem. So far I found a document titled "Extending JBoss AS7" (Extending JBoss AS 7 - JBoss AS 7.0 - Project Documentation Editor). However, it describes implementation of a JBoss specific extension package and involves some tedious process for adding a single extension class. What if I want to 'extend' all packages with additional functionality? Is it even possible? Any help or information leading to answers to these questions will be greatly appreciated. The error generated by JBoss startup when running with PureCoverage attached follows:

       

      14:44:56,267 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 44) JBAS014612: Operatio
      n ("add") failed - address: ([("subsystem" => "transactions")]): java.lang.RuntimeException: java.lang.NoClassDefFoundEr
      ror: com/ibm/rational/purifyplus/BCICallbackJ
              at com.arjuna.common.internal.util.propertyservice.BeanPopulator.getNamedInstance(BeanPopulator.java:81)
              at com.arjuna.common.internal.util.propertyservice.BeanPopulator.getDefaultInstance(BeanPopulator.java:49)
              at com.arjuna.ats.arjuna.common.arjPropertyManager.getCoreEnvironmentBean(arjPropertyManager.java:48)
              at org.jboss.as.txn.service.CoreEnvironmentService.getValue(CoreEnvironmentService.java:59)
              at org.jboss.as.txn.service.CoreEnvironmentService.setProcessImplementation(CoreEnvironmentService.java:107)
              at org.jboss.as.txn.subsystem.TransactionSubsystemAdd.performCoreEnvironmentBootTime(TransactionSubsystemAdd.jav
      a:358)
              at org.jboss.as.txn.subsystem.TransactionSubsystemAdd.performBoottime(TransactionSubsystemAdd.java:196)
              at org.jboss.as.controller.AbstractBoottimeAddStepHandler.performRuntime(AbstractBoottimeAddStepHandler.java:69)
      [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:75) [jboss-as-controller
      -7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:611) [jboss-as-con
      troller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:489) [jboss-as-
      controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:290) [jbo
      ss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:285) [jboss-a
      s-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandle
      r.java:354) [jboss-as-controller-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) [rt.jar:1.6.0_01]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) [rt.jar:1.6.0_01]
              at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_01]
              at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final-redhat-1.jar:2.1.1.Final-r
      edhat-1]
      Caused by: java.lang.NoClassDefFoundError: com/ibm/rational/purifyplus/BCICallbackJ
              at $Proxy3.<clinit>(Unknown Source)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      [rt.jar:1.6.0_01]
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [rt.jar:1.6.0_01
      ]
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [rt.jar:
      1.6.0_01]
              at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [rt.jar:1.6.0_01]
              at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:588) [rt.jar:1.6.0_01]
              at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) [rt.jar:1.6.0_01]
              at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) [rt.jar:1.6.0_01]
              at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) [rt.jar:1.6.0_01]
              at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) [rt.jar:1.6.0_01]
              at java.lang.reflect.Field.declaredAnnotations(Field.java:1016) [rt.jar:1.6.0_01]
              at java.lang.reflect.Field.getAnnotation(Field.java:1000) [rt.jar:1.6.0_01]
              at java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java:168) [rt.jar:1.6.0_01]
              at com.arjuna.common.internal.util.propertyservice.BeanPopulator.configureFromProperties(BeanPopulator.java:160)

              at com.arjuna.common.internal.util.propertyservice.BeanPopulator.getNamedInstance(BeanPopulator.java:78)
              ... 17 more

        • 1. Re: JBoss operation error.
          ctomc

          Moved to EAP forum as you are asking about EAP not WildFly.

           

          You should be looking bit different document https://developer.jboss.org/wiki/HackingOnWildFly

          see the Appendix C.  Profiling with JProfiler

           

          or in short in standalone.conf / standalone.conf.bat set JBOSS_MODULES_SYSTEM_PKGS to include packages that are provided by your java agent.

           

          on general note, please upgrade JDK to something newer than JDK6update1 which is really old, buggy and also EOL-ed.

          • 2. Re: JBoss operation error.
            vhavin

            Thanks Tomaz,

             

            This was really helpful. As for Java 6, it was not my choice, this is something one of our customers is using and we are still supporting this platform. I did recommend them to move on, but I haven't heard back yet.

             

            Thanks again.