Using DCEVM image in existing java-11-openjdk
Find out libjvm.so inder directory lib/server/ and copy it to existing jdk-11 to directory lib/dcevm, dcevm directory must be at the same level as folder server/ with system JVM. All should work as you are used to from dcevm8.
but this obviously does not work for any combination of dcevm and openjdk11 versions - I've just tried following combinations:
coretto openjdk 11.0.9.1 and latest trava build dcevm-11.0.11+1 - jvm does start, but there are lots of exceptions when I try to hotswap anything, usually something like this:
HOTSWAP AGENT: 15:11:15.164 ERROR (org.hotswap.agent.util.HotswapTransformer) - Error transforming class 'org/springframework/beans/factory/support/DefaultListableBeanFactory'.
java.lang.NoClassDefFoundError: Could not initialize class org.hotswap.agent.util.classloader.URLClassLoaderHelper
coretto openjdk 11.0.9.1 with libjvm.so from dcevm-11.0.9+1 and it was even worse, jvm refused to start:
[0.017s][error][class] Name nativeParkEventPointer should be in the SymbolTable since its class is loaded
Error occurred during initialization of VM
Invalid layout of well-known class: java.lang.Thread
coretto openjdk 11.0.11+9 with dcevm-11.0.11+1 crashes at startup too.
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (classLoader.cpp:1217), pid=16, tid=17
# guarantee(JImageResourcePath != NULL) failed: function JIMAGE_ResourcePath not found
So my question is what are the prerequisites for copying dcevm binary to some existing openjdk installation?
Is this only allowed for adoptjdk distributions that exactly match version with trava-jdk-11-dcevm release?
Could you share any hints on what steps would be required to add dcevm support to some arbitrary openjdk11 version like coretto
Readme.md says:
but this obviously does not work for any combination of dcevm and openjdk11 versions - I've just tried following combinations:
coretto openjdk 11.0.9.1 and latest trava build dcevm-11.0.11+1 - jvm does start, but there are lots of exceptions when I try to hotswap anything, usually something like this:
coretto openjdk 11.0.9.1 with libjvm.so from dcevm-11.0.9+1 and it was even worse, jvm refused to start:
coretto openjdk 11.0.11+9 with dcevm-11.0.11+1 crashes at startup too.
So my question is what are the prerequisites for copying dcevm binary to some existing openjdk installation? Is this only allowed for adoptjdk distributions that exactly match version with trava-jdk-11-dcevm release?
Could you share any hints on what steps would be required to add dcevm support to some arbitrary openjdk11 version like coretto