Rocket.Chat icon indicating copy to clipboard operation
Rocket.Chat copied to clipboard

6.10.0 can't enable apps downloaded from marketplace

Open lovekyleman opened this issue 1 year ago • 4 comments

6.10.0 can't enable apps downloaded from marketplace

Clicking "enable" GIPHY shows "Apps_Error_The App had compiler errors, can not enable it."

lovekyleman avatar Jul 11 '24 04:07 lovekyleman

Same here. I have 2 grandfathered apps that I can't start or delete. Everytime I get a cryptic error.

SebiBasti avatar Jul 11 '24 08:07 SebiBasti

Same here. I have 2 grandfathered apps that I can't start or delete. Everytime I get a cryptic error.

Yeah

lovekyleman avatar Jul 11 '24 08:07 lovekyleman

Same goes for all installed marketplace Apps on our end.

marketpace_apps_disabled

All Apps are disabled and when trying to enable or uninstall them there will be an error msg:

marketpace_apps_error_enabling

mjanssen-kernspin avatar Jul 11 '24 10:07 mjanssen-kernspin

Same goes for all installed marketplace Apps on our end.

marketpace_apps_disabled

All Apps are disabled and when trying to enable or uninstall them there will be an error msg:

marketpace_apps_error_enabling

Same here

lovekyleman avatar Jul 11 '24 10:07 lovekyleman

Thanks for reporting this.

I'll get someone to take a look.

reetp avatar Jul 13 '24 17:07 reetp

Greetings folks, can you share more details about your installation method?

d-gubert avatar Jul 15 '24 15:07 d-gubert

We are having the same problem with the Jitsi app, it doesn't let us enable the app (same error as described by others) nor even uninstall it (gives error: "Apps_Error"), to try to reinstall image

peterupriuse avatar Jul 15 '24 15:07 peterupriuse

Greetings folks, can you share more details about your installation method? Hi, Douglas. We are using a Debian GNU/Linux 10 (4.19.0-23-amd64) VM server and the installed steps used were this:

  1. node -v
  2. v14.21.3
  3. curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat_latest.tgz
  4. tar xzf /tmp/rocket.chat_latest.tgz -C /tmp
  5. ls -la /tmp/bundle/
  6. cd /tmp/bundle/programs/server
  7. sudo systemctl stop rocketchat.service
  8. npm i
  9. npm audit fix
  10. sudo rm -r /opt/Rocket.Chat_old/
  11. sudo mv /opt/Rocket.Chat{,_old}
  12. sudo mv /tmp/bundle /opt/Rocket.Chat
  13. sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
  14. sudo systemctl start rocketchat.service
  15. sudo journalctl -xe --follow

peterupriuse avatar Jul 15 '24 15:07 peterupriuse

We are having the same problem with the Jitsi app, it doesn't let us enable the app (same error as described by others) nor even uninstall it (gives error: "Apps_Error"), to try to reinstall image

a little more about the error: the logs shows like so (added *** to obfuscate sensitive info) {"level":35,"time":"2024-07-15T15:36:46.654Z","pid":13311,"hostname":"***","name":"API","method":"POST","url":"/api/apps/3b387ba9-f57c-44c6-9810-8c0256abd64c/status","userId":"*******","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Rocket.Chat/4.0.0 Chrome/122.0.6261.156 Electron/29.4.1 Safari/537.36","length":"29","host":"***","referer":"https://***/marketplace/installed/info/3b387ba9-f57c-44c6-9810-8c0256abd64c/2.1.1/details","remoteIP":"***.***.***.***","err":{"type":"Error","message":"The App had compiler errors, can not enable it.","stack":"Error: The App had compiler errors, can not enable it.<br> at AppManager.<anonymous> (/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:313:23)<br> at Generator.next (<anonymous>)<br> at fulfilled (/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:5:58)<br> at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40<br> => awaited here:<br> at Function.Promise.await (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)<br> at ee/server/apps/communication/rest.ts:1182:18<br> at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40<br> => awaited here:<br> at Function.Promise.await (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)<br> at packages/meteor.js:367:22<br> at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)<br> at app/api/server/api.ts:649:39<br> at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40"},"status":400,"responseTime":15,"msg":"The App had compiler errors, can not enable it."}

peterupriuse avatar Jul 15 '24 15:07 peterupriuse

Greetings folks, can you share more details about your installation method?

We are using rocket.chat for 1.5 years now. It is a debian install. Guidelines (see rocket.chat docs) have been followed throughout the updates so far.

mjanssen-kernspin avatar Jul 15 '24 16:07 mjanssen-kernspin

Thanks for the details, everyone. What might be happening is that the installation of a component is failing - Deno. Since the runtime we were using for the apps-engine was discontinued due to security issues, we had to replace it with another technology. However, the installation docs were not updated to reflect the potential new steps that needed to be taken for manual installs.

