Rocket.chat: Upgrade from RocketChat 3.6.1 to 3.6.3 cannot login

Created on 28 Sep 2020  Β·  17Comments  Β·  Source: RocketChat/Rocket.Chat

Hello,

I'm running RocketChat 3.6.1 as a docker container, I did the upgrade to 3.6.3 and now I can't login, I have this message:

Failed login detected - Username[unknown] ClientAddress[xxx] ForwardedFor[xxx] XRealIp[undefined] UserAgent[Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36]
Exception while invoking method autoTranslate.getSupportedLanguages Error: Auto-Translate is not allowed [error-action-not-allowed]
    at MethodInvocation.autoTranslate.getSupportedLanguages (app/autotranslate/server/methods/getSupportedLanguages.js:10:10)
    at MethodInvocation.methodsMap.<computed> (app/lib/server/lib/debug.js:67:34)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
Exception while invoking method cloud:checkRegisterStatus Error: Not authorized [error-not-authorized]
    at MethodInvocation.cloud:checkRegisterStatus (app/cloud/server/methods.js:24:10)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9

I cannot access the admin anymore, so I'm kinda stuck, I guess I could fix the problem through the API but I have no idea why I got this error now ...
Is it some kind of a bug ?
If you need more information fee free to ask.
Thanks.

Steps to reproduce

Expected behavior

Actual behavior

Server Setup Information

  • Version of Rocket.Chat Server: 3.6.3

All 17 comments

If I understand well, it seems that the auto-translate permission is now required to login even though you don't enable AutoTranslate_Enabled ? ...

I tried to force the version to rocket.chat:3.6.1, the container starts but I have the same error, I still cannot loggin.
Basically I'm stuck now, has anyone the same problem since the upgrade ?
I tried to change the AutoTranslate_Enabled to true or false through the API but nothing better when trying to login from the front.

This issue was closed because it does not use our bug report issue template.

Please make sure to use it and fill it as much as you can so we can provide better and faster support.

The following sections must not be removed, or else the BOT will close it immediately again:

  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Server Setup Information

hi @cs35-owncloud I have transferred the issue to rocket.chat repo as it probably is not specific to the docker image by itself.

regarding your issue, the "Auto-Translate" error is definitely not related.

can you please describe more about your log in flow? are you using LDAP, SAML or just regular username and password?

if you downgraded to 3.6.1 and is still not able to log in looks like something else changed on your environment, any hint on what it might be?

Hello @sampaiodiego,

thanks for your help !

That's the only log I have in the docker container. I use simple regular username/password.

Here's the log after a restart and a login attempt (it's running on docker 3.6.1 on this log):

LocalStore: store created at 
LocalStore: store created at 
LocalStore: store created at 
Setting default file store to GridFS
{"line":"120","file":"migrations.js","message":"Migrations: Not migrating, already at version 205","time":{"$date":1601305589292},"level":"info"}
Loaded the Apps Framework and loaded a total of 0 Apps!
Using GridFS for custom sounds storage
Using GridFS for custom emoji storage
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Updating process.env.MAIL_URL
Users with admin role already exist; Ignoring environment variables ADMIN_PASS
βž” System βž” startup
βž” +--------------------------------------------------------+
βž” |                     SERVER RUNNING                     |
βž” +--------------------------------------------------------+
βž” |                                                        |
βž” |  Rocket.Chat Version: 3.6.1                            |
βž” |       NodeJS Version: 12.16.1 - x64                    |
βž” |      MongoDB Version: 4.2.9                            |
βž” |       MongoDB Engine: wiredTiger                       |
βž” |             Platform: linux                            |
βž” |         Process Port: 3000                             |
βž” |             Site URL: https://xxxx  |
βž” |     ReplicaSet OpLog: Enabled                          |
βž” |          Commit Hash: 6a4f474edb                       |
βž” |        Commit Branch: HEAD                             |
βž” |                                                        |
βž” +--------------------------------------------------------+
(node:9) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Failed login detected - Username[unknown] ClientAddress[xxx] ForwardedFor[xxx] XRealIp[undefined] UserAgent[Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36]
Exception while invoking method autoTranslate.getSupportedLanguages Error: Auto-Translate is not allowed [error-action-not-allowed]
    at MethodInvocation.autoTranslate.getSupportedLanguages (app/autotranslate/server/methods/getSupportedLanguages.js:10:10)
    at MethodInvocation.methodsMap.<computed> (app/lib/server/lib/debug.js:67:34)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
Exception while invoking method cloud:checkRegisterStatus Error: Not authorized [error-not-authorized]
    at MethodInvocation.cloud:checkRegisterStatus (app/cloud/server/methods.js:24:10)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9

Here are all the modifications before the update to 3.6.3:

  • Set E2E_Enable to true
  • Set Accounts_LoginExpiration to 3
  • Set Accounts_ForgetUserSessionOnWindowClose to true
  • Set AutoTranslate_Enabled to false
  • Set Accounts_TwoFactorAuthentication_Enforce_Password_Fallback to false

Thanks.

so you cannot log in with any user? I tried replicating the issue using the same docker images and settings but I was able to log in fine.

is there any other setting changed? you can run this script on MongoDB to get a list of changed settings changed (pls redact confidential values)

db.rocketchat_settings.find().forEach(function(s) {
    if (!s._id.match(/^Assets/) && !s._id.match(/^Layout/) && s._id !== 'css' && s.value !== s.packageValue) {
        print(s._id + ' - ' + s.value);
    }
});

you can also set the following environment variable to get more detailed logs: OVERWRITE_SETTING_Log_Level=2

Hey,

thanks for your answer.

Exactly, no user can login, only the "super admin" (the one created by the .env) and through the API.

I got this problem after upgrading, so I guess you have to take the 3.6.1 and then upgrade to 3.6.3.

Thanks, I'll check and give you the settings ASAP.

I'll try this parameter thanks !

@sampaiodiego

Alright, I've added the log verbosity to 2, I destroyed the RC container and I reinstalled it in 3.6.3. I didn't destroy the mongo container ofc. And now I can login ... but the error is still there. There goes the log of the reboot and the login attempt which was successful.

I went to an other RC instance I tried to upgrade yesterday and having the same problem. I tried to login and it still doesn't work.
My guess is that the dockerhub maybe had a broken image to deliver. Or could it be some cache system ?

Thanks.

Hello,

I was mistaken, I did delete the mongo container to reinstall it all.
To sum up:

  • I can't login after an update from RC 3.6.1 to 3.6.3 (I tried to update to 3.7.0 but it's the same) -> the update seems to work but users can't log in
  • If I destroy both RC and Mongo and reinstall RC 3.6.3 from scratch it works, but I lose all my users and related data. I might reimport it but that would give a mongo data version older than the real installation

There goes the error when I try to log in after an update:

Exception while invoking method autoTranslate.getSupportedLanguages Error: Auto-Translate is not allowed [error-action-not-allowed]
    at MethodInvocation.autoTranslate.getSupportedLanguages (app/autotranslate/server/methods/getSupportedLanguages.js:10:10)
    at MethodInvocation.methodsMap.<computed> (app/lib/server/lib/debug.js:67:34)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
Exception while invoking method cloud:checkRegisterStatus Error: Not authorized [error-not-authorized]
    at MethodInvocation.cloud:checkRegisterStatus (app/cloud/server/methods.js:24:10)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
    at packages/ddp-server/livedata_server.js:1689:15
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at packages/ddp-server/livedata_server.js:1687:36
    at new Promise (<anonymous>)
    at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
 => awaited here:
    at Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:60:12)
    at Server.apply (packages/ddp-server/livedata_server.js:1638:22)
    at Server.call (packages/ddp-server/livedata_server.js:1607:17)
    at Object.post (app/api/server/v1/misc.js:262:26)
    at app/api/server/api.js:394:82
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
    at Object._internalRouteActionHandler [as action] (app/api/server/api.js:394:39)
    at Route.share.Route.Route._callEndpoint (packages/nimble_restivus/lib/route.coffee:150:32)
    at packages/nimble_restivus/lib/route.coffee:59:33
    at packages/simple_json-routes.js:98:9
db.rocketchat_settings.find().forEach(function(s) {
    if (!s._id.match(/^Assets/) && !s._id.match(/^Layout/) && s._id !== 'css' && s.value !== s.packageValue) {
        print(s._id + ' - ' + s.value);
    }
});

I ran this command on the mongo container:

rs0:PRIMARY> db.rocketchat_settings.find().forEach(function(s) { if (!s._id.match(/^Assets/) && !s._id.match(/^Layout/) && s._id !== 'css' && s.value !== s.packageValue) { print(s._id + ' - ' + s.value); }  });
rs0:PRIMARY> 

I have no results, was I mistaken ? I tried on a production instance that's used a lot and I have no results either.

I can't stress enough that I'm kinda stuck and can't update my other instances without breaking the access for all the users.

Thanks.

Hi, the message:

  • "Exception while invoking method autoTranslate.getSupportedLanguages Error: Auto-Translate is not allowed" could be related to #18782 and
  • "Exception while invoking method cloud:checkRegisterStatus Error: Not authorized [error-not-authorized]" could be #19027

Both bugs bother me in several versions from 3.6.0 till 3.6.3.
I upgraded from 3.5.4 where everything was fine and at 3.6.0 these log messages appear.

Hi @sheuschkel

thanks for your answer, it looks like it's the same issue indeed. After reading them I see no answer :/
In my case the "Exception while invoking method autoTranslate.getSupportedLanguages Error: Auto-Translate is not allowed" really is a pain since I can't login anymore ...

I had the same error messages (but still could login). I also had problems with higher cpu usage. By chance I found #19082 and added USE_NATIVE_OPLOG=true to my environment variables and restarted rocketchat (the container) and now, the cpu dropped and both error messages are gone!

Hello @Roemer

thanks for your help, I tried your option but still once I typed my login and password, RC waits and shows me the three dots ... capture d'Γ©cran_868

[removed pastebin]

thanks @cs35-owncloud .. I've removed the pastebin link as it contains some sensitive information.. please delete the pastebin as well and take accordingly security actions regarding the data there.

looking into it, I can see a successful login and subsequent requests from a logged in user πŸ€”. . one thing I didn't ask before, are you running vanilla rocket.chat or is it a modified/fork version?

Hi @sampaiodiego

thanks, I hadn't notice still some sensitive information, actually it's from a demo instance, so it's not that important I could destroy it all and re-create it. I'll check again anyway and paste it eventually.

Yes it's like it says "ok" but then it hangs. I'm running a vanilla version.

I can see only one option if there is no "solution", it's to backup all, destroy and restore the mongodump wishing it would run smoothly but I don't like this option.

Thanks.

Hello,

well I could do the upgrade to 3.7.1 and this time no login problem but still the log errors about the translate but there are already several opened issues about it.
I tried so many settings that I can't tell exactly what went wrong and what made it work eventually : /
Anyway since the login works I'll close this issue.
Thanks for your help.

thanks for letting us know @cs35-owncloud .. good to know you were able to upgrade without any issues. pls let us know if you find any other issue.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mddvul22 picture mddvul22  Β·  3Comments

amayer5125 picture amayer5125  Β·  3Comments

tanc picture tanc  Β·  3Comments

lunitic picture lunitic  Β·  3Comments

karlprieb picture karlprieb  Β·  3Comments