Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial problem listing for Windows ARM64 #4155

Open
joe-braley opened this issue Nov 17, 2022 · 6 comments
Open

Initial problem listing for Windows ARM64 #4155

joe-braley opened this issue Nov 17, 2022 · 6 comments
Assignees

Comments

@joe-braley
Copy link
Contributor

joe-braley commented Nov 17, 2022

Please let me know if this should be broken up into separate GitHub issues!

Initial problem listing for Window AArch64 for JDK11 and JDK17:

- JDK11u:
    - tools/jlink/plugins/VendorInfoPluginsTest.java 
    - jdk/jfr/jvm/TestDumpOnCrash.java
    - java/lang/ProcessBuilder/Basic.java#id0
    - java/lang/ProcessBuilder/PipelineTest.java
    - jdk\sun\tools\jhsdb\JShellHeapDumpTest.java
- JDK17u:
    - jdk/jfr/event/runtime/TestDumpReason.java
    - jdk/jfr/event/runtime/TestShutdownEvent.java
    - jdk/jfr/jvm/TestDumpOnCrash.java
    - java/foreign/valist/VaListTest.java
    - java/foreign/malloc/TestMixedMallocFree.java
    - java/foreign/TestNative.java
    - java/foreign/TestVarArgs.java
    - java/foreign/StdLibTest.java

With respect to java/foreign/* tests there is ongoing work to update the foreign function and memory API to work with Windows ARM64 so I believe that Temurin might be affected by these tests as well.

Example output:

**JDK11**

Test: tools/jlink/plugins/VendorInfoPluginsTest.java
Reasoning: Expecting strings from stdout. Might be a possible port issue.
Output:
java.lang.RuntimeException: '^# +https://bugs.xyzzy.com/crash/$' missing from stdout 
  at jdk.test.lib.process.OutputAnalyzer.stdoutShouldMatch(OutputAnalyzer.java:300)
  at VendorInfoPluginsTest.main(VendorInfoPluginsTest.java:101)
  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 com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:312)
  at java.base/java.lang.Thread.run(Thread.java:829)
-------------

Test: jdk/jfr/jvm/TestDumpOnCrash.java
Reasoning: May be related to other Windows ARM64 bugs where strings are not printed when exceptions are encountered.
Output:
java.lang.RuntimeException: No emergency jfr recording file C:\cygwin\home\....\aqa-tests\TKG\output_16681913139896\jdk_jfr_0\work\scratch\1\hs_err_pid14644.jfr exists: expected true, was false
  at jdk.test.lib.Asserts.fail(Asserts.java:594)
  at jdk.test.lib.Asserts.assertTrue(Asserts.java:486)
-------------

Test: java/lang/ProcessBuilder/Basic.java#id0
Reasoning: String contents contain extra characters. Might be a possible port issue. 
Output:
STDERR:
>'PROCESSOR_ARCHITECTURE=ARM64,SystemRoot=C:\WINDOWS,'< not equal to 'SystemRoot=C:\WINDOWS,'
-------------

Test: java/lang/ProcessBuilder/PipelineTest.java
Reasoning: Expecting "Stream should have been a NullStreamgetErrorStream"
Output:
TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.AssertionError: Some tests failed
Stream should have been a NullStreamgetErrorStream
---------------

Test: jdk\sun\tools\jhsdb\JShellHeapDumpTest.java
Reasoning: Might be related to this bug https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8228625 and https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8230731.
Output:
java.lang.RuntimeException: Test ERROR java.lang.RuntimeException: 'JShellToolProvider' missing from stdout/stderr
  at JShellHeapDumpTest.printStackTraces(JShellHeapDumpTest.java:105)
  at JShellHeapDumpTest.testHeapDump(JShellHeapDumpTest.java:122)
  at JShellHeapDumpTest.main(JShellHeapDumpTest.java:153)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

**JDK17**

Test: jdk/jfr/event/runtime/TestDumpReason.java
Reasoning: May be related to other Windows ARM64 bugs where strings are not printed when exceptions are encountered.
Output:
java.lang.Exception: 3 attempts with failure!
  at jdk.jfr.event.runtime.TestDumpReason.test(TestDumpReason.java:87)
  at jdk.jfr.event.runtime.TestDumpReason.main(TestDumpReason.java:66)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
  at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
  at java.base/java.lang.Thread.run(Thread.java:833)
-------------

Test: jdk/jfr/event/runtime/TestShutdownEvent.java
Reasoning: May be related to other Windows ARM64 bugs where strings are not printed when exceptions are encountered.
Output:
Execution failed: `main' threw exception: java.io.IOException: Not a valid Flight Recorder file. File length is only 0 bytes.
-------------

Test: jdk/jfr/jvm/TestDumpOnCrash.java
Reasoning: May be related to other Windows ARM64 bugs where strings are not printed when exceptions are encountered.
Output:
==================================
Attempt 2. Verification failed:
No emergency jfr recording file C:\cygwin\...\aqa-tests\TKG\output_16681841155913\jdk_jfr_1\work\scratch\1\hs_err_pid11336.jfr exists: expected true, was false
Retrying...
STDERR:
java.lang.Exception: 3 attempts with failure!
-------------

Test: java/foreign/valist/VaListTest.java
Reasoning: Foreign API is not enabled on these platforms in our build. Work in progress to get these enabled.
Output:
java.lang.AssertionError: expected [12.0] but found [2.8137679358465E-311]
  at org.testng.Assert.fail(Assert.java:99)
  at org.testng.Assert.failNotEquals(Assert.java:1037)
  at org.testng.Assert.assertEquals(Assert.java:701)
  at org.testng.Assert.assertEquals(Assert.java:712)
  at VaListTest.testDoubleSum(VaListTest.java:191)
-------------

Test: java/foreign/malloc/TestMixedMallocFree.java
Reasoning: Foreign API is not enabled on these platforms in our build. Work in progress to get these enabled.
Output:
Caused by: java.lang.NullPointerException: Cannot invoke "jdk.internal.loader.NativeLibrary.lookup(String)" because "lib" is null
  at jdk.incubator.foreign/jdk.internal.foreign.SystemLookup.lambda$libLookup$7(SystemLookup.java:92)
  at jdk.incubator.foreign/jdk.internal.foreign.SystemLookup.lookup(SystemLookup.java:103)
  at jdk.incubator.foreign/jdk.internal.foreign.abi.SharedUtils$AllocHolder.<clinit>(SharedUtils.java:442)
-------------

Test: java/foreign/TestNative.java
Reasoning: Foreign API is not enabled on these platforms in our build. Work in progress to get these enabled.
Output:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.foreign.abi.SharedUtils$AllocHolder
  at jdk.incubator.foreign/jdk.internal.foreign.abi.SharedUtils.allocateMemoryInternal(SharedUtils.java:469)
  .. 36 more
-------------

Test: java/foreign/TestVarArgs.java
Reasoning: Foreign API is not enabled on these platforms in our build. Work in progress to get these enabled.
Output:
test TestVarArgs.testVarArgs(java.util.ImmutableCollections$ListN@11b401d7): success
test TestVarArgs.testVarArgs(java.util.ImmutableCollections$ListN@6a94694d): failure
java.lang.AssertionError: expected [5.0] but found [0.0]
  at org.testng.Assert.fail(Assert.java:99)
  at org.testng.Assert.failNotEquals(Assert.java:1037)
  at org.testng.Assert.assertEqualsImpl(Assert.java:140)
  at org.testng.Assert.assertEquals(Assert.java:122)
-------------

Test: java/foreign/StdLibTest.java
Reasoning: Foreign API is not enabled on these platforms in our build. Work in progress to get these enabled.
Output:
org.testng.TestNGException: 
    Cannot instantiate class StdLibTest
  at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
  at org.testng.internal.InstanceCreator.instantiateUsingDefaultConstructor(InstanceCreator.java:193)
  at org.testng.internal.InstanceCreator.createInstanceUsingObjectFactory(InstanceCreator.java:113)
  at org.testng.internal.InstanceCreator.createInstance(InstanceCreator.java:79)
...

tentative-microsoft-excludes.zip

@joe-braley
Copy link
Contributor Author

Adding to JDK17. These are issues with both 11 and 17 and fail in the same way.

java/lang/ProcessBuilder/PipelineTest.java
tools/jlink/plugins/VendorInfoPluginsTest.java

@d3r3kk
Copy link
Contributor

d3r3kk commented Aug 17, 2023

@sophia-guo and @smlambert will this be possible for us to use and still get into the marketplace? We're coming in very late already, and this is the last set of blockers we have to get the TAP files required to pass...

@smlambert
Copy link
Contributor

smlambert commented Aug 17, 2023

@d3r3kk - yes, the small set of remaining failing testcases can be excluded to get a clean run. Exclusions are permitted / expected, especially with new platforms as issues typically need to be worked out (and since exclusions are open, transparent and searchable), this is not a blocker for adding this platform into the marketplace

I should also mention, since these exclusions are not vendor specific, they do not need to be held in the vendor exclude files, but can be added to the common ProblemList files.

@d3r3kk
Copy link
Contributor

d3r3kk commented Aug 17, 2023

Ah ok, thank you @smlambert for the clarity!

@Luigi96
Copy link
Contributor

Luigi96 commented Jan 31, 2024

These are the tests included on JDK21 for Windows ARM64:


- java/lang/Thread/virtual/stress/PingPong.java#ltq
- sun/tools/jhsdb/JShellHeapDumpTest.java
- sun/tools/jhsdb/HeapDumpTest.java
- sun/tools/jhsdb/JShellHeapDumpTest.java
- tools/jlink/plugins/VendorInfoPluginsTest.java
- jdk/jfr/event/runtime/TestDumpReason.java
- jdk/jfr/event/runtime/TestShutdownEvent.java
- jdk/jfr/jvm/TestDumpOnCrash.java

@Luigi96
Copy link
Contributor

Luigi96 commented May 16, 2024

For April 2024 PSU we problemlisted two more test for Windows ARM64 JDK21:

- java/lang/Thread/virtual/stress/PingPong.java#sq
- java/lang/ProcessBuilder/Basic.java#id0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

5 participants