This component should be installed along with the @rocket.chat/apps-engine package, which is what is throwing me off in this issue to be honest. Please try the following commands to see if it fixes the problem for you:

cd PATH_TO_ROCKETCHAT_INSTALLATION/programs/server/npm/node_modules/@rocket.chat/apps-engine
npm install --production
npm run postinstall

There appears to be some instances where the postinstall script might not run automatically, that's why we execute it deliberately here. This should download a deno binary and the dependencies we are using in our deno runtime.

Let me know the results, please :pray:

d-gubert avatar Jul 15 '24 17:07 d-gubert

So i just tried your commands and even redownloaded/reinstalled the 6.10.0 but marketplace apps are still disabled and I am getting the same error when trying to start or install them.

Are there any other commands which might help?

Btw when I click uninstall on a marketplace app there will be shown an error / time out and the app is still shown as installed. But when restarting the RocketChat service the app is no more listed as "installed apps". But when triying to reinstall this app I am getting the above listed error... or in my case for the App giphy: image

Major problem is that we use more apps and currently not having them active is kind of annoying :-/

mjanssen-kernspin avatar Jul 15 '24 18:07 mjanssen-kernspin

It looks like the Deno process is not being able to start. Do you have server logs you can share?

d-gubert avatar Jul 15 '24 18:07 d-gubert

It looks like the Deno process is not being able to start. Do you have server logs you can share?

Sure. Could you tell me which logs you specifically need? The logs generated on "Workspace"->"Reports"?

mjanssen-kernspin avatar Jul 15 '24 18:07 mjanssen-kernspin

Exactly, I'm particularly interested in logs that mention a "subprocess"

If there are none, try to capture the sequence of logs that happen right after you try to enable an app.

d-gubert avatar Jul 15 '24 18:07 d-gubert

rocketchat_logs.txt I increased the log level a bit. But I can't seem to find any subprocess indication. And I took out sensitive information.

and then there is the usual with: {"level":40,"time":"2024-07-15T18:43:11.525Z","pid":15050,"hostname":"------","name":"DeprecationWarning","section":"API","msg":"The parameter "query" in the endpoint "/api/v1/settings.public" is deprecated and will be removed on version 7.0.0"}

mjanssen-kernspin avatar Jul 15 '24 18:07 mjanssen-kernspin

This is what I got when trying to active a disabled app:

Exactly, I'm particularly interested in logs that mention a "subprocess"

If there are none, try to capture the sequence of logs that happen right after you try to enable an app.

{"level":35,"time":"2024-07-15T18:48:44.757Z","pid":15050,"hostname":"-----","name":"API","method":"POST","url":"/api/apps/0a63d0d1-42a1-4951-80ed-023b89352473/status","userId":"....","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","length":"29","host":"-----private-----","referer":"https://----private----/marketplace/installed","remoteIP":"....","err":{"type":"Error","message":"The App had compiler errors, can not enable it.","stack":"Error: The App had compiler errors, can not enable it.
at AppManager. (/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:313:23)
at Generator.next ()
at fulfilled (/opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:5:58)
at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40
=> awaited here:
at Function.Promise.await (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)
at ee/server/apps/communication/rest.ts:1182:18
at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40
=> awaited here:
at Function.Promise.await (/opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)
at packages/meteor.js:367:22
at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)
at app/api/server/api.ts:649:39
at /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40"},"status":400,"responseTime":4,"msg":"The App had compiler errors, can not enable it."}

mjanssen-kernspin avatar Jul 15 '24 18:07 mjanssen-kernspin

However, the installation docs were not updated to reflect the potential new steps that needed to be taken for manual installs.

I have a Docker installation showing the very same symptoms.

{"level":35,"time":"2024-07-15T19:05:13.568Z","pid":1,"hostname":"730132f68ee4","name":"API","method":"POST","url":"/api/apps/ab4728ec-613e-472f-a24c-b48a77aacfff/status","userId":"<userId>","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","length":"29","host":"localhost:3000","referer":"https://chat.rueckgr.at/marketplace/installed","remoteIP":"<ip>","err":{"type":"Error","message":"The App had compiler errors, can not enable it.","stack":"Error: The App had compiler errors, can not enable it.<br> at AppManager.<anonymous> (/app/bundle/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:313:23)<br> at Generator.next (<anonymous>)<br> at fulfilled (/app/bundle/programs/server/npm/node_modules/@rocket.chat/apps-engine/server/AppManager.js:5:58)<br> at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40<br> => awaited here:<br> at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)<br> at ee/server/apps/communication/rest.ts:1182:18<br> at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40<br> => awaited here:<br> at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)<br> at packages/meteor.js:367:22<br> at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)<br> at app/api/server/api.ts:649:39<br> at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40"},"status":400,"responseTime":3,"msg":"The App had compiler errors, can not enable it."}

paulchen avatar Jul 15 '24 19:07 paulchen

Thanks for the details, everyone. What might be happening is that the installation of a component is failing - Deno. Since the runtime we were using for the apps-engine was discontinued due to security issues, we had to replace it with another technology. However, the installation docs were not updated to reflect the potential new steps that needed to be taken for manual installs.

This component should be installed along with the @rocket.chat/apps-engine package, which is what is throwing me off in this issue to be honest. Please try the following commands to see if it fixes the problem for you:

cd PATH_TO_ROCKETCHAT_INSTALLATION/programs/server/npm/node_modules/@rocket.chat/apps-engine
npm install --production
npm run postinstall

There appears to be some instances where the postinstall script might not run automatically, that's why we execute it deliberately here. This should download a deno binary and the dependencies we are using in our deno runtime.

Let me know the results, please 🙏

Thanks, Douglas! That almost worked for me. I also had to:

1. cd PATH_TO_ROCKETCHAT_INSTALLATION/programs/server/npm/node_modules/@rocket.chat/apps-engine/
2. sudo systemctl stop rocketchat.service
3. sudo mkdir -p /home/rocketchat/.cache
4. sudo npm install --production
5. sudo npm audit fix
6. sudo npm run postinstall
7. sudo tail -f /var/log/syslog
8. sudo chown -R rocketchat:rocketchat PATH_TO_ROCKETCHAT_INSTALLATION
9. sudo chown -R rocketchat:rocketchat /home/rocketchat/
10. sudo systemctl start rocketchat.service

After that the app jitsi disappeared from the installed app, I installed the app again from the Marketplace and had to set it to my previous definitions, and the app was enabled!

PS: the step 2 was because 1st time tryed to run the commands I got

npm ERR! syscall mkdir
npm ERR! path /home/rocketchat
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/home/rocketchat'
npm ERR!  [OperationalError: EACCES: permission denied, mkdir '/home/rocketchat'] {
npm ERR!   cause: [Error: EACCES: permission denied, mkdir '/home/rocketchat'] {
npm ERR!     errno: -13,
npm ERR!     code: 'EACCES',
npm ERR!     syscall: 'mkdir',
npm ERR!     path: '/home/rocketchat'
npm ERR!   },
npm ERR!   isOperational: true,
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/home/rocketchat'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

peterupriuse avatar Jul 15 '24 20:07 peterupriuse

@mjanssen-kernspin can you please run the server with the following environment variable:

DEBUG='*'

This should give us some insight into why the apps are failing to start. It will be very verbose, but should include something valuable.

d-gubert avatar Jul 16 '24 00:07 d-gubert

Thanks guys It fix the problems

mkdir -p /home/rocketchat/.cache/deno/npm/

chown -R rocketchat:rocketchat /home/rocketchat/.cache/deno/npm/

mkdir -p /home/rocketchat/.cache/deno/deps/https/deno.land

chown -R rocketchat:rocketchat /home/rocketchat/.cache/deno

cd /opt/Rocket.Chat/programs/server/npm/node_modules/@rocket.chat/apps-engine

npm install --production

npm run postinstall

npm install @rocket.chat/icons

npm install @rocket.chat/ui-kit@next

And apps can enable new

lovekyleman avatar Jul 16 '24 04:07 lovekyleman

Thanks for sharing your extra steps @lovekyleman @peterupriuse ! It seems indeed that creating the .cache is the catch for manual deployments.

We will adjust the scripts on the apps-engine side so that installation is smoother and more aligned with the current guides, but in the meanwhile the steps to solve this look to be:

mkdir -p /home/rocketchat/.cache

cd PATH_TO_ROCKETCHAT_INSTALLATION/programs/server/npm/node_modules/@rocket.chat/apps-engine

export DENO_DIR=/home/rocketchat/.cache/deno

npm install --production

npm run postinstall

chown -R rocketchat:rocketchat /home/rocketchat

Essentially these commands will create the path where deno expects to write its cache by default for the rocketchat user (the home dir of the user), we make sure to tell deno to use that directory when running the npm run postinstall command, and in the end we change the ownership of the home directory to the rocketchat user recursively.

d-gubert avatar Jul 16 '24 14:07 d-gubert

Folks, Following docs will help with upgrades and deploy of Rocket.Chat to avoid the problem: https://docs.rocket.chat/docs/deploy-rocketchat and https://docs.rocket.chat/docs/updating-rocketchat

And our internal engineering team is working on a more robust fix.

casalsgh avatar Jul 17 '24 16:07 casalsgh

We have the same issue with another error. As example Big Blue Button was deactivated after the update, and it isn't possible to Update the Plugin anymore. We get only MESSAGE : "Apps_Error_controller.stopApp is not a function"

seraphyn avatar Jul 18 '24 07:07 seraphyn