Skip to content

Fix Incorrect nanos-to-millis conversion in epoll_wait EINTR retry loop#16245

Merged
normanmaurer merged 3 commits intonetty:4.2from
adwsingh:4.2
Feb 10, 2026
Merged

Fix Incorrect nanos-to-millis conversion in epoll_wait EINTR retry loop#16245
normanmaurer merged 3 commits intonetty:4.2from
adwsingh:4.2

Conversation

@adwsingh
Copy link
Copy Markdown
Contributor

@adwsingh adwsingh commented Feb 9, 2026

Motivation:

See #16244

Modification:

Fix nanos to mills conversion.

Result:

Fixes #16244

If there is no issue then describe the changes introduced by this PR.

Add a test that verifies epoll_wait with a positive timeout returns
within a reasonable time bound. This test is expected to fail on the
current code due to a nanos-to-millis conversion bug in the EINTR
retry loop of netty_epoll_wait.
The deadline computation in netty_epoll_wait divided tv_nsec by 1000
(producing microseconds) instead of 1000000 (producing milliseconds).
Since all other values in the expression are in milliseconds, this
caused the nanosecond component to be ~1000x too large, corrupting
the deadline and defeating the decaying timeout logic introduced in
PR netty#14425.
@franz1981
Copy link
Copy Markdown
Contributor

Thanks for this @adwsingh this looks great 😃
I don't remember if you signed already our ICLA?

@adwsingh
Copy link
Copy Markdown
Contributor Author

adwsingh commented Feb 9, 2026

@franz1981 Yes. I have previously contributed to Netty.


assertEquals(0, ready);
// Should have waited at least close to the timeout
assertTrue(elapsedMs >= timeoutMs - 20,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's hope the CI machines won't fail us :)

Copy link
Copy Markdown
Contributor

@franz1981 franz1981 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM let's see if the CI won't be too slow to be flacky

@normanmaurer
Copy link
Copy Markdown
Member

@adwsingh this looks great! Good catch... Just pushed a small update for the test.

