Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal glibc error: CPU does not support x86-64-v2 #5158

Closed
lbonnefond opened this issue Jul 15, 2024 · 11 comments
Closed

Fatal glibc error: CPU does not support x86-64-v2 #5158

lbonnefond opened this issue Jul 15, 2024 · 11 comments
Labels

Comments

@lbonnefond
Copy link

Detailed description of the problem

I encountered an error after updating from 4.9.0 to 5.0.4 on a virtual machine.

elabctl status

      _          _     _____ _______        __
  ___| |    __ _| |__ |  ___|_   _\ \      / /
 / _ \ |   / _| | '_ \| |_    | |  \ \ /\ / /
|  __/ |__| (_| | |_) |  _|   | |   \ V  V /
 \___|_____\__,_|_.__/|_|     |_|    \_/\_/


Using elabctl configuration file: /root/.config/elabctl.conf
Using elabftw configuration file: /etc/elabftw.yml
---------------------------------------------
 Name               Command                State              Ports
---------------------------------------------------------------------------
elabftw   /init                         Up (healthy)   0.0.0.0:443->443/tcp
mysql     docker-entrypoint.sh mysqld   Restarting
docker logs mysql
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2

Apparently the configuration of the VM CPU is not compatible with the latest version of elabftw anymore.

Expected Behavior

I expected the update to run smoothy as always ! (well almost always)

Steps to reproduce the behavior

run elabctl update

Do you have any idea what may have caused this?

The VM CPU is not compatible with the latest version of elabftw.

Do you have an idea how to solve the issue?

Ask the university IT to update the VM. (already did, now waiting for an answer)

What is your docker-compose configuration?

web:
    image: elabftw/elabimg
    restart: always
    container_name: elabftw
    cap_drop:
        - SYS_ADMIN
        - AUDIT_WRITE
        - MKNOD
        - SYS_CHROOT
        - SETFCAP
        - NET_RAW
        - SYS_PTRACE
    environment:
        - SITE_URL=https://elabioch.unistra.fr
        - DB_HOST=mysql
        - DB_NAME=elabftw
        - DB_USER=elabftw
        - SERVER_NAME=elabioch.unistra.fr
        - DISABLE_HTTPS=false
        - ENABLE_LETSENCRYPT=true
        - MAX_PHP_MEMORY=256M
        - MAX_UPLOAD_SIZE=100M
        - PHP_TIMEZONE=Europe/Paris
        - TZ=Europe/Paris
        - SET_REAL_IP=false
        - SET_REAL_IP_FROM=192.168.31.48, 192.168.0.42, 10.10.13.37
        - PHP_MAX_CHILDREN=50
    ports:
        - "443:443"
    volumes:
        - /var/elabftw/web:/elabftw/uploads
        - /etc/letsencrypt:/ssl
    links:
        - mysql
mysql:
    image: mysql:8.0
    restart: always
    container_name: mysql
    cap_drop:
        - AUDIT_WRITE
        - MKNOD
        - SYS_CHROOT
        - SETFCAP
        - NET_RAW
    environment:
        - MYSQL_DATABASE=elabftw
        - MYSQL_USER=elabftw
        - TZ=Europe/Paris
    volumes:
        - /var/elabftw/mysql:/var/lib/mysql

Output of uname -a

Linux elabioch.unistra.fr 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Output of cat /etc/os-release

NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Output of docker info

Containers: 2
 Running: 1
 Paused: 0
 Stopped: 1
Images: 2
Server Version: 18.09.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 96ec2177ae841256168fcf76954f7177af9446eb
init version: fec3683
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.15.0-43-generic
Operating System: Ubuntu 18.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.852GiB
Name: elabioch.unistra.fr
ID: H7IV:M453:EUWR:TFWE:LROP:AHXG:BS3P:ODO2:J4C2:HMGE:F4GM:XE7O
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: No swap limit support

Relevant php error log entry

No response

Additional information

No response

@lbonnefond lbonnefond added the bug label Jul 15, 2024
@NicolasCARPi
Copy link
Contributor

Hello,

See previous discussion: #5100 (includes solution)

@lbonnefond
Copy link
Author

lbonnefond commented Jul 15, 2024

Thank you for pointing to that discussion and the very fast reply !

For now I'll wait for IT's response. I hope they can fix it, it will be the easiest way (at least for me).

@NicolasCARPi
Copy link
Contributor

Sure, closing this issue then.

@lbonnefond
Copy link
Author

Ok, VM CPU updated by IT, no more glibc error, but same error message on the elabFTW page :

Error encountered during MySQL initialization
Possible solutions:

- Make sure the database is initialized with docker exec elabftw bin/init db:install
- Make sure credentials for MySQL are correct in the YAML config file
- Make sure the database is operational and reachable (firewalls)
>elabctl status

      _          _     _____ _______        __
  ___| |    __ _| |__ |  ___|_   _\ \      / /
 / _ \ |   / _| | '_ \| |_    | |  \ \ /\ / /
|  __/ |__| (_| | |_) |  _|   | |   \ V  V /
 \___|_____\__,_|_.__/|_|     |_|    \_/\_/


Using elabctl configuration file: /root/.config/elabctl.conf
Using elabftw configuration file: /etc/elabftw.yml
---------------------------------------------
 Name               Command                State              Ports
