-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
2.2.0
-
None
-
bytecode transform of mysql driver
a simple rule fails to inject on Mysql driver
RULE Execute SQL Statement
CLASS com.mysql.jdbc.StatementImpl
METHOD executeQuery
AT ENTRY
IF TRUE
DO traceln("Execute SQL Called with:" + $1);
ENDRULE
working with lib mysql-connector-java-5.1.30-bin.jar
the error I get is
org.jboss.byteman.agent.Transformer : unexpected error injecting trigger for rule Execute SQL Statement into class com.mysql.jdbc.StatementImpl
java.lang.NullPointerException
java.lang.NullPointerException
at org.jboss.byteman.agent.adapter.cfg.CFG.computeContainment(CFG.java:1108)
at org.jboss.byteman.agent.adapter.cfg.CFG.carryForward(CFG.java:962)
at org.jboss.byteman.agent.adapter.cfg.CFG.split(CFG.java:1222)
at org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter.visitInsn(RuleTriggerMethodAdapter.java:654)
at org.jboss.byteman.agent.adapter.EntryTriggerAdapter$EntryTriggerMethodAdapter.visitInsn(EntryTriggerAdapter.java:104)
at org.jboss.byteman.objectweb.asm.tree.InsnNode.accept(Unknown Source)
at org.jboss.byteman.objectweb.asm.tree.InsnList.accept(Unknown Source)
at org.jboss.byteman.objectweb.asm.tree.MethodNode.accept(Unknown Source)
at org.jboss.byteman.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(Unknown Source)
at org.jboss.byteman.objectweb.asm.ClassReader.accept(Unknown Source)
at org.jboss.byteman.objectweb.asm.ClassReader.accept(Unknown Source)
at org.jboss.byteman.agent.TransformContext.transform(TransformContext.java:150)
at org.jboss.byteman.agent.Transformer.transform(Transformer.java:730)
at org.jboss.byteman.agent.Transformer.tryTransform(Transformer.java:798)
at org.jboss.byteman.agent.Transformer.tryTransform(Transformer.java:769)
at org.jboss.byteman.agent.Transformer.transform(Transformer.java:250)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at TestStatement.main(TestStatement.java:17)