[ 
https://issues.apache.org/jira/browse/CASSANDRA-18616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ekaterina Dimitrova updated CASSANDRA-18616:
--------------------------------------------
    Test and Documentation Plan: 
Minimal patch similar to what we did in the past to enable the in-jvm tests 
with Java 17. 

JDK 17 simulator tests also adding and passing in CircleCI.

I have only one concern. We never tested JDK8 build with JDK11 tests runtime 
but I tested locally that those pass.

Now with the current patch JDK11 build with JDK17 runtime - all tests but one 
pass.  

This is the error that I got locally:

 
{code:java}
[junit-timeout] Testcase: 
selfReconcileTest(org.apache.cassandra.simulator.test.ShortPaxosSimulationTest)-.jdk17:SKIPPED:
 fails due to OOM DirectMemory - unclear why
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-.jdk17
[junit-timeout] #
[junit-timeout] # A fatal error has been detected by the Java Runtime 
Environment:
[junit-timeout] #
[junit-timeout] #  SIGSEGV (0xb) at pc=0x0000000101d2e6e5, pid=13776, tid=27907
[junit-timeout] #
[junit-timeout] # JRE version: Java(TM) SE Runtime Environment (17.0.4.1+1) 
(build 17.0.4.1+1-LTS-2)
[junit-timeout] # Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.4.1+1-LTS-2, 
mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
[junit-timeout] # Problematic frame:
[junit-timeout] # V  [libjvm.dylib+0x5086e5]  
java_lang_String::create_from_symbol(Symbol*, JavaThread*)+0x15
[junit-timeout] #
[junit-timeout] # No core dump will be written. Core dumps have been disabled. 
To enable core dumping, try "ulimit -c unlimited" before starting Java again
[junit-timeout] #
[junit-timeout] # An error report file with more information is saved as:
[junit-timeout] # /cassandra/hs_err_pid13776.log
[junit-timeout] #
[junit-timeout] # If you would like to submit a bug report, please visit:
[junit-timeout] #   https://bugreport.java.com/bugreport/crash.jsp
[junit-timeout] #
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-cassandra.testtag_IS_UNDEFINED
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-cassandra.testtag_IS_UNDEFINED
 Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec
[junit-timeout] 
[junit-timeout] Testcase: 
org.apache.cassandra.simulator.test.TrivialSimulationTest:trivialTest-cassandra.testtag_IS_UNDEFINED:
 Caused an ERROR
[junit-timeout] Forked Java VM exited abnormally. Please note the time in the 
report does not reflect the time until the VM exit.
[junit-timeout] junit.framework.AssertionFailedError: Forked Java VM exited 
abnormally. Please note the time in the report does not reflect the time until 
the VM exit.
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at java.base/java.util.Vector.forEach(Vector.java:1365)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at java.base/java.util.Vector.forEach(Vector.java:1365)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{code}
 

I found below in the mentioned log:

 
{code:java}
Internal exceptions (20 events):
Event: 28.458 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca0ea7d0}: 'java.lang.Object 
java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, 
java.lang.Object, int)'> (0x00000007ca0ea7d0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.474 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca102020}: 'void 
java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, 
java.lang.Object, java.lang.Object, int)'> (0x00000007ca102020)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.518 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca178b28}: 'long 
java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(java.lang.Object, 
java.lang.Object)'> (0x00000007ca178b28)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.542 Thread 0x00007f79c7113400 Exception <a 
'java/lang/reflect/InvocationTargetException'\{0x00000007ca2c6440}> 
(0x00000007ca2c6440)
thrown [open/src/hotspot/share/runtime/reflection.cpp, line 1121]
Event: 28.949 Thread 0x00007f79c7113400 Implicit null exception at 
0x000000010d1bbee0 to 0x000000010d1bbf50
Event: 28.950 Thread 0x00007f79c7113400 Exception <a 
'java/lang/ClassNotFoundException'\{0x00000007ca4a8020}: 
com/google/common/http/Handler> (0x00000007ca4a8020)
thrown [open/src/hotspot/share/classfile/systemDictionary.cpp, line 256]
Event: 28.966 Thread 0x00007f79c7113400 Exception <a 
'java/lang/IncompatibleClassChangeError'\{0x00000007ca4d56a0}: Found class 
java.lang.Object, but interface was expected> (0x00000007ca4d56a0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 826]
Event: 29.632 Thread 0x00007f79c7113400 Implicit null exception at 
0x000000010cfed1af to 0x000000010cfef720
Event: 30.232 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007df0bda90}: 'int 
java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, 
java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000007df0bda90)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 32.295 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007df734ea0}: 'void 
java.lang.invoke.Invokers$Holder.invoke_MT(java.lang.Object, 
java.lang.Object)'> (0x00000007df734ea0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 32.819 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007dfc61f70}: 
'org.slf4j.impl.StaticMDCBinder org.slf4j.impl.StaticMDCBinder.getSingleton()'> 
(0x00000007dfc61f70)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
{code}
 

Any guidance here is welcome (not sure whether we even want to worry about this 
mixed mode considering JDK8 build plus JDK11 runtime was never even added 
before), my knowledge about the simulator is very low. [~benedict] , 
[~dcapwell] do you mind reviewing?