---------------------------------------------------------------------------
elabftw   /init                         Up (healthy)   0.0.0.0:443->443/tcp
mysql     docker-entrypoint.sh mysqld   Restarting
>elabctl logs
2024-07-16T09:39:12.599107Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.38) starting as process 1
2024-07-16T09:39:12.611571Z 0 [Warning] [MY-010001] [Server] Can't create thread to handle bootstrap (errno: 1)
2024-07-16T09:39:12.611746Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2024-07-16T09:39:12.611789Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-07-16T09:39:12.612235Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.38)  MySQL Community Server - GPL.
2024-07-16 11:40:13+02:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.38-1.el9 started.
2024-07-16 11:40:13+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2024-07-16 11:40:13+02:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.38-1.el9 started.
'/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2024-07-16T09:40:14.150444Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
2024-07-16T09:40:14.150773Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.38) starting as process 1
2024-07-16T09:40:14.160351Z 0 [Warning] [MY-010001] [Server] Can't create thread to handle bootstrap (errno: 1)
2024-07-16T09:40:14.160432Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2024-07-16T09:40:14.160443Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-07-16T09:40:14.160974Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.38)  MySQL Community Server - GPL.
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service init: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
elabimg: info: eLabFTW version: 5.0.4
elabimg: info: image version: 5.1.0
elabimg: info: nginx version: nginx/1.24.0
elabimg: info: s6-overlay version: 3.1.2.0
elabimg: info: runtime configuration successfully finished
s6-rc: info: service init successfully started
s6-rc: info: service php: starting
s6-rc: info: service nginx: starting
s6-rc: info: service cron: starting
s6-rc: info: service php successfully started
s6-rc: info: service nginx successfully started
s6-rc: info: service cron successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
130.79.138.1 - - [16/Jul/2024:09:32:23 +0000] "GET / HTTP/2.0" 200 290 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
130.79.138.1 - - [16/Jul/2024:09:38:49 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
130.79.138.1 - - [16/Jul/2024:09:38:50 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
130.79.138.1 - - [16/Jul/2024:09:38:52 +0000] "GET / HTTP/2.0" 499 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
130.79.138.1 - - [16/Jul/2024:09:38:56 +0000] "GET / HTTP/2.0" 200 290 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"

Still issues with mysql...

@NicolasCARPi
Copy link
Contributor

This is the error from the logs:

Can't create thread to handle bootstrap (errno: 1)

This is what googling the message above turns up:

docker-library/mysql#1058 (comment)

@lbonnefond
Copy link
Author

Thank you!

If I understand correctly libseccomp might be responsible, in which case I would need to update docker, runc and libseccomp on the VM.

I will have to learn a bit about docker commands first...

@NicolasCARPi
Copy link
Contributor

TBH, Ubuntu 18.04 is kinda antique now, support ended last year. Might be a good opportunity to move to a fresh 22.04 VM. Docker 18.x is old (support ended 5 years ago), with a new VM you'll get fresh Docker version, and might not have this issue.

The nice thing is that moving eLab from one VM to another is very easy, because eLab itself is not impacted, it's just a matter of moving the compose file, the uploaded files, and restoring the mysql backup (or copying the files). (see https://doc.elabftw.net/backup.html#how-to-restore-a-backup)

You might want to have a look at a more recent compose file too: https://github.com/elabftw/elabimg/blob/master/src/docker-compose.yml-EXAMPLE

For instance, things to look for:

  • use a tagged image version: elabftw/elabimg becomes elabftw/elabimg:5.0.4 so you are explicit in the version you wish to deploy
  • use the new cap_drop/cap_add blocks

The rest is not that important.

Finally, we can help you with that through our PRO Support, feel free to reach out to us for a quote: https://www.deltablot.com/elabftw/.

@lbonnefond
Copy link
Author

Thank you very much for your help.

University IT will reinstall a VM with a newer version of the OS.
They asked me if a fresh Ubuntu 24.04 VM would be supported ?

As for PRO support, I would very much like so, but I doubt my faculty will give me the funds for an electronic labnote used only for undergraduate students...

@NicolasCARPi
Copy link
Contributor

University IT will reinstall a VM with a newer version of the OS.

👍

They asked me if a fresh Ubuntu 24.04 VM would be supported ?

Of course. Any GNU/Linux will do.

I doubt my faculty will give me the funds for an electronic labnote used only for undergraduate students...

Why isn't it extended to every interested parties? eLabFTW is used in countless organizations, supporting entire Universities, Research Centers, with hundreds of users. It has all the features one can require to deploy it at the institutional level. And on top of that, it is free and open source. It is the ELN of choice of many of the tutelles (CNRS, INRAE, CEA, etc...). It pushes for FAIR research data and good laboratory practices, with accountability, auditability, traceability.

There really isn't a good reason not to use it more widely at the university!

@lbonnefond
Copy link
Author

There really isn't a good reason not to use it more widely at the university!

I couldn't agree more. But for now it's just me, on a tiny VM and I maintain and reset every semester because I cannot store all student experiments...

@NicolasCARPi
Copy link
Contributor

Note that using mysql:8.0-debian seems to prevent running into this error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants