JDK-8158128 : regression: java/time/test/java/time/TestClock_System.java fails at test_OffsetRegular()
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.time
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Duplicate
  • Submitted: 2016-05-30
  • Updated: 2016-06-28
  • Resolved: 2016-06-24
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 9
9Resolved
Related Reports
Relates :  
Relates :  
Sub Tasks
JDK-8158254 :  
JDK-8160278 :  
Description
java/time/test/java/time/TestClock_System.java 

Observed test failed on solaris 12 (sparc). Looks like regression of 9-ea+120. (regression introduced by JDK-8023217?)
At the same machine, test fail with  9-ea+120 (and latest) but pass with  9-ea+119


----------System.out:(95/6789)----------
[TestNG] Running:
  java/time/test/java/time/TestClock_System.java


systemUTC #1            : 2016-05-28T02:45:30.267Z - seconds: 1464403530, nanos: 267000000
systemUTC #2            : 2016-05-28T02:45:30.267Z - seconds: 1464403530, nanos: 267000000
highestResolutionUTC #1 : 2016-05-28T02:45:30.267605Z - seconds: 1464403530, nanos: 267605000
highestResolutionUTC #2 : 2016-05-28T02:45:30.267608Z - seconds: 1464403530, nanos: 267608000

systemUTC            : 2016-05-28T02:45:30.305Z - seconds: 1464403530, nanos: 305000000
highestResolutionUTC : 2016-05-28T02:45:30.306142Z - seconds: 1464403530, nanos: 306142000

Number of time stamps which had better than millisecond precision: 1000/1000

systemUTC            : 2016-05-28T02:45:30.306Z - seconds: 1464403530, nanos: 306000000
highestResolutionUTC : 2016-05-28T02:45:30.307444Z - seconds: 1464403530, nanos: 307444000
test test.java.time.TestClock_System.test_ClockResolution(): success
*** Testing limits ***
test test.java.time.TestClock_System.test_OffsetLimits(): failure
java.lang.RuntimeException: System.currentTimeMillis()/1000 - MAX_OFFSET + 1: Invalid instant: 2016-05-28T02:45:30.315027Z (~1464403530315ms) when time in millis is in [1464403530314, 1464403530314] and offset in seconds is -2830563765
	at test.java.time.TestClock_System$SystemClockOffset.testWithOffset(TestClock_System.java:318)
	at test.java.time.TestClock_System$SystemClockOffset.testWithOffset(TestClock_System.java:305)
	at test.java.time.TestClock_System.test_OffsetLimits(TestClock_System.java:399)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
	at org.testng.SuiteRunner.run(SuiteRunner.java:240)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
	at org.testng.TestNG.run(TestNG.java:1057)
	at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:220)
	at jdk.internal.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:226)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)
*** Testing regular cases ***
test test.java.time.TestClock_System.test_OffsetRegular(): failure
java.lang.RuntimeException: System.currentTimeMillis()/1000: Invalid instant: 2016-05-28T02:45:30.357129Z (~1464403530357ms) when time in millis is in [1464403530356, 1464403530356] and offset in seconds is 1464403530
	at test.java.time.TestClock_System$SystemClockOffset.testWithOffset(TestClock_System.java:318)
	at test.java.time.TestClock_System$SystemClockOffset.testWithOffset(TestClock_System.java:305)
	at test.java.time.TestClock_System.test_OffsetRegular(TestClock_System.java:389)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
	at org.testng.SuiteRunner.run(SuiteRunner.java:240)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
	at org.testng.TestNG.run(TestNG.java:1057)
	at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:220)
	at jdk.internal.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:226)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)
test test.java.time.TestClock_System.test_systemUTC("Clock.systemUTC()#1", SystemClock[Z]): success
test test.java.time.TestClock_System.test_systemUTC("Clock.systemUTC()#2", SystemClock[Z]): success
test test.java.time.TestClock_System.test_systemUTC("Clock.system(ZoneOffset.UTC)#1", SystemClock[Z]): success
test test.java.time.TestClock_System.test_systemUTC("Clock.system(ZoneOffset.UTC)#2", SystemClock[Z]): success
test test.java.time.TestClock_System.test_toString(): success
test test.java.time.TestClock_System.test_withZone_same(): success

===============================================
java/time/test/java/time/TestClock_System.java
Total tests run: 9, Failures: 2, Skips: 0
===============================================

----------System.err:(11/626)----------
java.lang.Exception: failures: 2
	at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:223)
	at jdk.internal.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:226)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)


Comments
This issue is more likely to be caused by https://bugs.openjdk.java.net/browse/JDK-8154710 Investigate use of in-memory low-resolution timestamps for Java and internal time API'. Also introduced in b120 It was reversed by JDK-8157175 GetNanoTimeAdjustment.java fails with excessive adjustment error but it has not propagated from hs to master.
31-05-2016