Skip to content

node_http_parser.cc:1096:static void node::{anonymous}::ConnectionsList::Expired with NodeJS v18.17.0 #49324

Description

@Ganeshfair

Version

18.17.0

Platform

Linux xxxxxx 4.18.0-477.15.1.el8_8.x86_64 #1 SMP Fri Jun 2 08:27:19 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux

Subsystem

No response

What steps will reproduce the bug?

Upgraded the Node JS to v18.17.0, created docker image for node application.
Deployed the image, server getting stared and DB connection established.
after 2-3 seconds, below error thrown and pod goes to CrashLoopBackOff status continously./

Error:
node[1]: ../src/node_http_parser.cc:1096:static void node::{anonymous}::ConnectionsList::Expired(const v8::FunctionCallbackInfov8::Value&): Assertion `args[0]->IsNumber()' failed.
1: 0xb83f50 node::Abort() [node]
2: 0xb83fce [node]
3: 0xba415a [node]
4: 0xdc28b0 [node]
5: 0xdc3def v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
6: 0x17036b9 [node]

How often does it reproduce? Is there a required condition?

No response

What is the expected behavior? Why is that the expected behavior?

Node application pod should be running without any crashing.

What do you see instead?

Below error:
Error:
node[1]: ../src/node_http_parser.cc:1096:static void node::{anonymous}::ConnectionsList::Expired(const v8::FunctionCallbackInfov8::Value&): Assertion `args[0]->IsNumber()' failed.
1: 0xb83f50 node::Abort() [node]
2: 0xb83fce [node]
3: 0xba415a [node]
4: 0xdc28b0 [node]
5: 0xdc3def v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
6: 0x17036b9 [node]

Additional information

No response

Activity

  1. bnoordhuis commented on Aug 25, 2023

    @bnoordhuis
    Member

    You probably have a http.Server instance where the headersTimeout or requestTimeout property isn't a number.

    Node shouldn't be crashing, of course, but normally you pass those options to the constructor or http.createServer method that validates them. Tampering with them post facto can result in unpredictable behavior.

  2. added
    confirmed-bugIssues and PRs for confirmed bugs.
    httpIssues and PRs related to the http subsystem.
    on Aug 25, 2023
  3. Ganeshfair commented on Aug 25, 2023

    @Ganeshfair
    Author

    Yes, have a header timeout but configuration is missing in one environment. it used to work in v16.x Node JS version by taking default values i think. I think, pod should not crash due to this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues and PRs for confirmed bugs.httpIssues and PRs related to the http subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions