Skip to content

Comments

Re-introduce man pages to docker images#135

Merged
bric3 merged 3 commits intomasterfrom
sarahchen6/change-26-ea-image
Feb 23, 2026
Merged

Re-introduce man pages to docker images#135
bric3 merged 3 commits intomasterfrom
sarahchen6/change-26-ea-image

Conversation

@sarahchen6
Copy link
Contributor

@sarahchen6 sarahchen6 commented Feb 19, 2026

Without the man pages, we get the following failure in dd-trace-java for the :dd-smoke-tests:java9-modules:test task:

Error: SHA-512 sum check failed!
java.lang.AssertionError: SHA-512 sum check failed!
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.shaSumMismatch(JRTArchive.java:279)
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.lambda$addNonClassResources$0(JRTArchive.java:227)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:635)
	at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:652)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:658)
	at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:663)
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.addNonClassResources(JRTArchive.java:245)
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.collectFiles(JRTArchive.java:164)
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.entries(JRTArchive.java:129)
	at jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.lambda$readAllEntries$0(ImageFileCreator.java:145)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.readAllEntries(ImageFileCreator.java:143)
	at jdk.jlink/jdk.tools.jlink.internal.ImageFileCreator.create(ImageFileCreator.java:124)
	at jdk.jlink/jdk.tools.jlink.internal.JlinkTask$ImageHelper.retrieve(JlinkTask.java:1036)
	at jdk.jlink/jdk.tools.jlink.internal.ImagePluginStack.operate(ImagePluginStack.java:194)
	at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImage(JlinkTask.java:504)
	at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:285)
	at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:50)
	at jdk.jlink/jdk.tools.jlink.internal.Main.main(Main.java:34)
Caused by: java.nio.file.NoSuchFileException: /usr/lib/jvm/25/man/man1/keytool.1
	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
	at java.base/sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:213)
	at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:244)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:357)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:399)
	at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:371)
	at java.base/java.nio.file.Files.newInputStream(Files.java:154)
	at jdk.jlink/jdk.tools.jlink.internal.JRTArchive.shaSumMismatch(JRTArchive.java:269)
	... 24 more

It's unclear what changes were made such that the Java 25 image specifically fails, though no other version image has the "missing" file and we are using the same image as before the errors appeared. Open to other suggestions for addressing this error as well!

Compared to the size of the current latest image (i.e. ghcr.io/datadog/dd-trace-java-docker-build@sha256:ce0228e284e908c93b9b7e5ea6f1111515345519e2408e52745e3e7a8e29a501 with "Size": 6697196033), this image (i.e. ghcr.io/datadog/dd-trace-java-docker-build:135_merge-latest with "Size": 6714064987) is 1.0025x larger.

The fix was tested here: DataDog/dd-trace-java#10626

@sarahchen6 sarahchen6 changed the title Test Java 26 image Re-introduce man pages to docker images Feb 20, 2026
@sarahchen6 sarahchen6 marked this pull request as ready for review February 20, 2026 19:44
@sarahchen6 sarahchen6 requested a review from bric3 February 20, 2026 19:44
Copy link
Contributor

@bric3 bric3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For information this can be checked with the following command

JDK=/usr/lib/jvm/25; rm -rf /tmp/jlink-repro; "$JDK/bin/jlink" --module-path "$JDK/jmods" --add-modules java.base --no-man-pages --output /tmp/jlink-repro

@bric3 bric3 merged commit cf4eb48 into master Feb 23, 2026
4 checks passed
@bric3 bric3 deleted the sarahchen6/change-26-ea-image branch February 23, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants