RocketChat / RocketChat/Rocket.Chat

Version 4.8.1 will not start due to a segfault.

Open
#25,952 25 comments 7 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

Currently using version 4.7.2.
I have tried updating to versions 4.8.0 and 4.8.1, but neither will start with a segfault.
I had no choice but to revert to version 4.7.2.

OS: CentOS Linux 7.9.2009
MongoDB: 4.2.21 / wiredTiger (oplog enable)
Node: v14.18.3
NPM: 6.14.15

The /var/log/messages at the time of the error is as follows:

systemd: Started The Rocket.Chat server.
rocketchat: Error creating indexes for integration_history MongoError: Index with name: _updatedAt_1 already exists with different options
rocketchat: at MessageStream.messageHandler (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connection.js:272:20)
rocketchat: at MessageStream.emit (events.js:400:28)
rocketchat: at MessageStream.emit (domain.js:475:12)
rocketchat: at processIncomingData (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
rocketchat: at MessageStream._write (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
rocketchat: at writeOrBuffer (internal/streams/writable.js:358:12)
rocketchat: at MessageStream.Writable.write (internal/streams/writable.js:303:10)
rocketchat: at Socket.ondata (internal/streams/readable.js:731:22)
rocketchat: at Socket.emit (events.js:400:28)
rocketchat: at Socket.emit (domain.js:475:12)
rocketchat: at addChunk (internal/streams/readable.js:293:12)
rocketchat: at readableAddChunk (internal/streams/readable.js:267:9)
rocketchat: at Socket.Readable.push (internal/streams/readable.js:206:10)
rocketchat: at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
rocketchat: at TCP.callbackTrampoline (internal/async_hooks.js:130:17) {
rocketchat: operationTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1655735991 },
rocketchat: ok: 0,
rocketchat: code: 85,
rocketchat: codeName: 'IndexOptionsConflict',
rocketchat: '$clusterTime': {
rocketchat: clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1655735991 },
rocketchat: signature: { hash: [Binary], keyId: 0 }
rocketchat: }
rocketchat: }
abrt-hook-ccpp: Process 20863 (node) of user 1007 killed by SIGSEGV - dumping core
systemd: rocketchat.service: main process exited, code=dumped, status=11/SEGV
systemd: Unit rocketchat.service entered failed state.
systemd: rocketchat.service failed.

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 startup failure and the integration_history index creation path; the log shows MongoDB IndexOptionsConflict for _updatedAt_1 followed by a Node SIGSEGV. Compare startup behavior between 4.7.2 and 4.8.1 using the listed CentOS and MongoDB setup. Done means 4.8.1 starts without the index conflict or process crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
mongodb, node.js
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.