RFR: 8260304: (se) EPollSelectorImpl wakeup mechanism broken on Linux 32-bit

Aleksey Shipilev shade at openjdk.java.net
Fri Jan 22 17:00:54 UTC 2021


This readily manifests in GH Actions testing, for example:
 https://github.com/shipilev/jdk/runs/1748754939

Reproducible locally with:

$ CONF=linux-x86-server-fastdebug make images run-test TEST=sun/misc/JarIndex/metaInfFilenames/Basic.java
...
Caused by: java.io.IOException: Invalid argument
at java.base/sun.nio.ch.EventFD.set0(Native Method)
at java.base/sun.nio.ch.EventFD.set(EventFD.java:48)
at java.base/sun.nio.ch.EPollSelectorImpl.wakeup(EPollSelectorImpl.java:251)

The failure is obvious when you look at the code: `long` should be `uint64_t`.

Additional testing:
 - [x] Failing test on Linux x86_32 (now passes)
 - [x] Failing test on Linux x86_64 (still passes)

-------------

Commit messages:
 - 8260304: (se) EPollSelectorImpl wakeup mechanism broken on Linux 32-bit

Changes: https://git.openjdk.java.net/jdk/pull/2196/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2196&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260304
  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2196.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2196/head:pull/2196

PR: https://git.openjdk.java.net/jdk/pull/2196


More information about the nio-dev mailing list