Error SIMD unsupported on docker n8n container

Hello, Can anybody know what can be happening with the n8n docker version

I got this message (under portainer log), and the n8n container refuse to get up and restart every time. This also happen with another one machine with docker (both are with debian12) that was perfectly working until last update.

No encryption key found - Auto-generated and saved to: /home/node/.n8n/config
CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
User settings loaded from: /home/node/.n8n/config
CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
User settings loaded from: /home/node/.n8n/config
CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
User settings loaded from: /home/node/.n8n/config
CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
User settings loaded from: /home/node/.n8n/config

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hey @miko,

I have not seen that before, When you say the last update which version do you mean? Are you also using a custom image at all or running commands to add anything?

Also what is SIMD?

Im just install with docker compose from fresh install and got same error.

im doing docker-compose up -d, and n8n wont get up

version: '3.8'

volumes:
  db_storage:
  n8n_storage:

services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
      - POSTGRES_NON_ROOT_USER
      - POSTGRES_NON_ROOT_PASSWORD
    volumes:
      - db_storage:/var/lib/postgresql/data
      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
      - TZ=America/Argentina/Buenos_Aires
    ports:
      - 5678:5678
    links:
      - postgres
    volumes:
      - n8n_storage:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy
root@debianLatitude:/usr/src/n8n/docker/compose/N8N# docker-compose up -d
Creating network "n8n_default" with the default driver
Creating volume "n8n_db_storage" with default driver
Creating volume "n8n_n8n_storage" with default driver
Pulling postgres (postgres:16)...
16: Pulling from library/postgres
e1caac4eb9d2: Pull complete
7a2930f13d47: Pull complete
a6c49e965138: Pull complete
ed8dc94f857d: Pull complete
1f07b4807698: Pull complete
a776288d4030: Pull complete
7cbb4adb3448: Pull complete
b6dbd7317d5f: Pull complete
52814b5dc710: Pull complete
b68697689b55: Pull complete
6d80681e3923: Pull complete
4270a9f40aee: Pull complete
d28fa0286314: Pull complete
cb1ee5bc271e: Pull complete
Digest: sha256:f58300ac8d393b2e3b09d36ea12d7d24ee9440440e421472a300e929ddb63460
Status: Downloaded newer image for postgres:16
Pulling n8n (docker.n8n.io/n8nio/n8n:)...
latest: Pulling from n8nio/n8n
4abcf2066143: Pull complete
e7ced292c644: Pull complete
b32c0114bba5: Pull complete
f3748d9674b0: Pull complete
a981675a3a21: Pull complete
2dc19a753eca: Pull complete
4f4fb700ef54: Pull complete
792ebafc29e4: Download complete
792ebafc29e4: Pull complete
8385ce2b4e83: Pull complete
73c414c18fe6: Pull complete
Digest: sha256:f087b8a68c1e909c5dbdd2f2127fe6b25d9678796b446cd3df65c8e673594d22
Status: Downloaded newer image for docker.n8n.io/n8nio/n8n:latest
Creating n8n_postgres_1 ... done

ERROR: for n8n  Container "d3dbbe827a21" is unhealthy.
ERROR: Encountered errors while bringing up the project.


docker-compose logs (lasts messages):

postgres_1 | PostgreSQL init process complete; ready for start up.
postgres_1 |
postgres_1 | 2024-03-07 12:09:09.478 UTC [1] LOG: starting PostgreSQL 16.2 (Debian 16.2-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
postgres_1 | 2024-03-07 12:09:09.478 UTC [1] LOG: listening on IPv4 address “0.0.0.0”, port 5432
postgres_1 | 2024-03-07 12:09:09.479 UTC [1] LOG: listening on IPv6 address “::”, port 5432
postgres_1 | 2024-03-07 12:09:09.568 UTC [1] LOG: listening on Unix socket “/var/run/postgresql/.s.PGSQL.5432”
postgres_1 | 2024-03-07 12:09:09.675 UTC [75] LOG: database system was shut down at 2024-03-07 12:09:09 UTC
postgres_1 | 2024-03-07 12:09:09.734 UTC [1] LOG: database system is ready to accept connections
n8n_1 | No encryption key found - Auto-generated and saved to: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | User settings loaded from: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | User settings loaded from: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | User settings loaded from: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | User settings loaded from: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | User settings loaded from: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368
n8n_1 | No encryption key found - Auto-generated and saved to: /home/node/.n8n/config
n8n_1 | CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported

I had no idea

After a while appears this error, seems to be the same but with same error…

...
n8n_1       | Finished migration DropRoleMapping1705429061930
n8n_1       | Version: 1.31.1
n8n_1       | 
n8n_1       | Editor is now accessible via:
n8n_1       | http://localhost:5678/
n8n_1       | Error fetching feature flags Error [PostHogFetchNetworkError]: Network error while fetching PostHog
n8n_1       |     at new PostHogFetchNetworkError (/usr/local/lib/node_modules/n8n/node_modules/posthog-node/lib/index.cjs.js:740:16)
n8n_1       |     at PostHog.<anonymous> (/usr/local/lib/node_modules/n8n/node_modules/posthog-node/lib/index.cjs.js:1129:51)
n8n_1       |     at step (/usr/local/lib/node_modules/n8n/node_modules/posthog-node/lib/index.cjs.js:135:27)
n8n_1       |     at Object.throw (/usr/local/lib/node_modules/n8n/node_modules/posthog-node/lib/index.cjs.js:84:53)
n8n_1       |     at rejected (/usr/local/lib/node_modules/n8n/node_modules/posthog-node/lib/index.cjs.js:71:36) {
n8n_1       |   error: TypeError: fetch failed
n8n_1       |       at Object.fetch (node:internal/deps/undici/undici:11731:11) {
n8n_1       |     cause: [CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368]
n8n_1       |   },
n8n_1       |   [cause]: TypeError: fetch failed
n8n_1       |       at Object.fetch (node:internal/deps/undici/undici:11731:11) {
n8n_1       |     cause: [CompileError: WebAssembly.compile(): Compiling function #66 failed: Wasm SIMD unsupported @+5368]
n8n_1       |   }
n8n_1       | }

Happens with all n8n versions upper than 1.31.0, (see log that 1.31.1 won get up, also i try 1.32.0)

I change in docker compose:
n8n:
image: docker.n8n.io/n8nio/n8n:1.31.0

Now is ok

n8n_1 | Finished migration DropRoleMapping1705429061930
n8n_1 | Version: 1.31.0
n8n_1 |
n8n_1 | Editor is now accessible via:
n8n_1 | http://localhost:5678/
n8n_1 | Owner was set up successfully
n8n_1 | User survey updated successfully

Is there any new CPU, or something related to that SIMD on the newer version from 1.31.0?

This is happen at least on old CPU (to do some simple tests):

root@debianLatitude:/usr/src/n8n/docker/compose/N8N# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 36 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel
Model name: Intel(R) Core™2 CPU T5500 @ 1.66GHz
BIOS Model name: CPU @ 1.6GHz
BIOS CPU family: 185
CPU family: 6
Model: 15
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Stepping: 6
CPU(s) scaling MHz: 100%
CPU max MHz: 1667.0000
CPU min MHz: 1000.0000
BogoMIPS: 3328.95
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm cons
tant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm pti dtherm
Caches (sum of all):
L1d: 64 KiB (2 instances)
L1i: 64 KiB (2 instances)
L2: 2 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0,1
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: KVM: Mitigation: VMX unsupported
L1tf: Mitigation; PTE Inversion
Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
Meltdown: Mitigation; PTI
Mmio stale data: Unknown: No mitigations
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Srbds: Not affected
Tsx async abort: Not affected

1 Like

confirm the same error after updating from version 1.31.1 to latest with docker on ubuntu 22.04
i cant downgrade to version 1.31.1 again the solution just downgrade to version 1.31.0

image

For now I would recommend going back to the older version and I will get a dev ticket created in the morning so the core team can investigate further.

It looks like a package we use is causing the issue so we may need to either raise an issue there or find a way to work around this.

1 Like

Would someone with the issue be able to set N8N_DIAGNOSTICS_ENABLED to false to see if it helps?

Hi Jon:

Does not change anything.

root@acerdebian:/usr/src/n8n/docker/compose/withPostgres# docker-compose up -d
Creating network “withpostgres_default” with the default driver
Creating volume “withpostgres_db_storage” with default driver
Creating volume “withpostgres_n8n_storage” with default driver
Pulling postgres (postgres:16)…
16: Pulling from library/postgres
e1caac4eb9d2: Pull complete
7a2930f13d47: Pull complete
a6c49e965138: Pull complete
ed8dc94f857d: Pull complete
1f07b4807698: Pull complete
a776288d4030: Pull complete
7cbb4adb3448: Pull complete
b6dbd7317d5f: Pull complete
52814b5dc710: Pull complete
b68697689b55: Pull complete
6d80681e3923: Pull complete
4270a9f40aee: Pull complete
d28fa0286314: Pull complete
cb1ee5bc271e: Pull complete
Digest: sha256:f58300ac8d393b2e3b09d36ea12d7d24ee9440440e421472a300e929ddb63460
Status: Downloaded newer image for postgres:16
Pulling n8n (docker.n8n.io/n8nio/n8n:)…
latest: Pulling from n8nio/n8n
4abcf2066143: Pull complete
e7ced292c644: Pull complete
b32c0114bba5: Pull complete
f3748d9674b0: Pull complete
a981675a3a21: Pull complete
2dc19a753eca: Pull complete
4f4fb700ef54: Pull complete
4eda048f09df: Pull complete
d9e54ded0632: Pull complete
797321cb53e2: Pull complete
Digest: sha256:43b216ff70bdda2543a87561cc046ed42e2425c99eae156c76f9479dbd8841d4
Status: Downloaded newer image for docker.n8n.io/n8nio/n8n:latest
Creating withpostgres_postgres_1 … done

ERROR: for n8n Container “8917b4f92dfb” is unhealthy.
ERROR: Encountered errors while bringing up the Project.

Again…:

root@acerdebian:/usr/src/n8n/docker/compose/withPostgres# docker-compose up -d
withpostgres_postgres_1 is up-to-date
Creating withpostgres_n8n_1 … done

ENV:

Test machine (pretty same old cpu as core2duo):

root@acerdebian:/usr/src/n8n/docker/compose/withPostgres# lscpi
-bash: lscpi: command not found
root@acerdebian:/usr/src/n8n/docker/compose/withPostgres# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Vendor ID: AuthenticAMD
BIOS Vendor ID: AMD
Model name: AMD Athlon™ 64 X2 Dual-Core Processor TK-55
BIOS Model name: AMD CPU @ 1.8GHz
BIOS CPU family: 132
CPU family: 15
Model: 104
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Stepping: 1
CPU(s) scaling MHz: 44%
CPU max MHz: 1800.0000
CPU min MHz: 800.0000
BogoMIPS: 3600.78
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl cpuid extd_
apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall lbrv
Virtualization features:
Virtualization: AMD-V
Caches (sum of all):
L1d: 128 KiB (2 instances)
L1i: 128 KiB (2 instances)
L2: 512 KiB (2 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0,1
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Not affected
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Srbds: Not affected
Tsx async abort: Not affected

The good news is we know where the issue is coming from now, We will need to do a patch release to resolve this. The issue itself looks to be coming from this: Wasm SIMD unsupported · Issue #2934 · nodejs/undici · GitHub

3 Likes

(edited)
its fixed on pre release version Release [email protected] · n8n-io/n8n · GitHub, thank you

1 Like