[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [mat-dev] Central Build for MAT available
|
Erwin, thank you for setting up the
central build for MAT - this is good news.
These are the errors
https://build.eclipse.org/hudson/view/Athena%20CBI%20%28SVN%29/job/cbi-mat-nightly/14/console
[javac] ----------
[javac] 1. ERROR in /opt/users/hudsonbuild/.hudson/jobs/cbi-mat-nightly/workspace/build/N200912041153/eclipse/plugins/org.eclipse.mat.dtfj/src/org/eclipse/mat/dtfj/DTFJHeapObjectReader.java
(at line 327)
[javac]
JavaObject jo = jvm.getObjectAtAddress(ip);
[javac]
^^^^^^^^^^^^^^^^^^
[javac] The method getObjectAtAddress(ImagePointer) is undefined
for the type JavaRuntime
[javac] 12. ERROR in /opt/users/hudsonbuild/.hudson/jobs/cbi-mat-nightly/workspace/build/N200912041153/eclipse/plugins/org.eclipse.mat.dtfj/src/org/eclipse/mat/dtfj/DTFJIndexBuilder.java
(at line 2197)
[javac]
it = run.getHeapRoots();
[javac]
^^^^^^^^^^^^
[javac] The method getHeapRoots() is undefined for the type
JavaRuntime
[javac] 18. ERROR in /opt/users/hudsonbuild/.hudson/jobs/cbi-mat-nightly/workspace/build/N200912041153/eclipse/plugins/org.eclipse.mat.dtfj/src/org/eclipse/mat/dtfj/DTFJIndexBuilder.java
(at line 4469)
[javac]
i2 = clsObj.getReferences();
[javac]
^^^^^^^^^^^^^
[javac] The method getReferences() is undefined for the type
JavaObject
[javac] ----------
[javac] 19. ERROR in /opt/users/hudsonbuild/.hudson/jobs/cbi-mat-nightly/workspace/build/N200912041153/eclipse/plugins/org.eclipse.mat.dtfj/src/org/eclipse/mat/dtfj/DTFJIndexBuilder.java
(at line 4479)
[javac]
i2 = jc.getReferences();
[javac]
^^^^^^^^^^^^^
[javac] The method getReferences() is undefined for the type
JavaClass
I don't think the problem is incompatible
changes in DTFJ between 1.3.0 and 1.3.2, but rather an incompatibility
between the javac VM level of DTFJ and the latest DTFJ. Those methods were
introduced a year ago.
I've seem this sort of problem on my
machine.
The MAT DTFJ adapter compiles inside
of Eclipse against the com.ibm.dtfj.api project because the Eclipse compiler
finds the com.ibm.dtfj.api files first.
PDE builds can fail because the javac
compiler takes files from its boot class path and ext dirs path first.
IBM VMs have a version of dtfj in the jre/lib/ext directory. Depending
on the VM age this could be back level compared to the version required
for MAT, and be missing methods such as getObjectAtAddress.
You may be able to avoid this by compiling
with
-extdirs ""
That would be best as then the VM level
would not affect the compilation.
Other options are:
- compiling with a more recent
VM
Test the VM with javap com.ibm.dtfj.java.JavaRuntime and see if getObjectAtAddress
and getHeapRoots are available
- trying a 64-bit VM for compiling
in case the dtfj is more recent
- replacing the dtfj.jar in the
compiler vm ext directory with a more recent one
- replacing the dtfj.jar with
a jar file with no classes - that way the old classes are not found and
the new ones from the com.ibm.dtfj.api project are found instead.
Andrew Johnson
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU