JDK-8373983 : java/util/Locale/UseOldISOCodesTest.java fails with JTREG_AOT_JDK=onestep
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 27
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-12-18
  • Updated: 2025-12-21
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.
Other
tbdUnresolved
Related Reports
Causes :  
Relates :  
Description
In tier5, we run JDK tests in AOT mode like this:

make test TEST=open/test/jdk/:jdk_util TEST_OPTS_JAVA_OPTIONS=-XX:+AOTClassLinking -XX:+UseZGC JTREG_KEYWORDS="!headful" JTREG_AOT_JDK=onestep JTREG_EXTRA_PROBLEM_LISTS=ProblemList-AotJdk.txt

The following test fail:

----------System.err:(29/1576)----------
[07:59:27.607] STARTED    UseOldISOCodesTest::testUseOldISOCodes 'testUseOldISOCodes()'

 stdout: [];
 stderr: []
 exitValue = 0

java.lang.RuntimeException: 'WARNING: The system property "java.locale.useOldISOCodes" is no longer supported. Any specified value will be ignored.' missing from stderr
	at jdk.test.lib.process.OutputAnalyzer.stderrShouldMatch(OutputAnalyzer.java:439)
	at UseOldISOCodesTest.testUseOldISOCodes(UseOldISOCodesTest.java:47)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
[07:59:28.979] FAILED     UseOldISOCodesTest::testUseOldISOCodes 'testUseOldISOCodes()' [1371ms]
JavaTest Message: JUnit Platform Failure(s): 1

[ JUnit Containers: found 4, started 4, succeeded 4, failed 0, aborted 0, skipped 0]
[ JUnit Tests: found 1, started 1, succeeded 0, failed 1, aborted 0, skipped 0]

java.lang.Exception: JUnit test failure
	at com.sun.javatest.regtest.agent.JUnitRunner.runWithJUnitPlatform(JUnitRunner.java:156)
	at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:110)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:335)
	at java.base/java.lang.Thread.run(Thread.java:1516)

JavaTest Message: Test threw exception: java.lang.Exception
JavaTest Message: shutting down test

Comments
This is caused by JDK-8373392 skipping static initializer of BaseLocale. [~naoto] if you think this message is necessary for execution where AOT cache is trained, we need to move this check to an AOTRuntimeSetup method.
19-12-2025

The message testing was introduced with JDK-8355522
18-12-2025