RocketChat / RocketChat/Rocket.Chat
Regular hard crashes since updating to 6.4.1: "FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal"
Open
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:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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