@normanmaurer normanmaurer added this to the 4.2.11.Final milestone Feb 10, 2026
@normanmaurer normanmaurer merged commit fa3a6d4 into netty:4.2 Feb 10, 2026
18 of 19 checks passed
normanmaurer added a commit that referenced this pull request Feb 10, 2026
…op (#16245)

Motivation:

When epoll_wait is interrupted by a signal (EINTR), the retry loop in netty_epoll_wait should correctly recompute
the remaining timeout in milliseconds using the monotonic clock, so that scheduled tasks fire at the correct time.


Modification:

- Fix nanos to millis conversion.
- Add unit test

Result:

Fixes #16244


Co-authored-by: Norman Maurer <norman_maurer@apple.com>
normanmaurer added a commit that referenced this pull request Feb 10, 2026
…op (#16245)

Motivation:

When epoll_wait is interrupted by a signal (EINTR), the retry loop in netty_epoll_wait should correctly recompute
the remaining timeout in milliseconds using the monotonic clock, so that scheduled tasks fire at the correct time.


Modification:

- Fix nanos to millis conversion.
- Add unit test

Result:

Fixes #16244


Co-authored-by: Norman Maurer <norman_maurer@apple.com>
normanmaurer added a commit that referenced this pull request Feb 10, 2026
#16248)

…op (#16245)

Motivation:

When epoll_wait is interrupted by a signal (EINTR), the retry loop in
netty_epoll_wait should correctly recompute the remaining timeout in
milliseconds using the monotonic clock, so that scheduled tasks fire at
the correct time.


Modification:

- Fix nanos to millis conversion.
- Add unit test

Result:

Fixes #16244

Co-authored-by: Adwait Kumar Singh <adwsingh@amazon.com>
normanmaurer added a commit that referenced this pull request Feb 10, 2026
#16249)

…op (#16245)

Motivation:

When epoll_wait is interrupted by a signal (EINTR), the retry loop in
netty_epoll_wait should correctly recompute the remaining timeout in
milliseconds using the monotonic clock, so that scheduled tasks fire at
the correct time.


Modification:

- Fix nanos to millis conversion.
- Add unit test

Result:

Fixes #16244

Co-authored-by: Adwait Kumar Singh <adwsingh@amazon.com>
mergify bot added a commit to ArcadeData/arcadedb that referenced this pull request Mar 29, 2026
…l [skip ci]

Bumps [io.netty:netty-all](https://github.com/netty/netty) from 4.2.10.Final to 4.2.12.Final.
Release notes

*Sourced from [io.netty:netty-all's releases](https://github.com/netty/netty/releases).*

> netty-4.2.12.Final
> ------------------
>
> What's Changed
> --------------
>
> * Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16550](https://redirect.github.com/netty/netty/pull/16550)
>
> **Full Changelog**: <netty/netty@netty-4.2.11.Final...netty-4.2.12.Final>
>
> netty-4.2.11.Final
> ------------------
>
> Security
> --------
>
> * CVE-2026-33871, [HTTP/2 CONTINUATION Frame Flood Denial of Service](GHSA-w9fj-cfpg-grvv)
> * CVE-2026-33870, [HTTP Request Smuggling via Chunked Extension Quoted-String Parsing](GHSA-pwqr-wmgm-9rr8)
>
> What's Changed
> --------------
>
> * Update to latest JDK 26 EA release by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16230](https://redirect.github.com/netty/netty/pull/16230)
> * HTTP3: Allow to support non-standard HTTP3 settings by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16171](https://redirect.github.com/netty/netty/pull/16171)
> * Fix Incorrect nanos-to-millis conversion in epoll\_wait EINTR retry loop by [`@​adwsingh`](https://github.com/adwsingh) in [netty/netty#16245](https://redirect.github.com/netty/netty/pull/16245)
> * Allocate one large segment and slice for each MsgHdrMemory by [`@​dreamlike-ocean`](https://github.com/dreamlike-ocean) in [netty/netty#16234](https://redirect.github.com/netty/netty/pull/16234)
> * Make RefCntOpenSslContext.deallocate more robust by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16253](https://redirect.github.com/netty/netty/pull/16253)
> * Epoll: Fix excessive CPU usage when Channel is only registered but no… by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16250](https://redirect.github.com/netty/netty/pull/16250)
> * Update to gcc for arm 10.3-2021.07 by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16255](https://redirect.github.com/netty/netty/pull/16255)
> * Add acmeIdentifier extension support to pkitesting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16256](https://redirect.github.com/netty/netty/pull/16256)
> * Update JDK versions to latest patch releases by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16254](https://redirect.github.com/netty/netty/pull/16254)
> * Avoid allocation in HttpObjectEncoder.addEncodedLengthHex method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16241](https://redirect.github.com/netty/netty/pull/16241)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16269](https://redirect.github.com/netty/netty/pull/16269)
> * Revert "Automatic backporting workflow from 4.1 to 4.2" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16270](https://redirect.github.com/netty/netty/pull/16270)
> * HTTP2: Correctly account for padding when decompress by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16264](https://redirect.github.com/netty/netty/pull/16264)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16271](https://redirect.github.com/netty/netty/pull/16271)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16273](https://redirect.github.com/netty/netty/pull/16273)
> * Backport PRs must be created with personal access tokens by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16276](https://redirect.github.com/netty/netty/pull/16276)
> * Expose QuicSslContextBuilder::sni by [`@​ZeroErrors`](https://github.com/ZeroErrors) in [netty/netty#16178](https://redirect.github.com/netty/netty/pull/16178)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16275](https://redirect.github.com/netty/netty/pull/16275)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16283](https://redirect.github.com/netty/netty/pull/16283)
> * Remove the unpooled allocator from test permutations by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16282](https://redirect.github.com/netty/netty/pull/16282)
> * Some polishing of the porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16288](https://redirect.github.com/netty/netty/pull/16288)
> * Allow to set destination connection id when creating a client side QuicheChannel by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16286](https://redirect.github.com/netty/netty/pull/16286)
> * Update to latest JDK26 EA build by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16295](https://redirect.github.com/netty/netty/pull/16295)
> * Add javadoc to clarify responsibility of the user when generating the remote connection id by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16293](https://redirect.github.com/netty/netty/pull/16293)
> * Make the build run faster by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16290](https://redirect.github.com/netty/netty/pull/16290)
> * Fix IDE warnings in SslHandler by [`@​doom369`](https://github.com/doom369) in [netty/netty#16237](https://redirect.github.com/netty/netty/pull/16237)
> * Decrease Long allocations and map.put calls in ReferenceCountedOpenSllEngine in handshake() method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16242](https://redirect.github.com/netty/netty/pull/16242)
> * Support boringssl SSLCredential API by [`@​jmcrawford45`](https://github.com/jmcrawford45) in [netty/netty#15919](https://redirect.github.com/netty/netty/pull/15919)
> * Fix high-order bit aliasing in HttpUtil.validateToken by [`@​furkanvarol`](https://github.com/furkanvarol) in [netty/netty#16279](https://redirect.github.com/netty/netty/pull/16279)
> * Improve multi-byte access performance when UNALIGNED availability is unknown by [`@​Songdoeon`](https://github.com/Songdoeon) in [netty/netty#16207](https://redirect.github.com/netty/netty/pull/16207)
> * Avoid unnecessary SSL.getVersion() call and string allocation in ReferenceCountedOpenSslEngine by [`@​doom369`](https://github.com/doom369) in [netty/netty#16278](https://redirect.github.com/netty/netty/pull/16278)
> * Support more branch freedom for auto-porting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16300](https://redirect.github.com/netty/netty/pull/16300)
> * fix: the precedence of + is higher than >> by [`@​cuiweixie`](https://github.com/cuiweixie) in [netty/netty#16312](https://redirect.github.com/netty/netty/pull/16312)
> * AdaptiveByteBufAllocator: make sure byteBuf.capacity() not greater than byteBuf.maxCapacity() by [`@​laosijikaichele`](https://github.com/laosijikaichele) in [netty/netty#16309](https://redirect.github.com/netty/netty/pull/16309)
> * Fix flaky PooledByteBufAllocatorTest by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16313](https://redirect.github.com/netty/netty/pull/16313)
> * Fix pooled arena accounting tests by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16321](https://redirect.github.com/netty/netty/pull/16321)

... (truncated)


Commits

* [`67ce541`](netty/netty@67ce541) [maven-release-plugin] prepare release netty-4.2.12.Final
* [`7074624`](netty/netty@7074624) Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`c3b0a43`](netty/netty@c3b0a43) [maven-release-plugin] prepare for next development iteration
* [`c94a818`](netty/netty@c94a818) [maven-release-plugin] prepare release netty-4.2.11.Final
* [`3b76df1`](netty/netty@3b76df1) Merge commit from fork
* [`aae944a`](netty/netty@aae944a) Auto-port 4.2: Limit the number of Continuation frames per HTTP2 Headers ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`6001499`](netty/netty@6001499) Eliminate redundant bounds checks in CompositeByteBuf accessors ([#16525](https://redirect.github.com/netty/netty/issues/16525))
* [`a7fbb6f`](netty/netty@a7fbb6f) JdkZlibDecoder: accumulate decompressed output before firing channelRead ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`7937553`](netty/netty@7937553) Enforce io.netty.maxDirectMemory accounting on all Java versions ([#16489](https://redirect.github.com/netty/netty/issues/16489))
* [`893ea2e`](netty/netty@893ea2e) Allocate less in QueryStringDecoder.addParam for typical use case ([#16527](https://redirect.github.com/netty/netty/issues/16527))
* Additional commits viewable in [compare view](netty/netty@netty-4.2.10.Final...netty-4.2.12.Final)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=io.netty:netty-all&package-manager=maven&previous-version=4.2.10.Final&new-version=4.2.12.Final)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
mergify bot added a commit to ArcadeData/arcadedb that referenced this pull request Mar 29, 2026
…ip ci]

Bumps `netty.version` from 4.2.10.Final to 4.2.12.Final.
Updates `io.netty:netty-transport` from 4.2.10.Final to 4.2.12.Final
Release notes

*Sourced from [io.netty:netty-transport's releases](https://github.com/netty/netty/releases).*

> netty-4.2.12.Final
> ------------------
>
> What's Changed
> --------------
>
> * Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16550](https://redirect.github.com/netty/netty/pull/16550)
>
> **Full Changelog**: <netty/netty@netty-4.2.11.Final...netty-4.2.12.Final>
>
> netty-4.2.11.Final
> ------------------
>
> Security
> --------
>
> * CVE-2026-33871, [HTTP/2 CONTINUATION Frame Flood Denial of Service](GHSA-w9fj-cfpg-grvv)
> * CVE-2026-33870, [HTTP Request Smuggling via Chunked Extension Quoted-String Parsing](GHSA-pwqr-wmgm-9rr8)
>
> What's Changed
> --------------
>
> * Update to latest JDK 26 EA release by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16230](https://redirect.github.com/netty/netty/pull/16230)
> * HTTP3: Allow to support non-standard HTTP3 settings by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16171](https://redirect.github.com/netty/netty/pull/16171)
> * Fix Incorrect nanos-to-millis conversion in epoll\_wait EINTR retry loop by [`@​adwsingh`](https://github.com/adwsingh) in [netty/netty#16245](https://redirect.github.com/netty/netty/pull/16245)
> * Allocate one large segment and slice for each MsgHdrMemory by [`@​dreamlike-ocean`](https://github.com/dreamlike-ocean) in [netty/netty#16234](https://redirect.github.com/netty/netty/pull/16234)
> * Make RefCntOpenSslContext.deallocate more robust by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16253](https://redirect.github.com/netty/netty/pull/16253)
> * Epoll: Fix excessive CPU usage when Channel is only registered but no… by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16250](https://redirect.github.com/netty/netty/pull/16250)
> * Update to gcc for arm 10.3-2021.07 by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16255](https://redirect.github.com/netty/netty/pull/16255)
> * Add acmeIdentifier extension support to pkitesting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16256](https://redirect.github.com/netty/netty/pull/16256)
> * Update JDK versions to latest patch releases by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16254](https://redirect.github.com/netty/netty/pull/16254)
> * Avoid allocation in HttpObjectEncoder.addEncodedLengthHex method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16241](https://redirect.github.com/netty/netty/pull/16241)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16269](https://redirect.github.com/netty/netty/pull/16269)
> * Revert "Automatic backporting workflow from 4.1 to 4.2" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16270](https://redirect.github.com/netty/netty/pull/16270)
> * HTTP2: Correctly account for padding when decompress by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16264](https://redirect.github.com/netty/netty/pull/16264)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16271](https://redirect.github.com/netty/netty/pull/16271)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16273](https://redirect.github.com/netty/netty/pull/16273)
> * Backport PRs must be created with personal access tokens by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16276](https://redirect.github.com/netty/netty/pull/16276)
> * Expose QuicSslContextBuilder::sni by [`@​ZeroErrors`](https://github.com/ZeroErrors) in [netty/netty#16178](https://redirect.github.com/netty/netty/pull/16178)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16275](https://redirect.github.com/netty/netty/pull/16275)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16283](https://redirect.github.com/netty/netty/pull/16283)
> * Remove the unpooled allocator from test permutations by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16282](https://redirect.github.com/netty/netty/pull/16282)
> * Some polishing of the porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16288](https://redirect.github.com/netty/netty/pull/16288)
> * Allow to set destination connection id when creating a client side QuicheChannel by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16286](https://redirect.github.com/netty/netty/pull/16286)
> * Update to latest JDK26 EA build by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16295](https://redirect.github.com/netty/netty/pull/16295)
> * Add javadoc to clarify responsibility of the user when generating the remote connection id by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16293](https://redirect.github.com/netty/netty/pull/16293)
> * Make the build run faster by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16290](https://redirect.github.com/netty/netty/pull/16290)
> * Fix IDE warnings in SslHandler by [`@​doom369`](https://github.com/doom369) in [netty/netty#16237](https://redirect.github.com/netty/netty/pull/16237)
> * Decrease Long allocations and map.put calls in ReferenceCountedOpenSllEngine in handshake() method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16242](https://redirect.github.com/netty/netty/pull/16242)
> * Support boringssl SSLCredential API by [`@​jmcrawford45`](https://github.com/jmcrawford45) in [netty/netty#15919](https://redirect.github.com/netty/netty/pull/15919)
> * Fix high-order bit aliasing in HttpUtil.validateToken by [`@​furkanvarol`](https://github.com/furkanvarol) in [netty/netty#16279](https://redirect.github.com/netty/netty/pull/16279)
> * Improve multi-byte access performance when UNALIGNED availability is unknown by [`@​Songdoeon`](https://github.com/Songdoeon) in [netty/netty#16207](https://redirect.github.com/netty/netty/pull/16207)
> * Avoid unnecessary SSL.getVersion() call and string allocation in ReferenceCountedOpenSslEngine by [`@​doom369`](https://github.com/doom369) in [netty/netty#16278](https://redirect.github.com/netty/netty/pull/16278)
> * Support more branch freedom for auto-porting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16300](https://redirect.github.com/netty/netty/pull/16300)
> * fix: the precedence of + is higher than >> by [`@​cuiweixie`](https://github.com/cuiweixie) in [netty/netty#16312](https://redirect.github.com/netty/netty/pull/16312)
> * AdaptiveByteBufAllocator: make sure byteBuf.capacity() not greater than byteBuf.maxCapacity() by [`@​laosijikaichele`](https://github.com/laosijikaichele) in [netty/netty#16309](https://redirect.github.com/netty/netty/pull/16309)
> * Fix flaky PooledByteBufAllocatorTest by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16313](https://redirect.github.com/netty/netty/pull/16313)
> * Fix pooled arena accounting tests by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16321](https://redirect.github.com/netty/netty/pull/16321)

... (truncated)


Commits

* [`67ce541`](netty/netty@67ce541) [maven-release-plugin] prepare release netty-4.2.12.Final
* [`7074624`](netty/netty@7074624) Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`c3b0a43`](netty/netty@c3b0a43) [maven-release-plugin] prepare for next development iteration
* [`c94a818`](netty/netty@c94a818) [maven-release-plugin] prepare release netty-4.2.11.Final
* [`3b76df1`](netty/netty@3b76df1) Merge commit from fork
* [`aae944a`](netty/netty@aae944a) Auto-port 4.2: Limit the number of Continuation frames per HTTP2 Headers ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`6001499`](netty/netty@6001499) Eliminate redundant bounds checks in CompositeByteBuf accessors ([#16525](https://redirect.github.com/netty/netty/issues/16525))
* [`a7fbb6f`](netty/netty@a7fbb6f) JdkZlibDecoder: accumulate decompressed output before firing channelRead ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`7937553`](netty/netty@7937553) Enforce io.netty.maxDirectMemory accounting on all Java versions ([#16489](https://redirect.github.com/netty/netty/issues/16489))
* [`893ea2e`](netty/netty@893ea2e) Allocate less in QueryStringDecoder.addParam for typical use case ([#16527](https://redirect.github.com/netty/netty/issues/16527))
* Additional commits viewable in [compare view](netty/netty@netty-4.2.10.Final...netty-4.2.12.Final)
  
Updates `io.netty:netty-codec` from 4.2.10.Final to 4.2.12.Final
Release notes

*Sourced from [io.netty:netty-codec's releases](https://github.com/netty/netty/releases).*

> netty-4.2.12.Final
> ------------------
>
> What's Changed
> --------------
>
> * Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16550](https://redirect.github.com/netty/netty/pull/16550)
>
> **Full Changelog**: <netty/netty@netty-4.2.11.Final...netty-4.2.12.Final>
>
> netty-4.2.11.Final
> ------------------
>
> Security
> --------
>
> * CVE-2026-33871, [HTTP/2 CONTINUATION Frame Flood Denial of Service](GHSA-w9fj-cfpg-grvv)
> * CVE-2026-33870, [HTTP Request Smuggling via Chunked Extension Quoted-String Parsing](GHSA-pwqr-wmgm-9rr8)
>
> What's Changed
> --------------
>
> * Update to latest JDK 26 EA release by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16230](https://redirect.github.com/netty/netty/pull/16230)
> * HTTP3: Allow to support non-standard HTTP3 settings by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16171](https://redirect.github.com/netty/netty/pull/16171)
> * Fix Incorrect nanos-to-millis conversion in epoll\_wait EINTR retry loop by [`@​adwsingh`](https://github.com/adwsingh) in [netty/netty#16245](https://redirect.github.com/netty/netty/pull/16245)
> * Allocate one large segment and slice for each MsgHdrMemory by [`@​dreamlike-ocean`](https://github.com/dreamlike-ocean) in [netty/netty#16234](https://redirect.github.com/netty/netty/pull/16234)
> * Make RefCntOpenSslContext.deallocate more robust by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16253](https://redirect.github.com/netty/netty/pull/16253)
> * Epoll: Fix excessive CPU usage when Channel is only registered but no… by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16250](https://redirect.github.com/netty/netty/pull/16250)
> * Update to gcc for arm 10.3-2021.07 by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16255](https://redirect.github.com/netty/netty/pull/16255)
> * Add acmeIdentifier extension support to pkitesting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16256](https://redirect.github.com/netty/netty/pull/16256)
> * Update JDK versions to latest patch releases by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16254](https://redirect.github.com/netty/netty/pull/16254)
> * Avoid allocation in HttpObjectEncoder.addEncodedLengthHex method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16241](https://redirect.github.com/netty/netty/pull/16241)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16269](https://redirect.github.com/netty/netty/pull/16269)
> * Revert "Automatic backporting workflow from 4.1 to 4.2" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16270](https://redirect.github.com/netty/netty/pull/16270)
> * HTTP2: Correctly account for padding when decompress by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16264](https://redirect.github.com/netty/netty/pull/16264)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16271](https://redirect.github.com/netty/netty/pull/16271)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16273](https://redirect.github.com/netty/netty/pull/16273)
> * Backport PRs must be created with personal access tokens by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16276](https://redirect.github.com/netty/netty/pull/16276)
> * Expose QuicSslContextBuilder::sni by [`@​ZeroErrors`](https://github.com/ZeroErrors) in [netty/netty#16178](https://redirect.github.com/netty/netty/pull/16178)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16275](https://redirect.github.com/netty/netty/pull/16275)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16283](https://redirect.github.com/netty/netty/pull/16283)
> * Remove the unpooled allocator from test permutations by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16282](https://redirect.github.com/netty/netty/pull/16282)
> * Some polishing of the porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16288](https://redirect.github.com/netty/netty/pull/16288)
> * Allow to set destination connection id when creating a client side QuicheChannel by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16286](https://redirect.github.com/netty/netty/pull/16286)
> * Update to latest JDK26 EA build by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16295](https://redirect.github.com/netty/netty/pull/16295)
> * Add javadoc to clarify responsibility of the user when generating the remote connection id by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16293](https://redirect.github.com/netty/netty/pull/16293)
> * Make the build run faster by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16290](https://redirect.github.com/netty/netty/pull/16290)
> * Fix IDE warnings in SslHandler by [`@​doom369`](https://github.com/doom369) in [netty/netty#16237](https://redirect.github.com/netty/netty/pull/16237)
> * Decrease Long allocations and map.put calls in ReferenceCountedOpenSllEngine in handshake() method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16242](https://redirect.github.com/netty/netty/pull/16242)
> * Support boringssl SSLCredential API by [`@​jmcrawford45`](https://github.com/jmcrawford45) in [netty/netty#15919](https://redirect.github.com/netty/netty/pull/15919)
> * Fix high-order bit aliasing in HttpUtil.validateToken by [`@​furkanvarol`](https://github.com/furkanvarol) in [netty/netty#16279](https://redirect.github.com/netty/netty/pull/16279)
> * Improve multi-byte access performance when UNALIGNED availability is unknown by [`@​Songdoeon`](https://github.com/Songdoeon) in [netty/netty#16207](https://redirect.github.com/netty/netty/pull/16207)
> * Avoid unnecessary SSL.getVersion() call and string allocation in ReferenceCountedOpenSslEngine by [`@​doom369`](https://github.com/doom369) in [netty/netty#16278](https://redirect.github.com/netty/netty/pull/16278)
> * Support more branch freedom for auto-porting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16300](https://redirect.github.com/netty/netty/pull/16300)
> * fix: the precedence of + is higher than >> by [`@​cuiweixie`](https://github.com/cuiweixie) in [netty/netty#16312](https://redirect.github.com/netty/netty/pull/16312)
> * AdaptiveByteBufAllocator: make sure byteBuf.capacity() not greater than byteBuf.maxCapacity() by [`@​laosijikaichele`](https://github.com/laosijikaichele) in [netty/netty#16309](https://redirect.github.com/netty/netty/pull/16309)
> * Fix flaky PooledByteBufAllocatorTest by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16313](https://redirect.github.com/netty/netty/pull/16313)
> * Fix pooled arena accounting tests by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16321](https://redirect.github.com/netty/netty/pull/16321)

... (truncated)


Commits

* [`67ce541`](netty/netty@67ce541) [maven-release-plugin] prepare release netty-4.2.12.Final
* [`7074624`](netty/netty@7074624) Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`c3b0a43`](netty/netty@c3b0a43) [maven-release-plugin] prepare for next development iteration
* [`c94a818`](netty/netty@c94a818) [maven-release-plugin] prepare release netty-4.2.11.Final
* [`3b76df1`](netty/netty@3b76df1) Merge commit from fork
* [`aae944a`](netty/netty@aae944a) Auto-port 4.2: Limit the number of Continuation frames per HTTP2 Headers ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`6001499`](netty/netty@6001499) Eliminate redundant bounds checks in CompositeByteBuf accessors ([#16525](https://redirect.github.com/netty/netty/issues/16525))
* [`a7fbb6f`](netty/netty@a7fbb6f) JdkZlibDecoder: accumulate decompressed output before firing channelRead ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`7937553`](netty/netty@7937553) Enforce io.netty.maxDirectMemory accounting on all Java versions ([#16489](https://redirect.github.com/netty/netty/issues/16489))
* [`893ea2e`](netty/netty@893ea2e) Allocate less in QueryStringDecoder.addParam for typical use case ([#16527](https://redirect.github.com/netty/netty/issues/16527))
* Additional commits viewable in [compare view](netty/netty@netty-4.2.10.Final...netty-4.2.12.Final)
  
Updates `io.netty:netty-handler` from 4.2.10.Final to 4.2.12.Final
Release notes

*Sourced from [io.netty:netty-handler's releases](https://github.com/netty/netty/releases).*

> netty-4.2.12.Final
> ------------------
>
> What's Changed
> --------------
>
> * Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16550](https://redirect.github.com/netty/netty/pull/16550)
>
> **Full Changelog**: <netty/netty@netty-4.2.11.Final...netty-4.2.12.Final>
>
> netty-4.2.11.Final
> ------------------
>
> Security
> --------
>
> * CVE-2026-33871, [HTTP/2 CONTINUATION Frame Flood Denial of Service](GHSA-w9fj-cfpg-grvv)
> * CVE-2026-33870, [HTTP Request Smuggling via Chunked Extension Quoted-String Parsing](GHSA-pwqr-wmgm-9rr8)
>
> What's Changed
> --------------
>
> * Update to latest JDK 26 EA release by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16230](https://redirect.github.com/netty/netty/pull/16230)
> * HTTP3: Allow to support non-standard HTTP3 settings by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16171](https://redirect.github.com/netty/netty/pull/16171)
> * Fix Incorrect nanos-to-millis conversion in epoll\_wait EINTR retry loop by [`@​adwsingh`](https://github.com/adwsingh) in [netty/netty#16245](https://redirect.github.com/netty/netty/pull/16245)
> * Allocate one large segment and slice for each MsgHdrMemory by [`@​dreamlike-ocean`](https://github.com/dreamlike-ocean) in [netty/netty#16234](https://redirect.github.com/netty/netty/pull/16234)
> * Make RefCntOpenSslContext.deallocate more robust by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16253](https://redirect.github.com/netty/netty/pull/16253)
> * Epoll: Fix excessive CPU usage when Channel is only registered but no… by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16250](https://redirect.github.com/netty/netty/pull/16250)
> * Update to gcc for arm 10.3-2021.07 by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16255](https://redirect.github.com/netty/netty/pull/16255)
> * Add acmeIdentifier extension support to pkitesting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16256](https://redirect.github.com/netty/netty/pull/16256)
> * Update JDK versions to latest patch releases by [`@​m1ngyuan`](https://github.com/m1ngyuan) in [netty/netty#16254](https://redirect.github.com/netty/netty/pull/16254)
> * Avoid allocation in HttpObjectEncoder.addEncodedLengthHex method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16241](https://redirect.github.com/netty/netty/pull/16241)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16269](https://redirect.github.com/netty/netty/pull/16269)
> * Revert "Automatic backporting workflow from 4.1 to 4.2" by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16270](https://redirect.github.com/netty/netty/pull/16270)
> * HTTP2: Correctly account for padding when decompress by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16264](https://redirect.github.com/netty/netty/pull/16264)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16271](https://redirect.github.com/netty/netty/pull/16271)
> * Automatic backporting workflow from 4.1 to 4.2 by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16273](https://redirect.github.com/netty/netty/pull/16273)
> * Backport PRs must be created with personal access tokens by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16276](https://redirect.github.com/netty/netty/pull/16276)
> * Expose QuicSslContextBuilder::sni by [`@​ZeroErrors`](https://github.com/ZeroErrors) in [netty/netty#16178](https://redirect.github.com/netty/netty/pull/16178)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16275](https://redirect.github.com/netty/netty/pull/16275)
> * Add more porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16283](https://redirect.github.com/netty/netty/pull/16283)
> * Remove the unpooled allocator from test permutations by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16282](https://redirect.github.com/netty/netty/pull/16282)
> * Some polishing of the porting workflows by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16288](https://redirect.github.com/netty/netty/pull/16288)
> * Allow to set destination connection id when creating a client side QuicheChannel by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16286](https://redirect.github.com/netty/netty/pull/16286)
> * Update to latest JDK26 EA build by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16295](https://redirect.github.com/netty/netty/pull/16295)
> * Add javadoc to clarify responsibility of the user when generating the remote connection id by [`@​normanmaurer`](https://github.com/normanmaurer) in [netty/netty#16293](https://redirect.github.com/netty/netty/pull/16293)
> * Make the build run faster by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16290](https://redirect.github.com/netty/netty/pull/16290)
> * Fix IDE warnings in SslHandler by [`@​doom369`](https://github.com/doom369) in [netty/netty#16237](https://redirect.github.com/netty/netty/pull/16237)
> * Decrease Long allocations and map.put calls in ReferenceCountedOpenSllEngine in handshake() method by [`@​doom369`](https://github.com/doom369) in [netty/netty#16242](https://redirect.github.com/netty/netty/pull/16242)
> * Support boringssl SSLCredential API by [`@​jmcrawford45`](https://github.com/jmcrawford45) in [netty/netty#15919](https://redirect.github.com/netty/netty/pull/15919)
> * Fix high-order bit aliasing in HttpUtil.validateToken by [`@​furkanvarol`](https://github.com/furkanvarol) in [netty/netty#16279](https://redirect.github.com/netty/netty/pull/16279)
> * Improve multi-byte access performance when UNALIGNED availability is unknown by [`@​Songdoeon`](https://github.com/Songdoeon) in [netty/netty#16207](https://redirect.github.com/netty/netty/pull/16207)
> * Avoid unnecessary SSL.getVersion() call and string allocation in ReferenceCountedOpenSslEngine by [`@​doom369`](https://github.com/doom369) in [netty/netty#16278](https://redirect.github.com/netty/netty/pull/16278)
> * Support more branch freedom for auto-porting by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16300](https://redirect.github.com/netty/netty/pull/16300)
> * fix: the precedence of + is higher than >> by [`@​cuiweixie`](https://github.com/cuiweixie) in [netty/netty#16312](https://redirect.github.com/netty/netty/pull/16312)
> * AdaptiveByteBufAllocator: make sure byteBuf.capacity() not greater than byteBuf.maxCapacity() by [`@​laosijikaichele`](https://github.com/laosijikaichele) in [netty/netty#16309](https://redirect.github.com/netty/netty/pull/16309)
> * Fix flaky PooledByteBufAllocatorTest by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16313](https://redirect.github.com/netty/netty/pull/16313)
> * Fix pooled arena accounting tests by [`@​chrisvest`](https://github.com/chrisvest) in [netty/netty#16321](https://redirect.github.com/netty/netty/pull/16321)

... (truncated)


Commits

* [`67ce541`](netty/netty@67ce541) [maven-release-plugin] prepare release netty-4.2.12.Final
* [`7074624`](netty/netty@7074624) Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`c3b0a43`](netty/netty@c3b0a43) [maven-release-plugin] prepare for next development iteration
* [`c94a818`](netty/netty@c94a818) [maven-release-plugin] prepare release netty-4.2.11.Final
* [`3b76df1`](netty/netty@3b76df1) Merge commit from fork
* [`aae944a`](netty/netty@aae944a) Auto-port 4.2: Limit the number of Continuation frames per HTTP2 Headers ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`6001499`](netty/netty@6001499) Eliminate redundant bounds checks in CompositeByteBuf accessors ([#16525](https://redirect.github.com/netty/netty/issues/16525))
* [`a7fbb6f`](netty/netty@a7fbb6f) JdkZlibDecoder: accumulate decompressed output before firing channelRead ([#16](https://redirect.github.com/netty/netty/issues/16)...
* [`7937553`](netty/netty@7937553) Enforce io.netty.maxDirectMemory accounting on all Java versions ([#16489](https://redirect.github.com/netty/netty/issues/16489))
* [`893ea2e`](netty/netty@893ea2e) Allocate less in QueryStringDecoder.addParam for typical use case ([#16527](https://redirect.github.com/netty/netty/issues/16527))
* Additional commits viewable in [compare view](netty/netty@netty-4.2.10.Final...netty-4.2.12.Final)
  
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect nanos-to-millis conversion in epoll_wait EINTR retry loop

3 participants