Execute failed: Instrumentation is not set; Jamm must be set as -javaagent

#1

hello, I’m trying to use the instrumentation API that the JVM provides to alter the existing byte code that is loaded into a JVM, statically load the agent using the -javaagent parameter at the start of the JVM in the run-configuration (VM arguments) this as a parameter:
-javaagent: “D: \ prrrrr \ !! Proactive Forest using J48_Paralelo_and_alpha \ jamm-0.3.2.jar” -ea -Xmx2048M,
but when I run my node, I get this error:
ERROR PractiveForest 0:14 Execute failed: Instrumentation is not set; Jamm must be set as -javaagent
how can I pass the agent in to the virtual machine, or how can I implement the agent in a node of the knime

0 Likes

#2

Hi @collazo42,
are you launching a standalone KNIME AP instance or are you launching it from eclipse?
If you start it from eclipse, you can set the launch parameters in the VM arguments section of the Arguments tab of the Launch configurations window:

If you launch a standalone version, you need to edit the knime.ini file.

best,
Gabriel

0 Likes

#4

hello, I’m launching it from eclipse … I configured the parameters in the VM arguments tab and it does not work, does it occur to you otherwise?

0 Likes

#5

I found the following in the official documentation: https://github.com/jbellis/jamm

If you would like to use MemoryMeter in a web application, make sure
that you do NOT put this jar in WEB-INF/lib, as that may cause problems
since your code is accessing a MemoryMeter from a different class loader
than the one loaded by the -javaagent and won’t see it as initialized.

Every plugin in OSGi which is the platform KNIME AP runs on, is using its own classloader, this is probably why your code can’t see the javaagent.

0 Likes