arangodb / arangodb

🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
https://www.arangodb.com
Other
13.43k stars 832 forks source link

Arangodb illegal instruction core dumped in VM or Docker in VM #20431

Open undercover87 opened 6 months ago

undercover87 commented 6 months ago

My Environment

Component, Query & Data

Affected feature: Installation | arangosh | arangodb docker image init

AQL query (if applicable):

AQL explain and/or profile (if applicable):

Dataset:

Size of your Dataset on disk:

Replication Factor & Number of Shards (Cluster only):

Steps to reproduce

  1. sudo apt-get upgrade (to upgrade arangodb3)
  2. OR
  3. arangod OR arangosh
  4. OR
  5. starting the official arangodb docker image with docker-compose

Problem:

I'm getting an "illegal instruction - core dumped" whenever I try to use arangodb. I have an Ubuntu 22.04 VM in virtualbox and I have arangodb 3.11.4-1 installed on the machine. Independently, inside the same VM, I'm also creating a container from the official arangodb docker image version 3.8 in a docker compose scheme.

Until some days ago, everything worked fine. Now the arangodb container won't start with message

Initializing root user...Hang on...

Illegal instruction (core dumped)

Initializing database...Hang on...

ArangoDB didn't start correctly during init

Simply running arangosh or arangod from the VM gives a similar message. Ubuntu gives the following details about the failure:

image

And trying to upgrade or install it from scratch produces the same.

Expected result:

arangodb starts normally either on the VM or as a container.

dothebart commented 6 months ago

Hi, Please note that you need AVX and other more recent cpu features. You may need to configure virtualbox to pass along these instruction sets into the VM. you can check your host with cat /proc/cpuinfo (and the vm inside as well for sure) to revalidate this.

undercover87 commented 5 months ago

Hello, thanks for your response.

Sure, I checked if AVX is supported in virtualbox (as per the relevant discussion in a similar issue) and it is not. The thing is that 3.11 was working just fine up until some days ago. And the version in Docker is 3.8 and if I got it right these "recent CPU features" were not yet used in 3.8.

I'll try to set it in virtualbox and let you know

undercover87 commented 5 months ago

Update: I'm not sure I will be able to deactivate hyper-v as I don't have full control over this PC. So, I don't think I'll be able to pass these instructions to virtualbox

In any case, do you have any ideas why it suddenly stopped working? and why it isn't working even for arango version 3.8 '

dothebart commented 5 months ago

With the release of ArangoDB 3.9 we enabled this in the compilers since by then processors with these features were over 10 years old. Hence you need these processor features enabled in order to use the ArangoDB pre-compiled binaries.