RocketChat / RocketChat/Rocket.Chat
Exception while invoking method 'createDirectMessage' Error: Match error: Expected string, got null
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:
Randomly I am seeing the title error in the log.
Steps to reproduce:
Not sure yet what is the cause.
Expected behavior:
No errors.
Actual behavior:
createDirectMessage error
Server Setup Information:
- Version of Rocket.Chat Server: 4.1.2
- Operating System: Ubuntu 20.04
- Deployment Method: tar rocketchat official site method
- Number of Running Instances: 1
- DB Replicaset Oplog: Enabled
- NodeJS Version: v12.22.1
- MongoDB Version: 4.2.17
- Commit Hash: 2aba8d2d82
- free storage space
- free inode space
Additional context
- Was happening before 4.1.2 update according the logs.
- And just appeared after 3.18.1 update ( NodeJS Version: 12.22.1 - x64, MongoDB Version: 4.0.27, MongoDB Engine: mmapv1, Commit Hash: 73ab3c26a7), according to the logs
Relevant logs:
rockechat journal log:
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: Exception while invoking method 'createDirectMessage' Error: Match error: Expected string, got null
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at check (packages/check/match.js:36:17)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at createDirectMessage (server/methods/createDirectMessage.js:12:2)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at MethodInvocation.createDirectMessage (server/methods/createDirectMessage.js:94:10)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at MethodInvocation.methodsMap.<computed> (app/lib/server/lib/debug.js:66:34)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:719:19
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:717:46
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:715:46
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at new Promise (<anonymous>)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Session.method (packages/ddp-server/livedata_server.js:689:23)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:559:43
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: Sanitized and reported to the client as: errorClass [Error]: Match failed [400]
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at errorClass.<anonymous> (packages/check/match.js:91:27)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at new errorClass (packages/meteor.js:655:17)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at check (packages/check/match.js:36:17)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at createDirectMessage (server/methods/createDirectMessage.js:12:2)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at MethodInvocation.createDirectMessage (server/methods/createDirectMessage.js:94:10)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at MethodInvocation.methodsMap.<computed> (app/lib/server/lib/debug.js:66:34)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:719:19
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:717:46
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:715:46
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at new Promise (<anonymous>)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at Session.method (packages/ddp-server/livedata_server.js:689:23)
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: at packages/ddp-server/livedata_server.js:559:43 {
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: isClientSafe: true,
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: error: 400,
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: reason: 'Match failed',
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: details: undefined,
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: errorType: 'Meteor.Error'
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: }
Nov 22 10:44:24 ip-172-31-42-134 rocketchat[570]: undefined undefined
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 at server/methods/createDirectMessage.js, especially the validation around line 12 and the method call around line 94 shown in the stack trace. Trace which createDirectMessage argument is null and determine the triggering request or data state. Done means identifying the cause and preventing the method from producing this match error, with regression coverage if the relevant test location can be found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, mongodb, node.js
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100