RocketChat / RocketChat/Rocket.Chat

Regular hard crashes since updating to 6.4.1: "FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal"

Open
#30,633 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

We updated RC from 6.2.0 to 6.4.1 last week and since then we have regular but seemingly random crashes.
This is the error message we receive from the rocketchat docker container:

rocketchat            | FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
rocketchat            |  1: 0xa3ad50 node::Abort() [node]
rocketchat            |  2: 0x970199 node::FatalError(char const*, char const*) [node]
rocketchat            |  3: 0xbba5fa v8::Utils::ReportApiFailure(char const*, char const*) [node]
rocketchat            |  4: 0x9d1325 node::Environment::CheckImmediate(uv_check_s*) [node]
rocketchat            |  5: 0x13c91a9  [node]
rocketchat            |  6: 0x13c1958 uv_run [node]
rocketchat            |  7: 0xa7b962 node::NodeMainInstance::Run() [node]
rocketchat            |  8: 0xa03a65 node::Start(int, char**) [node]
rocketchat            |  9: 0x7ff3cc77ed0a __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
rocketchat            | 10: 0x98c5bc  [node]
Steps to reproduce:

Not manually reproduceable

Actual behavior:

image

Server Setup Information:
  • Version of Rocket.Chat Server: 6.4.1
  • Operating System: ubuntu
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version: v14.21.3
  • MongoDB Version: 5.0.21
Client Setup Information
  • Desktop App or Browser Version: Server crashes, not client related (we have everything, desktop, app and browser users)
  • Operating System: windows, linux, mac
Relevant logs:
rocketchat            | FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
rocketchat            |  1: 0xa3ad50 node::Abort() [node]
rocketchat            |  2: 0x970199 node::FatalError(char const*, char const*) [node]
rocketchat            |  3: 0xbba5fa v8::Utils::ReportApiFailure(char const*, char const*) [node]
rocketchat            |  4: 0xa539f5  [node]
rocketchat            |  5: 0x18baa35 llhttp__internal_execute [node]
rocketchat            |  6: 0xa54dd2  [node]
rocketchat            |  7: 0xb1cce8 node::LibuvStreamWrap::OnUvRead(long, uv_buf_t const*) [node]
rocketchat            |  8: 0x13ccb47  [node]
rocketchat            |  9: 0x13cd370  [node]
rocketchat            | 10: 0x13d3564  [node]
rocketchat            | 11: 0x13c1948 uv_run [node]
rocketchat            | 12: 0x7fb4f00a5202 Run(napi_env__*, napi_callback_info__*) [/app/bundle/programs/server/npm/node_modules/@kaciras/deasync/build/Release/binding.node]
rocketchat            | 13: 0x9eabad  [node]
rocketchat            | 14: 0xc2679b  [node]
rocketchat            | 15: 0xc27d46  [node]
rocketchat            | 16: 0xc283c6 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
rocketchat            | 17: 0x1449459  [node]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported Node/V8 stack traces, especially the llhttp and @kaciras/deasync binding frames, and compare the 6.2.0 and 6.4.1 server environments. Use the Docker setup with Node v14.21.3 and MongoDB 5.0.21 to seek a reproducible crash; done means identifying the regression and verifying a fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, mongodb, node.js
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.