JDK-8286540 : Build failure caused by missing DefaultPollerProvider implementation on AIX
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.nio
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: aix
  • CPU: ppc
  • Submitted: 2022-05-10
  • Updated: 2022-06-03
  • Resolved: 2022-05-11
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 19
19 b22Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Attempting to build the current jdk master on AIX halts at:

* For target jdk_modules_java.base__the.java.base_batch:
/home/hotspot/openjdk/jdk-fork/src/java.base/share/classes/sun/nio/ch/PollerProvider.java:67: error: cannot find symbol
            return new DefaultPollerProvider();
                       ^
  symbol:   class DefaultPollerProvider
  location: class PollerProvider

Possible implementations for DefaultPollerProvider are given by:

- src/java.base/linux/classes/sun/nio/ch/DefaultPollerProvider.java
- src/java.base/macosx/classes/sun/nio/ch/DefaultPollerProvider.java
- src/java.base/windows/classes/sun/nio/ch/DefaultPollerProvider.java
 
However, none of the libraries or kernel modules used (epoll, kqueue, wepoll) by these implementations are available on AIX out of the box.
Comments
Richard Reingruber is working to get ppc64 ports to work, see JDK-8286446 and JDK-8286302.
03-06-2022

Changeset: 46a775af Author: Tyler Steele <tsteele@openjdk.org> Committer: Alan Bateman <alanb@openjdk.org> Date: 2022-05-11 18:48:40 +0000 URL: https://git.openjdk.java.net/jdk/commit/46a775af11bce4bc780b5f85e0cd2f648dee1d03
11-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8658 Date: 2022-05-11 16:52:44 +0000
11-05-2022

Thanks for the head's up :-)
11-05-2022

The Pollset implementation seems to be the most straightforward of the changes required. What is proving more difficult are the calls to 'unimplemented()' and the other assertions added by the change which break the build in subtle ways. These will have to be found and fixed before the project can be built on AIX again.
10-05-2022

The port of JEP 425 to AIX will probably need a pollset implementation of Poller.
10-05-2022