Skip to content

Btracec compiled failure with IBM-JDK #403

@lony2016

Description

@lony2016

Hello,
When I used btracec(btrace 2.0.0 version) compile samples/JdbcQueries.java in windows 7 platform, it failed to compile,the problems are as follows:
1.used java version(ibm-jdk8)

java version "1.8.0"
Java(TM) SE Runtime Environment (build pwa6480sr3fp10-20160720_02(SR3fp10))
IBM J9 VM (build 2.8, JRE 1.8.0 Windows 10 amd64-64 Compressed References 20160719_312156 (JIT enabled, AOT enabled)
J9VM - R28_Java8_SR3_20160719_1144_B312156
JIT  - tr.r14.java_20160629_120284.01
GC   - R28_Java8_SR3_20160719_1144_B312156_CMPRSS
J9CL - 20160719_312156)
JCL - 20160719_01 based on Oracle jdk8u101-b13
  1. btrace version:2.0.0

3.used command: btracec –d outputDir path/JdbcQueries.java

4.the compiled errors are as follows

btrace INFO: "org.openjdk.btrace.core.cmdQueueLimit" not provided. Using the default cmd queue limit of 100
btrace INFO: Can not load runtime factory: org.openjdk.btrace.runtime.BTraceRuntimeImpl_9$Factory
btrace INFO: Can not load runtime factory: org.openjdk.btrace.runtime.BTraceRuntimeImpl_11$Factory
Exception in thread "main" java.lang.NoClassDefFoundError: java.lang.AbstractStringBuilder
        at java.lang.J9VMInternals.prepareClassImpl(Native Method)
        at java.lang.J9VMInternals.prepare(J9VMInternals.java:291)
        at java.lang.Class.getDeclaredField(Class.java:777)
        at org.openjdk.btrace.runtime.BTraceRuntimeAccess.registerRuntimeAccessor(BTraceRuntimeAccess.java:254)
        at org.openjdk.btrace.runtime.BTraceRuntimes.<clinit>(BTraceRuntimes.java:19)
        at org.openjdk.btrace.runtime.BTraceRuntimeAccess.registerRuntimeAccessor(BTraceRuntimeAccess.java:253)
        at org.openjdk.btrace.runtime.BTraceRuntimeAccess.<clinit>(BTraceRuntimeAccess.java:110)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:55)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:154)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1103)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1079)
        at java.lang.reflect.Field.set(Field.java:774)
        at org.openjdk.btrace.compiler.Compiler.main(Compiler.java:105)
Caused by: java.lang.ClassNotFoundException: java.lang.AbstractStringBuilder
        at java.net.URLClassLoader.findClass(URLClassLoader.java:607)
        at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:846)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:825)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:805)
        ... 14 more

there is no AbstractStringBuilder class in ibm-jdk, while the StringBuilder class in ibm-jdk does not inherit from AbstractStringBuilder, and the StringBuilder class extends AbstractStringBuilder in oracle-jdk.

The above question is my low-level operation error?
Does Btrace support ibm-jdk? If not, do you plan to support it in the future?

Thank you very much.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions