OpenJDK builds fail
As all three are blocked by the same issue and I need support in getting them running, I think an issue is a better place to track and discuss the problem.
Here's what I've found out so far:
- The builds for openjdk ran fine when we moved them to community (I think for 3.10 release)
- Now, every new build of the openjdk[9-13] fails
- On my machine it works flawless, the error only occurs on the builders
- sched_getaffinity() is a standard function to determine how many cpus the application may run ( https://linux.die.net/man/2/sched_getaffinity )
- The function sets errno=EINVAL, if "The affinity bit mask mask contains no processors that are currently physically on the system and permitted to the process according to any restrictions that may be imposed by the "cpuset" mechanism described in cpuset(7)."
When the configure script for an OpenJDK build runs, it checks that a boot jdk is present. This check includes calling the java-compiler with the --version option to check if this version is supported. This output is then parsed by a m4-script (https://github.com/openjdk/jdk11u/blob/jdk-11.0.5-ga/make/autoconf/boot-jdk.m4). And this parsing fails as (on the builders) a warning is issued about sched_getaffinity() failing:
warning: sched_getaffinity failed (Invalid argument)- using online processor count (128) which may exceed available processors
The warning is print out in the else block of this statement: https://github.com/openjdk/jdk11u/blob/jdk-11.0.5-ga/src/hotspot/os/linux/os_linux.cpp#L5338
So, I have no idea whats wrong with the builders for that function call to fail. I've checked the code and it looks good to me. Anyone got time to look into this?
- Is it just the builders?
- Will it work fine once you accept the MR?
- Should I patch the m4-Script to ignore the warning?
- Should I patch the m4-Script and remove the whole bootJDK-check-stuff (and explicitly specify a boot-jdk)?
- Should I patch the os_linux.cpp to print out the warning with trace-level (remove it)?