2 Replies Latest reply on Feb 20, 2019 10:19 AM by y.rodiere

    Byteman on JDK13

    y.rodiere

      Hi,

       

      I recently attempted to run tests using BMUnit in JDK13 (ea+8). Unfortunately Byteman (4.0.5) seems to fail due to a lack of support for JDK13 in ASM (see below).

       

      Are there any plans to add support for JDK13 in the near future?

       

      Thanks,

       

      org.jboss.byteman.agent.Transformer : possible trigger for rule trackIndexWriterClose in class org.apache.lucene.index.IndexWriter
      org.jboss.byteman.agent.Transformer : unexpected error injecting trigger for rule trackIndexWriterClose into class org.apache.lucene.index.IndexWriter
      java.lang.IllegalArgumentException: Unsupported class file major version 57
      java.lang.IllegalArgumentException: Unsupported class file major version 57
              at org.jboss.byteman.objectweb.asm.ClassReader.(ClassReader.java:184)
              at org.jboss.byteman.objectweb.asm.ClassReader.(ClassReader.java:166)
              at org.jboss.byteman.objectweb.asm.ClassReader.(ClassReader.java:152)
              at org.jboss.byteman.agent.check.BytecodeChecker.(BytecodeChecker.java:43)
              at org.jboss.byteman.agent.Transformer.getClassChecker(Transformer.java:973)
              at org.jboss.byteman.agent.TransformContext.findLeastCommonSuper(TransformContext.java:473)
              at org.jboss.byteman.agent.TransformContext$1.getCommonSuperClass(TransformContext.java:444)
              at org.jboss.byteman.objectweb.asm.SymbolTable.addMergedType(SymbolTable.java:1198)
              at org.jboss.byteman.objectweb.asm.Frame.merge(Frame.java:1294)
              at org.jboss.byteman.objectweb.asm.Frame.merge(Frame.java:1191)
              at org.jboss.byteman.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1617)
              at org.jboss.byteman.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1553)
              at org.jboss.byteman.objectweb.asm.tree.MethodNode.accept(MethodNode.java:810)
              at org.jboss.byteman.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(JSRInlinerAdapter.java:150)
              at org.jboss.byteman.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
              at org.jboss.byteman.objectweb.asm.ClassReader.accept(ClassReader.java:679)
              at org.jboss.byteman.objectweb.asm.ClassReader.accept(ClassReader.java:391)
              at org.jboss.byteman.agent.TransformContext.transform(TransformContext.java:152)
              at org.jboss.byteman.agent.Transformer.transform(Transformer.java:746)
              at org.jboss.byteman.agent.Transformer.tryTransform(Transformer.java:813)
              at org.jboss.byteman.agent.Transformer.tryTransform(Transformer.java:785)
              at org.jboss.byteman.agent.Transformer.transform(Transformer.java:258)
              at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246)
              at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
              at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
              at java.base/java.lang.ClassLoader.defineClass1(Native Method)
              at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
              at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
              at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
              at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
              at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
              at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
              at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
              at org.hibernate.search.store.spi.DirectoryHelper.initializeIndexIfNeeded(DirectoryHelper.java:59)
        • 1. Re: Byteman on JDK13
          adinn

          Hi Yoann,

           

          JDK13 will be supported but I am not yet sure when. Byteman is waiting on a version of ASM that supports JDK13 bytecode. The latest release (7.0) only supports bytecode versions up to JDK12.

           

          regards,

           

           

          Andrew Dinn

          • 2. Re: Byteman on JDK13
            y.rodiere

            Thanks for the answer. I'll make sure to follow the releases, then