[PR|https://github.com/apache/cassandra/pull/2430], 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/2384/workflows/6cccb1f5-f926-4529-8f6c-ebca8e993503]
Note: most of the patch is circle ci noise. The actual simulator patch is 
somewhere at the bottom. 

  was:
Minimal patch similar to what we did in the past to enable the in-jvm tests 
with Java 17. 

JDK 17 simulator tests also adding and passing in CircleCI.

I have only one concern. We never tested JDK8 build with JDK11 tests run but I 
tested locally that those pass.

Now with the current patch JDK11 build with JDK17 runtime - all tests but one 
pass.  

This is the error that I got locally:

 
{code:java}
[junit-timeout] Testcase: 
selfReconcileTest(org.apache.cassandra.simulator.test.ShortPaxosSimulationTest)-.jdk17:SKIPPED:
 fails due to OOM DirectMemory - unclear why
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-.jdk17
[junit-timeout] #
[junit-timeout] # A fatal error has been detected by the Java Runtime 
Environment:
[junit-timeout] #
[junit-timeout] #  SIGSEGV (0xb) at pc=0x0000000101d2e6e5, pid=13776, tid=27907
[junit-timeout] #
[junit-timeout] # JRE version: Java(TM) SE Runtime Environment (17.0.4.1+1) 
(build 17.0.4.1+1-LTS-2)
[junit-timeout] # Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.4.1+1-LTS-2, 
mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
[junit-timeout] # Problematic frame:
[junit-timeout] # V  [libjvm.dylib+0x5086e5]  
java_lang_String::create_from_symbol(Symbol*, JavaThread*)+0x15
[junit-timeout] #
[junit-timeout] # No core dump will be written. Core dumps have been disabled. 
To enable core dumping, try "ulimit -c unlimited" before starting Java again
[junit-timeout] #
[junit-timeout] # An error report file with more information is saved as:
[junit-timeout] # /cassandra/hs_err_pid13776.log
[junit-timeout] #
[junit-timeout] # If you would like to submit a bug report, please visit:
[junit-timeout] #   https://bugreport.java.com/bugreport/crash.jsp
[junit-timeout] #
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-cassandra.testtag_IS_UNDEFINED
[junit-timeout] Testsuite: 
org.apache.cassandra.simulator.test.TrivialSimulationTest-cassandra.testtag_IS_UNDEFINED
 Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec
[junit-timeout] 
[junit-timeout] Testcase: 
org.apache.cassandra.simulator.test.TrivialSimulationTest:trivialTest-cassandra.testtag_IS_UNDEFINED:
 Caused an ERROR
[junit-timeout] Forked Java VM exited abnormally. Please note the time in the 
report does not reflect the time until the VM exit.
[junit-timeout] junit.framework.AssertionFailedError: Forked Java VM exited 
abnormally. Please note the time in the report does not reflect the time until 
the VM exit.
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at java.base/java.util.Vector.forEach(Vector.java:1365)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at java.base/java.util.Vector.forEach(Vector.java:1365)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit-timeout] at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown 
Source)
[junit-timeout] at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
{code}
 

I found below in the mentioned log:

 
{code:java}
Internal exceptions (20 events):
Event: 28.458 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca0ea7d0}: 'java.lang.Object 
java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, 
java.lang.Object, int)'> (0x00000007ca0ea7d0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.474 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca102020}: 'void 
java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, 
java.lang.Object, java.lang.Object, int)'> (0x00000007ca102020)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.518 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007ca178b28}: 'long 
java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(java.lang.Object, 
java.lang.Object)'> (0x00000007ca178b28)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 28.542 Thread 0x00007f79c7113400 Exception <a 
'java/lang/reflect/InvocationTargetException'\{0x00000007ca2c6440}> 
(0x00000007ca2c6440)
thrown [open/src/hotspot/share/runtime/reflection.cpp, line 1121]
Event: 28.949 Thread 0x00007f79c7113400 Implicit null exception at 
0x000000010d1bbee0 to 0x000000010d1bbf50
Event: 28.950 Thread 0x00007f79c7113400 Exception <a 
'java/lang/ClassNotFoundException'\{0x00000007ca4a8020}: 
com/google/common/http/Handler> (0x00000007ca4a8020)
thrown [open/src/hotspot/share/classfile/systemDictionary.cpp, line 256]
Event: 28.966 Thread 0x00007f79c7113400 Exception <a 
'java/lang/IncompatibleClassChangeError'\{0x00000007ca4d56a0}: Found class 
java.lang.Object, but interface was expected> (0x00000007ca4d56a0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 826]
Event: 29.632 Thread 0x00007f79c7113400 Implicit null exception at 
0x000000010cfed1af to 0x000000010cfef720
Event: 30.232 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007df0bda90}: 'int 
java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, 
java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000007df0bda90)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 32.295 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007df734ea0}: 'void 
java.lang.invoke.Invokers$Holder.invoke_MT(java.lang.Object, 
java.lang.Object)'> (0x00000007df734ea0)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
Event: 32.819 Thread 0x00007f79c7113400 Exception <a 
'java/lang/NoSuchMethodError'\{0x00000007dfc61f70}: 
'org.slf4j.impl.StaticMDCBinder org.slf4j.impl.StaticMDCBinder.getSingleton()'> 
(0x00000007dfc61f70)
thrown [open/src/hotspot/share/interpreter/linkResolver.cpp, line 759]
{code}
 

Any guidance here is welcome (not sure whether we even want to worry about this 
mixed mode considering JDK8 build plus JDK11 runtime was never even added 
before), my knowledge about the simulator is very low. [~benedict] , 
[~dcapwell] do you mind reviewing?

[PR|https://github.com/apache/cassandra/pull/2430], 
[CI|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/2384/workflows/6cccb1f5-f926-4529-8f6c-ebca8e993503]
Note: most of the patch is circle ci noise. The actual simulator patch is 
somewhere at the bottom. 


> Simulator Java 17 support
> -------------------------
>
>                 Key: CASSANDRA-18616
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18616
>             Project: Cassandra
>          Issue Type: Task
>          Components: Test/fuzz
>            Reporter: Ekaterina Dimitrova
>            Assignee: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 5.x
>
>
> Add Java 17 support for the simulator



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to