RocketChat / Rocket.Chat

The communications platform that puts data protection first.
https://rocket.chat/
Other
40.08k stars 10.34k forks source link

Exception while invoking method 'loadLocale' Error: Unknown asset: moment-locales/2.js #30417

Open zjasonshen opened 1 year ago

zjasonshen commented 1 year ago

Description:

I'm seeing these errors in my rocketchat-logs. I think it might be causing an issue with the Omnichannel business hours features not setting the time correctly. It seems to be setting it to UTC time instead of server time.

Steps to reproduce:

  1. Start rocketchat
  2. Errors will appear after a minute or 2.

Error could also be trigger if I can my localization in my profile page.

Expected behavior:

No errors. Business hours should be set with server time and not UTC

Actual behavior:

Only thing I'm noticing is that business hours aren't working. Current workaround is to just turn off that feature for now.

Server Setup Information:

Client Setup Information

Relevant logs:

meteor-rocketchat-1 | Exception while invoking method 'loadLocale' Error: Unknown asset: moment-locales/2.js meteor-rocketchat-1 | at getAsset (/app/bundle/programs/server/boot.js:303:21) meteor-rocketchat-1 | at Object.getTextAsync (/app/bundle/programs/server/boot.js:318:18) meteor-rocketchat-1 | at server/lib/getMomentLocale.ts:7:17 meteor-rocketchat-1 | at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40 meteor-rocketchat-1 | => awaited here: meteor-rocketchat-1 | at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12) meteor-rocketchat-1 | at getCurrentMethodInvocationResult (packages/ddp-server/livedata_server.js:781:32) meteor-rocketchat-1 | at packages/meteor.js:365:18 meteor-rocketchat-1 | at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31) meteor-rocketchat-1 | at packages/ddp-server/livedata_server.js:791:46 meteor-rocketchat-1 | at new Promise () meteor-rocketchat-1 | at Session.method (packages/ddp-server/livedata_server.js:739:23) meteor-rocketchat-1 | at packages/ddp-server/livedata_server.js:603:43

mcgrathd commented 9 months ago

We were noticing something similar on our chat server that happens at exactly 1am server time every night:

(mind the formatting)

{
  "level": 50,
  "time": "2023-12-07T01:00:01.343Z",
  "pid": 1,
  "hostname": "b4399c07361a",
  "name": "System",
  "msg": "Exception while invoking method loadLocale",
  "err": {
    "type": "Error",
    "message": "Unknown asset: moment-locales/zh.js",
    "stack": "Error: Unknown asset: moment-locales/zh.js\n    at getAsset (/app/bundle/programs/server/boot.js:303:21)\n    at Object.getTextAsync (/app/bundle/programs/server/boot.js:318:18)\n    at server/lib/getMomentLocale.ts:7:17\n    at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40\n => awaited here:\n    at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)\n    at packages/meteor.js:367:22\n    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)\n    at packages/ddp-server/livedata_server.js:1818:36\n    at new Promise (<anonymous>)\n    at Server.applyAsync (packages/ddp-server/livedata_server.js:1817:12)\n    at Server.callAsync (packages/ddp-server/livedata_server.js:1743:17)\n    at app/api/server/v1/misc.ts:620:33\n    at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40\n => awaited here:\n    at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)\n    at app/api/server/v1/misc.ts:620:17\n    at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40"
  }
}

After this crash, the mongodb announces its intention to terminate. Ultimately we have to run a docker compose restart. Our Omni stuff is disabled. Any ideas if they may be related?

ranqiangjun commented 8 months ago

I encountered the same issue with v6.5.2, I am running RC with the official docker image. Checked /app/bundle/programs/server/assets/app/moment-locales, no zh.js, the temp fix is

cd /app/bundle/programs/server/assets/app/moment-locales
cp zh-cn.js zh.js

The error message

Exception while invoking method 'loadLocale' Error: Unknown asset: moment-locales/zh.js
    at getAsset (/app/bundle/programs/server/boot.js:303:21)
    at Object.getTextAsync (/app/bundle/programs/server/boot.js:318:18)
    at server/lib/getMomentLocale.ts:7:17
    at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40
 => awaited here:
    at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)
    at getCurrentMethodInvocationResult (packages/ddp-server/livedata_server.js:781:32)
    at packages/meteor.js:365:18
    at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)
    at packages/ddp-server/livedata_server.js:791:46
    at new Promise (<anonymous>)
    at Session.method (packages/ddp-server/livedata_server.js:739:23)
    at packages/ddp-server/livedata_server.js:603:43