JDK-8316595 : Alpine build fails after JDK-8314021
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 22
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: generic
  • Submitted: 2023-09-20
  • Updated: 2023-09-25
  • Resolved: 2023-09-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.
JDK 22
22 masterFixed
Related Reports
Relates :  
Description
JDK-8314021 causes build errors on Linux Alpine/musl (Linux ALPINE 3.17.4 gcc12.2.1):

/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp: In static member function 'static jlong os::Linux::sendfile(int, int, jlong*, jlong)':
/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp:4375:7: error: infinite recursion detected [-Werror=infinite-recursion]
 4375 | jlong os::Linux::sendfile(int out_fd, int in_fd, jlong* offset, jlong count) {
      | ^~
/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp:4376:20: note: recursive call
 4376 | return sendfile64(out_fd, in_fd, (off64_t*)offset, (size_t)count);

On Alpine Linux 3.17.4 we have just this definition for sendfile64 :
sys/sendfile.h:11:ssize_t sendfile(int, int, off_t *, size_t);
sys/sendfile.h:14:#define sendfile64 sendfile

So it would be better to use ::sendfile directly.
Comments
Changeset: 378bcd59 Author: Matthias Baesken <mbaesken@openjdk.org> Date: 2023-09-21 12:24:51 +0000 URL: https://git.openjdk.org/jdk/commit/378bcd5985c6993c0239fcc49ae66ededd3b465c
21-09-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/15843 Date: 2023-09-20 14:46:21 +0000
20-09-2023