Skip to content
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.

Programs compiled with java 9 and up fail to be instrumented #51

Open
kajdreef opened this issue Jun 17, 2018 · 1 comment
Open

Programs compiled with java 9 and up fail to be instrumented #51

kajdreef opened this issue Jun 17, 2018 · 1 comment
Assignees

Comments

@kajdreef
Copy link
Member

When I run blinky with xile,calldepth and xile,frames,calldepth on a project that is compiled with java 9 or 10 the following error occurs (full trace + example program can be found here:
):

java.lang.IllegalArgumentException
	at org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
	at org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
	at org.spideruci.analysis.statik.instrumentation.ClassInstrumenter.getClassReader(ClassInstrumenter.java:112)
	at org.spideruci.analysis.statik.instrumentation.ClassInstrumenter.instrument(ClassInstrumenter.java:23)
	at org.spideruci.analysis.dynamic.Blinksformer.instrumentClass(Blinksformer.java:64)
	at org.spideruci.analysis.dynamic.Blinksformer.transform(Blinksformer.java:47)
	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:550)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1007)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:375)
	at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:654)
	at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:551)
instrumentation failed for org/spideruci/Hello

When I modified the asm-debug-all dependency from version 5.0 to 6.0_BETA, I am able to run blinky on at least java 9, but not java 10 yet.

So the following configuration works after changing to ASM 6.0_BETA:

java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

But this one does not:

java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
@VijayKrishna
Copy link
Member

What's the goal here? Java 9, or Java 10? And what your thoughts about Java's new release cycle? should we stick with the LTE version (which i believe is Java 9?)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants