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

Aleksey Shipilev shade at openjdk.java.net
Fri Jan 22 17:10:01 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)

Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:

  Use the proper suffix for uint64_t literal, while we are at it

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2196/files
  - new: https://git.openjdk.java.net/jdk/pull/2196/files/51f324ae..feeb3320

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2196&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2196&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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