Bug 65527 - Tomcat 8.5.70 build fails
Summary: Tomcat 8.5.70 build fails
Status: RESOLVED FIXED
Alias: None
Product: Tomcat 8
Classification: Unclassified
Component: Packaging (show other bugs)
Version: 8.5.70
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ----
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-30 08:53 UTC by Alexander Veit
Modified: 2021-08-31 07:21 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Veit 2021-08-30 08:53:38 UTC
Tomcat 8.5.70 build fails with exception

build.xml:1421: java.lang.RuntimeException: last modification time '1628167800000' is too big ( > 8589934591 )
	at org.apache.tools.tar.TarOutputStream.failForBigNumber(TarOutputStream.java:599)
	at org.apache.tools.tar.TarOutputStream.failForBigNumber(TarOutputStream.java:590)
	at org.apache.tools.tar.TarOutputStream.failForBigNumbers(TarOutputStream.java:578)
	at org.apache.tools.tar.TarOutputStream.putNextEntry(TarOutputStream.java:299)
	at org.apache.tools.ant.taskdefs.Tar.tarResource(Tar.java:504)
	at org.apache.tools.ant.taskdefs.Tar.tarFile(Tar.java:378)
	at org.apache.tools.ant.taskdefs.Tar.tar(Tar.java:695)
	at org.apache.tools.ant.taskdefs.Tar.execute(Tar.java:341)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
	at org.apache.tools.ant.Main.runBuild(Main.java:830)
	at org.apache.tools.ant.Main.startAnt(Main.java:223)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

The reason is an improper timestamp literal, introduced with tag 8.5.70 commit 3d2e8b196, which has too many trailing zeroes.

https://github.com/apache/tomcat/commit/3d2e8b1964d4dff3c0656618edc0b09d0d5634b8#diff-b62863571bd045ee04f5a84b5895a5160f4d3392a10d167f477d1c0c782fb3d8R36
Comment 1 Mark Thomas 2021-08-30 10:02:31 UTC
Just set ant.timesramp.now=not.a.number in build.properties to build from the 8.5.70 tag

This change was only in the tag so no change is required in 8.5.x
Comment 2 Konstantin Kolinko 2021-08-30 10:07:10 UTC
What is your version of Apache Ant?


According to META-INF/MANIFEST.MF files, the release was built with
Ant-Version: Apache Ant 1.9.16

The files (*.jar and *.class) in apache-tomcat-8.5.70.zip have a consistent timestamp of 2021-08-09 16:17:14, so apparently the value of ant.tstamp.now was ignored.

The value of ant.tstamp.now in build.properties.default in the source archive (apache-tomcat-8.5.70-src.zip) is the same as in the git commit that was referenced earlier.

[[[
# 2021-08-05 08:50:00 -0400 = 1628167800000
ant.tstamp.now=1628167800000
]]]

Documentation for tstamp task of Apache Ant:
https://ant.apache.org/manual-1.9.x/Tasks/tstamp.html
https://ant.apache.org/manual/Tasks/tstamp.html
Comment 3 Konstantin Kolinko 2021-08-30 11:05:39 UTC
I added a comment to the build.properties.default file (in main, 10.0.x, 9.0.x and 8.5.x branches of Apache Tomcat) and amended "ReleaseProcess" page on the wiki.
Comment 4 Alexander Veit 2021-08-31 07:21:17 UTC
The Ant version used was 1.10.7.