-
Notifications
You must be signed in to change notification settings - Fork 11.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
4.2.1 gives 'Illegal instruction' - SIGILL in node on some CPU types #23938
Comments
We have the same issue - about 10 seconds after start up, Rocket Chat exits with 'Illegal instruction' Were you able to fix?
|
@EnableServices , I have not fixed it yet. If someone is willing to dive into this I would love and be able to support in debugging and provide additional data to reproduce this bug. |
To get some version dependencies out of the way, exclude them as possible solutions, I tried the Docker images: The number before 'Illegal instruction' varies. I would be eager to help debugging - is anyone in with me? Now I can reproduce it with the official docker images? ;) |
@EnableServices Would you please check wether your host on which you do get 'illegal instruction' has the avx flag on the CPUs set? The output of |
Current state of things is: I have the whole installations sitting inside a LXC OS container - both Rocket.Chat installed as systemd service and a Docker daemon with Rocket.Chat running from registry.rocket.chat/rocketchat/rocket.chat:4.6.0 . Both installations of Rocket.Chat behave consistently: Node 2 does have avx feature on its CPU, node 1 does not. Next step: Try to prove this difference is the reason really. |
Hello, |
AVX will be required for MongoDB 5.0
https://www.mongodb.com/docs/manual/administration/production-notes/#footnote-microarch-intel |
Warning messages from MongoDB log entries and relating Google hits brought me onto this track. I assume some part of Rocket.Chat or any of its (node) dependencies have the same dependency on AVX like MongoDB5 has. I cannot prove that yet. But I can show Rocket.Chat runs fine on AMD Opteron(TM) Processor 6238 and fails on AMD Opteron(tm) Processor 6172. EDIT, P:S. Right now I am trying to build a Docker image of Rocket.Chat 4.6.0 that runs fine on a CPU without AVX feature or get a full gdb backtrace pinpointing the exact location of that illegal instruction. Any help with npm install, variations etc. welcome. |
@f-roscher, |
I have the same issue, when I'm installing directly to ubuntu. |
@klaucode have you tried my patch? |
before, I had a problems with mongo, but now, I'm successfully running MongoDB 4.2.24 on the same server without any problems and I'm able to connect to mongo. Should I still try your patch? |
@GermanAizek thanks a lot for your comments. I solved the problem. Illegal instruction means that nodejs wants to use some instruction, which is not available on the CPU. In case of mongo, there was problem with missing "avx" and in case of Rocket.Chat, there was missing also some another CPU instruction (I was running on older server with AMD CPU). After migration to another server everything works. Probably it is important to put somewhere into documentation this info, because I spend a looot of time with investigation. |
I have the same problem. My vm is created on Proxmox VE and I use the docker deployment. After changing CPU type to host, the issue is resolved. |
Dear all,
after the upgrade to 4.2.1 my Rocket.chat instance did not start again.
TO debug this I did some parallel installation with versions 4.2.0 and 4.2.1 with
(cd /tmp/bundle/programs/server; npm i)
.4.2.0 does start fine, 4.2.1stops after some seconds with 'Illegal instruction':
System is up-to-date Debian 10. Deployed with Ansible using https://github.com/RocketChat/Rocket.Chat.Ansible with some variables added - this worked fine for the past months. I set these variables inside Ansible:
and
Started with gdb:
This is it for the moment. Please ask about anything else which might help tracking this down. Or about what I might try myself here.
Best regards
Florian
The text was updated successfully, but these errors were encountered: