JDK-8220783 : InternalError on Instrumentation.retransformClasses()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 8,11.0.2,12,13
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2019-03-11
  • Updated: 2024-07-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 25
25Unresolved
Related Reports
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
http://bit.ly/system-info


A DESCRIPTION OF THE PROBLEM :
Running Instrumentation.retransformClasses() for Spring Boot application throws InternalError on some classes. 

For example:
org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration
org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration
org.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration
org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer

The issue is also reproducible on early access versions of 12 and 13.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
I've prepared simple demo project to illustrate this issue. 
There are only main class and test class. 
Test should be run. 
It will package project to jar and execute it as separate process. 
Then it attaches agent to this process where it invokes Instrumentation.transformClasses() for all loaded classes one by one.


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Not throwing InternalError or showing understandable message of error.

ACTUAL -
Throwing InternalError 


---------- BEGIN SOURCE ----------
http://bit.ly/instrumentation-demo

---------- END SOURCE ----------

FREQUENCY : always



Comments
Thanks a lot, Dan! Nice Teamware archive. :)
09-04-2020

Serguei sent this query via Slack: > Serguei Spitsyn 20:48 > Hi Dan, > The function > jvmtiError VM_RedefineClasses::load_new_class_versions(TRAPS) { > has this block of code: > // Ensure class is linked before redefine > if (!the_class->is_linked()) { > the_class->link_class(THREAD); > if (HAS_PENDING_EXCEPTION) { > Symbol* ex_name = PENDING_EXCEPTION->klass()->name(); > log_info(redefine, class, load, exceptions)("link_class exception: '%s'", ex_name->as_C_string()); > CLEAR_PENDING_EXCEPTION; > if (ex_name == vmSymbols::java_lang_OutOfMemoryError()) { > return JVMTI_ERROR_OUT_OF_MEMORY; > } else { > return JVMTI_ERROR_INTERNAL; > } > } > } > The RedefineClasses spec does not tell anything about linking. > Do you know what is the reason why we do linking there? I checked my Teamware archive and found this delta: $ sp -r1.24 src/share/vm/prims/jvmtiRedefineClasses.cpp src/share/vm/prims/SCCS/s.jvmtiRedefineClasses.cpp: D 1.24 04/09/14 12:51:50 ab23780 29 27 00003/00006/00526 MRs: COMMENTS: 5092850: RedefineClasses causes VerifyError Here's the diff for src/share/vm/prims/jvmtiRedefineClasses.cpp: $ sccs sccsdiff -r1.23 -r1.24 src/share/vm/prims/jvmtiRedefineClasses.cpp ------- jvmtiRedefineClasses.cpp ------- 247,251c247,249 < // All its super classes should be linked to < // initialize the vtable. < instanceKlassHandle super(THREAD, k_h_new->super()); < if (super.not_null() && !super->is_linked()) { < super->link_class(THREAD); --- > // Ensure class is linked before redefine > if (!k_h->is_linked()) { > k_h->link_class(THREAD); 530d527 < k_h->set_rewritten_by_redefine(true); The fix for: JDK-5092850 RedefineClasses causes VerifyError was pushed way back in JDK6/Mustang.
09-04-2020

Some details from Poonam who investigated a reproducible test case from the customer: A bit of digging revealed that it is the verification that fails: [java] [13.821s][info][verification] Verifying class org.apache.commons.logging.impl.Log4JLogger with old format [java] [13.822s][info][verification] Verification for org.apache.commons.logging.impl.Log4JLogger has exception pending java.lang.NoClassDefFoundError [java] [13.822s][info][verification] End class verification for: org.apache.commons.logging.impl.Log4JLogger [java] Exception in thread “main” java.lang.InternalError One more: Another log with ‘class’ loading details: [java] [0.968s][info ][class,init ] Start class verification for: org.apache.commons.logging.Log [java] [0.968s][info ][class,init ] End class verification for: org.apache.commons.logging.Log [java] [0.968s][info ][class,init ] Start class verification for: org.apache.commons.logging.impl.Log4JLogger [java] [0.968s][debug][class,resolve ] org.apache.commons.logging.impl.Log4JLogger java.lang.Object (verification) [java] [0.968s][debug][class,resolve ] jdk.internal.loader.BuiltinClassLoader java.lang.ClassNotFoundException BuiltinClassLoader.java:583 [java] [0.968s][info ][class,init ] 639 Initializing ‘java/lang/ReflectiveOperationException’(no method) (0x0000000800004258) [java] [0.968s][info ][class,init ] 640 Initializing ‘java/lang/ClassNotFoundException’(no method) (0x00000008000044f0) [java] [0.968s][debug][class,resolve ] java.lang.ClassNotFoundException java.lang.ReflectiveOperationException ClassNotFoundException.java:82 [java] [0.968s][debug][class,resolve ] java.lang.ReflectiveOperationException java.lang.Exception ReflectiveOperationException.java:75 [java] [0.968s][debug][class,resolve ] java.lang.Exception java.lang.Throwable Exception.java:84 [java] [0.968s][debug][class,resolve ] java.lang.Throwable java.lang.Object Throwable.java:291 [java] [0.968s][info ][class,init ] 641 Initializing ‘java/lang/LinkageError’(no method) (0x0000000800004798) [java] [0.968s][info ][class,init ] 642 Initializing ‘java/lang/NoClassDefFoundError’(no method) (0x0000000800004a30) [java] [0.968s][debug][class,resolve ] java.lang.NoClassDefFoundError java.lang.LinkageError NoClassDefFoundError.java:59 [java] [0.968s][debug][class,resolve ] java.lang.LinkageError java.lang.Error LinkageError.java:55 [java] [0.968s][debug][class,resolve ] java.lang.Error java.lang.Throwable Error.java:70 [java] [0.968s][info ][class,init ] Verification for org.apache.commons.logging.impl.Log4JLogger has exception pending java.lang.NoClassDefFoundError [java] [0.968s][info ][class,init ] End class verification for: org.apache.commons.logging.impl.Log4JLogger The class for which verification is failing is: Log4JLogger.
08-04-2020

Targeted to tbd for now.
29-10-2019

[~sspitsyn] Serguei, it happens because we explicitly perform linking. The question is why do we think we have to link before redefining?
19-07-2019

[~dholmes] David, the redefined/retransformed class does not need to be linked. As I understand, in this case, some other classes are linked at redefinition/retransformation Also, the JVMTI spec does not expect anything like this. So, I guess, it'd be better to figure out why this happens. There can be some weird reasons for that.
11-07-2019

[~sspitsyn] Serguei, one thing that is unclear to me is whether we should in fact be linking the class? The spec says nothing about the class being linked. It seems to me that if the class was intended to be linked by the retransformation process then retransformClasses would be aware of and report linkage errors. Either way I see a problem that needs to be resolved.
22-06-2019

[~dholmes] Thanks, David! I don't think returning JVMTI_INVALID_CLASS would be correct. The RedefineClasses spec is clear about this error code: " An element of class_definitions is not a valid class. " It means, the class that is being redefined is invalid, not a class involved into linking (referenced class). An error code like JVMTI_ERROR_INVALID_REFERENCE would serve the purpose better. But I'm not sure we really want this. So that, I'm inclined to close this bug as NAI. Please, let me know about your opinion.
22-06-2019

Basic definition of linking - JVMS 5.4: "Linking a class or interface involves verifying and preparing that class or interface, its direct superclass, its direct superinterfaces, and its element type (if it is an array type), if necessary. Linking also involves resolution of symbolic references in the class or interface, though not necessarily at the same time as the class or interface is verified and prepared." So if that process encounters NCDFE it is correct to throw it. It seems to me that retransformClasses does not anticipate all of the possible errors that might occur during the transformation. That really only leaves the generic JVMTI_ERROR_INTERNAL to be used as an error indicator. Though potentially you might be able to use JVMTI_INVALID_CLASS - as arguably a reference to a non-existent type makes the class "invalid". It would be interesting to see exactly how the retransformed class refers to the missing types.
17-06-2019

Above comment lists some classes at which retransformation the JVMTI_ERROR_INTERNAL code was returned. This happened if the java/lang/NoClassDefFoundError is thrown at the class link time. (see above: the_class->link_class(THREAD);) It means that retransformation of these classes was not valid. I'm not sure, what error code should the JVMTI return instead. I temporarily move this bug to the hotspot/runtime sub-component for initial evaluation of this issue. The question is if throwing the java/lang/NoClassDefFoundError by the link_class() is correct. Please, feel free to move it back to the hotspot/jvmti sub-component if needed.
15-06-2019

Some details for this failure. The problem is the JVMTI RetransformClasses returns error code JVMTI_ERROR_INTERNAL (which is mapped to the java.lang.InternalError on the java.lang.instrument level in JPLISAgent.c. The JVMTI_ERROR_INTERNAL code is returned in the VM_RedefineClasses::load_new_class_versions(). The fragment is: // Ensure class is linked before redefine if (!the_class->is_linked()) { the_class->link_class(THREAD); if (HAS_PENDING_EXCEPTION) { Symbol* ex_name = PENDING_EXCEPTION->klass()->name(); log_info(redefine, class, load, exceptions)("link_class exception: '%s'", ex_name->as_C_string()); printf("MYTRACE: VM_RedefineClasses #2: thrown %s\n", ex_name->as_C_string()); fflush(0); printf("MYTRACE: VM_RedefineClasses #2: class: %s\n", the_class->name()->as_C_string()); fflush(0); CLEAR_PENDING_EXCEPTION; if (ex_name == vmSymbols::java_lang_OutOfMemoryError()) { return JVMTI_ERROR_OUT_OF_MEMORY; } else { return JVMTI_ERROR_INTERNAL; <= !!!!!!!!!!!!!!!!!!! } } } This fragment always prints this error: MYTRACE: VM_RedefineClasses #2: thrown java/lang/NoClassDefFoundError The following class definitions have not been found: MYTRACE: VM_RedefineClasses #2: class: org/springframework/web/multipart/commons/CommonsMultipartResolver MYTRACE: VM_RedefineClasses #2: class: org/springframework/web/multipart/commons/CommonsFileUploadSupport MYTRACE: VM_RedefineClasses #2: class: org/springframework/boot/autoconfigure/cache/RedisCacheConfiguration MYTRACE: VM_RedefineClasses #2: class: org/springframework/boot/autoconfigure/cache/JCacheCacheConfiguration MYTRACE: VM_RedefineClasses #2: class: org/springframework/boot/autoconfigure/cache/InfinispanCacheConfiguration MYTRACE: VM_RedefineClasses #2: class: org/springframework/boot/autoconfigure/jdbc/HikariDriverConfigurationFailureAnalyzer MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/dependencies/collect/internal/Maven30DependencyCollector MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/repository/internal/Maven302RepositoryManager MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResolver MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/repository/internal/Maven30RepositoryManager MYTRACE: VM_RedefineClasses #2: class: org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer . . . I don't know yet why the java/lang/NoClassDefFoundError is thrown at the class link time (in the call: the_class->link_class(THREAD)).
15-06-2019

Okey, now I see the java.lang.InternalError stack traces for the retransformClasses: java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535)
04-06-2019

Thanks for the help, Fairoz. The Maven proxy setup helped. I was able to launch spring Boot application now and run the command "mvn test" in a separate console. I'm using the JDK 11.0.2 bits. It results in a build failure with the following error log: [ERROR] Errors: [ERROR] InstrumentationDemoApplicationTests.test:25 » AgentInitialization Agent JAR lo... [INFO] [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:38 min [INFO] Finished at: 2019-06-04T16:00:27-07:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project jdk11-demo: There are test failures. [ERROR] [ERROR] Please refer to /scratch/sspitsyn/instrumentation-bug-demo/jdk11-demo/target/surefire-reports for the individual test results. [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException Was this expected?
04-06-2019

Ok, let me try with my local copy. I will upload it to bug.
04-06-2019

I'm going to close this issue as incomplete. A better instruction is needed to reproduce this problem.
04-06-2019

[~fmatte] Fairoz, could you, please, provide the instructions on how to install maven on the system? In particular, what version is expected? I've installed 3.6.1. Is it the expected version? Then, it does not work in the VPN'ed network. I'm getting the errors: mvn clean package -DskipTests spring-boot:run [INFO] Scanning for projects... Downloading from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.1.3.RELEASE/spring-boot-starter-parent-2.1.3.RELEASE.pom [ERROR] [ERROR] Some problems were encountered while processing the POMs: [FATAL] Non-resolvable parent POM for instrumentation-bug-demo:jdk11-demo:0.0.1-SNAPSHOT: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.1.3.RELEASE from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.188.215] failed: Connection timed out (Connection timed out) and 'parent.relativePath' points at no local POM @ line 5, column 10 @ [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project instrumentation-bug-demo:jdk11-demo:0.0.1-SNAPSHOT (/scratch/sspitsyn/instrumentation-bug-demo/jdk11-demo/pom.xml) has 1 error [ERROR] Non-resolvable parent POM for instrumentation-bug-demo:jdk11-demo:0.0.1-SNAPSHOT: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.1.3.RELEASE from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.188.215] failed: Connection timed out (Connection timed out) and 'parent.relativePath' points at no local POM @ line 5, column 10 -> [Help 2] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
04-06-2019

Steps to follow == git clone https://github.com/ybulatnikov/instrumentation-bug-demo cd instrumentation-bug-demo/jdk11-demo export JAVA_HOME=.. mvn clean package -DskipTests spring-boot:run After Spring Boot applications started, execute command in separate console: mvn test
18-03-2019

Same issue is observed on JDK 12 and JDK 13 ea releases
18-03-2019

Below is the error observed on 11.0.2 == java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) java.lang.InternalError at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167) at demo.InstrumentationDemoApplication.lambda$agentmain$0(InstrumentationDemoApplication.java:29) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at demo.InstrumentationDemoApplication.agentmain(InstrumentationDemoApplication.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:535) Exception in thread "Attach Listener" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(Unknown Source) Caused by: java.lang.RuntimeException: Too many exceptions: java.lang.InternalError: NULL message : transforming class: org.springframework.web.multipart.commons.CommonsMultipartResolver java.lang.InternalError: NULL message : transforming class: org.springframework.web.multipart.commons.CommonsFileUploadSupport java.lang.InternalError: NULL message : transforming class: org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration java.lang.InternalError: NULL message : transforming class: org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration java.lang.InternalError: NULL message : transforming class: org.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration java.lang.InternalError: NULL message : transforming class: org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.dependencies.collect.internal.Maven30DependencyCollector java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.dependencies.resolve.internal.Maven30DependencyResolver java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.repository.internal.Maven302RepositoryManager java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.repository.internal.Maven30RepositoryManager java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.artifact.resolve.internal.Maven30ArtifactResolver java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.artifact.install.internal.Maven30ArtifactInstaller java.lang.InternalError: NULL message : transforming class: org.apache.maven.shared.transfer.artifact.deploy.internal.Maven30ArtifactDeployer at demo.InstrumentationDemoApplication.agentmain(Unknown Source) ... 6 more Agent failed to start!
18-03-2019