Description
Version
v16.6.1
Platform
(AWS EC2) - Linux 33ea5513d673 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64 GNU/Linux
Subsystem
http_parser
What steps will reproduce the bug?
Difficult to reproduce, but it's very similar to #34016 in that I'm uploading a lot of content to S3. This error started happening when I switched from another upstream to S3 so it's interesting that both issues seems to be specific to S3. However, even if there's an issue in the AWS S3 SDK, this shouldn't be crashing the node process, but instead bubble up so it can be handled in JS.
Exception message:
node[1]: ../src/node_http_parser.cc:517:static void node::{anonymous}::Parser::Execute(const v8::FunctionCallbackInfo<v8::Value>&): Assertion `parser->current_buffer_.IsEmpty()' failed.
1: 0xafedf0 node::Abort() [node]
2: 0xafee6e [node]
3: 0xb1a392 [node]
4: 0xd432cb [node]
5: 0xd4454a [node]
6: 0xd44a26 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
7: 0x15c9fd9 [node]
How often does it reproduce? Is there a required condition?
Under production load, this consistently happens within a few hours of the service starting.
What is the expected behavior?
I don't know whether this is an application level bug or not, but here's what I would expect:
If an application level bug, the error is raised on the JS side so that it can be handled or debugged at that level.
If it is an node level bug then I'd expect this not to crash or raise an error at all.
What do you see instead?
The above stack trace is printed and the process immediately exits.
Additional information
No response