RocketChat / RocketChat/Rocket.Chat

User profile username change makes server unresponsive

Open
#11,222 8 comments 5 reactions 2 assignees View on GitHub

@ggazzo is already working on this.

Since Aug 13, 2018.

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

Description

Description:

When a user changes their username, the service will hang and/or crash hanging all clients connected to the service

Steps to reproduce:
  1. Go to User>My Account:
  2. Click on Profile
  3. Change Username field
  4. Click "Save Changes"
Expected behavior:

User name changed and saved to database

Actual behavior:

Clicking on save changes just sits and spins. Server no longer responds for the user changing their name, nor any other user connected. Seems to wait for a time out, approx 5 mins later, server starts responding again.

Server Setup Information:
  • Version of Rocket.Chat Server: 0.65.2
  • Operating System: Ubuntu 16.04
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version:
  • MongoDB Version:
Additional context

Server was populated from a slack migration

Relevant logs:

Server log during name change:


API ➔ debug Success { statusCode: 200, body: { success: true } }
Meteor ➔ method getAvatarSuggestion -> userId: HXTT4zSKR6yFwcgNa , arguments:  {}
Meteor ➔ method checkUsernameAvailability -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': 'zenjabba1' }
Meteor ➔ method saveUserProfile -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': { username: 'zenjabba1' }, '1': {} }
Meteor ➔ method setUsername -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': 'zenjabba1' }
API v1 Logger ➔ debug POST: /api/v1/subscriptions.read
Meteor ➔ method readMessages -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': 'GENERAL' }
API ➔ debug Success { statusCode: 200, body: { success: true } }
API v1 Logger ➔ debug POST: /api/v1/subscriptions.read
Meteor ➔ method readMessages -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': 'GENERAL' }
API ➔ debug Success { statusCode: 200, body: { success: true } }
API v1 Logger ➔ debug POST: /api/v1/subscriptions.read
Meteor ➔ method readMessages -> userId: HXTT4zSKR6yFwcgNa , arguments:  { '0': 'GENERAL' }
API ➔ debug Success { statusCode: 200, body: { success: true } }

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.