Repository navigation
Node 18.13 HTTP/2 live lock #46234
Description
Activity
Also experienced issues after upgrading to 18.13.0. Specifically when running within a container deployed to Google Kubernetes Engine. We actually started to experience a 100% CPU freeze using Node 16. However, we did not figure out which version of Node 16 that caused trouble, and our fix was ironically to upgrade to node 18 (which worked until recently).
@nodejs/http @nodejs/http2
- changed the title
[-]Node18.13 HTTP2 live lock[/-][+]Node 18.13 HTTP/2 live lock[/+]on Jan 17, 2023 It looks it could be: dee882e94f though it'd be great having a way to reproduce it.
Reacted by Robert Nagy and Alex LeonovReacted by Matteo CollinaI concur.
I went through the changelogs, and discovered the same commit was introduced in Node 16.19.0, which is the time at which we started noticing issues, bur were unable to repro. Great job with debugging!
Reacted by Fredrik A. Madsen-Malmo@santigimeno Could you make a revert PR?
I suggest we have a regression test for this before backporting the revert across all lines.
- added a commit that references this issue
on Jan 18, 2023 Revert PR is here: #46249 and moved to test to the known_issues folder
- addedhttp2Issues and PRs related to the http2 subsystem.Issues and PRs related to the http2 subsystem.
on Jan 18, 2023 We encountered this ugly issue as well - node process hangs sporadically after node 18.3 upgrade. Took me a while to trace it here.
Our http2 stream use is probably Google Pubsub grcp clientReacted by Goni Zahavy2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0 2023-02-21 15:48:41 [INFO] Http2Session client (858) stream 7 closed with code: 0Node v16.19.1 has the same problem. Session close never done.
- added a commit that references this issue
on Mar 5, 2023 - added a commit that references this issue
on Mar 13, 2023 - added a commit that references this issue
on Mar 27, 2023 - added a commit that references this issue
on May 22, 2026
This is a tricky one but we have started noticing processes getting stuck on 100% cpu (live lock) since updating to Node 18.3.
Doing a debug breakpoint in the process shows us a lot of time is spent in:
We suspect https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.13.0 but it's difficult to know for sure.
We've rolled back to 18.12.1 and will be observing if it keeps happening.