Bug 1213796

Summary: java-20-openjdk fails to compile in 2034
Product: [openSUSE] openSUSE Tumbleweed Reporter: Bernhard Wiedemann <bwiedemann>
Component: JavaAssignee: E-mail List <java-maintainers>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: fstrba
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: patch for java-21-openjdk

Description Bernhard Wiedemann 2023-07-31 05:22:01 UTC
While working on reproducible builds for openSUSE, I found that
our java-20-openjdk package fails to compile in 2034

to reproduce:
osc co openSUSE:Factory/java-20-openjdk && cd $_
osc build --clean --noservice -j1 --vm-type=kvm \
 --build-opt=--vm-custom-opt="-rtc base=2034-02-02T00:00:00" \
 standard x86_64


[  284s] /usr/lib64/jvm/java/bin/java -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1 -Duser.language=en -Duser.country=US  -XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=/home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/configure-support/classes.jsa -Xshare:auto  -cp /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/buildtools/jdk_tools_classes build.tools.generatecharacter.CharacterName /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/src/java.base/share/data/unicodedata/UnicodeData.txt /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/jdk/modules/java.base/java/lang/uniName.dat
[  284s] /usr/bin/rm -f /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/jdk/modules/java.base/java/util/currency.data
[  284s] /usr/lib64/jvm/java/bin/java -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1 -Duser.language=en -Duser.country=US  -XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=/home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/configure-support/classes.jsa -Xshare:auto  -cp /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/buildtools/jdk_tools_classes build.tools.generatecurrencydata.GenerateCurrencyData -o /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/jdk/modules/java.base/java/util/currency.data.tmp -i /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/src/java.base/share/data/currency/CurrencyData.properties
[  285s] Error: time is more than 10 years from present: 1672527600000
[  285s] java.lang.RuntimeException: time is more than 10 years from present: 1672527600000
[  285s]        at build.tools.generatecurrencydata.GenerateCurrencyData.makeSpecialCaseEntry(GenerateCurrencyData.java:315)
[  285s]        at build.tools.generatecurrencydata.GenerateCurrencyData.buildMainAndSpecialCaseTables(GenerateCurrencyData.java:254)
[  285s]        at build.tools.generatecurrencydata.GenerateCurrencyData.main(GenerateCurrencyData.java:185)
[  285s] gmake[3]: *** [Gendata.gmk:55: /home/abuild/rpmbuild/BUILD/jdk20u-jdk-20.0.1-9/build/jdk/modules/java.base/java/util/currency.data] Error 1
[  285s] gmake[2]: *** [make/Main.gmk:147: java.base-gendata] Error 2
Comment 1 Bernhard Wiedemann 2023-07-31 10:43:47 UTC
2032-12-29 seems to be the first bad day.

The "present" timestamp is 2022-12-31T23:00:00 UTC
Comment 2 Bernhard Wiedemann 2023-12-04 07:56:01 UTC
Created attachment 871120 [details]
patch for java-21-openjdk