Skip to content

[BUG] 4.113.0-ls326 arm64 can not start #215

Description

@sagehou

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I updated to the latest version 4.113.0-ls326, the code server service was broken, roll back to 4.112.0-ls325, everything is fine.

Expected Behavior

It should start as expected.

Steps To Reproduce

My compose file

services:
  code-server:
    image: lscr.io/linuxserver/code-server:latest
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
      - PASSWORD=
      - HASHED_PASSWORD= #optional
      - SUDO_PASSWORD=xxxxxxxxxx
      - SUDO_PASSWORD_HASH= #optional
      - PROXY_DOMAIN=my.domain.name #optional
      - DEFAULT_WORKSPACE=/workspace
      - DOCKER_MODS=linuxserver/mods:code-server-bat|linuxserver/mods:code-server-shellcheck|linuxserver/mods:universal-docker|linuxserver/mods:code-server-nodejs|linuxserver/mods:code-server-npmglobal|linuxserver/mods:code-server-zsh|linuxserver/mods:code-server-pnpm|linuxserver/mods:code-server-powershell|linuxserver/mods:code-server-python3-poetry|linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=rsync|gh
      - PWA_APPNAME=code-server
      - NODEJS_MOD_VERSION=20
      - UMASK=022
      - DOCKER_HOST=dockerproxy
    volumes:
      - ./data:/config
      #- /var/run/docker.sock:/var/run/docker.sock:ro
    #ports:
    #  - 8443:8443
    restart: unless-stopped
    networks:
      - code-server
      - traefik
    labels:
      - 'traefik.enable=true'
      - 'traefik.docker.network=traefik'
      - 'traefik.http.routers.code-server.entrypoints=websecure'
      - 'traefik.http.routers.code-server.rule=Host(`my.domain.name`)'
      - 'traefik.http.routers.code-server.service=code-server'
      - 'traefik.http.routers.code-server.middlewares=oidc-auth@file'
      - 'traefik.http.routers.code-server-ports.entrypoints=websecure'
      - 'traefik.http.routers.code-server-ports.rule=HostRegexp(`^.+\.my\.domain\.name$`)'
      - 'traefik.http.routers.code-server-ports.service=code-server'
      - 'traefik.http.routers.code-server-ports.middlewares=oidc-auth@file'
      - 'traefik.http.services.code-server.loadbalancer.server.port=8443'

Environment

- OS:Ubuntu 24.04
- How docker service was installed:
docker.io engine install scripts.


Client: Docker Engine - Community
 Version:           29.3.1
 API version:       1.54
 Go version:        go1.25.8
 Git commit:        c2be9cc
 Built:             Wed Mar 25 16:16:48 2026
 OS/Arch:           linux/arm64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.3.1
  API version:      1.54 (minimum version 1.40)
  Go version:       go1.25.8
  Git commit:       f78c987
  Built:            Wed Mar 25 16:16:48 2026
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          v2.2.2
  GitCommit:        301b2dac98f15c27117da5c8af12118a041a31d9
 runc:
  Version:          1.3.4
  GitCommit:        v1.3.4-0-gd6d73eb8
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

CPU architecture

arm64

Docker creation

services:
  code-server:
    image: lscr.io/linuxserver/code-server:latest
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
      - PASSWORD=
      - HASHED_PASSWORD= #optional
      - SUDO_PASSWORD=xxxxxxxxxx
      - SUDO_PASSWORD_HASH= #optional
      - PROXY_DOMAIN=my.domain.name #optional
      - DEFAULT_WORKSPACE=/workspace
      - DOCKER_MODS=linuxserver/mods:code-server-bat|linuxserver/mods:code-server-shellcheck|linuxserver/mods:universal-docker|linuxserver/mods:code-server-nodejs|linuxserver/mods:code-server-npmglobal|linuxserver/mods:code-server-zsh|linuxserver/mods:code-server-pnpm|linuxserver/mods:code-server-powershell|linuxserver/mods:code-server-python3-poetry|linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=rsync|gh
      - PWA_APPNAME=code-server
      - NODEJS_MOD_VERSION=20
      - UMASK=022
      - DOCKER_HOST=dockerproxy
    volumes:
      - ./data:/config
      #- /var/run/docker.sock:/var/run/docker.sock:ro
    #ports:
    #  - 8443:8443
    restart: unless-stopped
    networks:
      - code-server
      - traefik
    labels:
      - 'traefik.enable=true'
      - 'traefik.docker.network=traefik'
      - 'traefik.http.routers.code-server.entrypoints=websecure'
      - 'traefik.http.routers.code-server.rule=Host(`my.domain.name`)'
      - 'traefik.http.routers.code-server.service=code-server'
      - 'traefik.http.routers.code-server.middlewares=oidc-auth@file'
      - 'traefik.http.routers.code-server-ports.entrypoints=websecure'
      - 'traefik.http.routers.code-server-ports.rule=HostRegexp(`^.+\.my\.domain\.name$`)'
      - 'traefik.http.routers.code-server-ports.service=code-server'
      - 'traefik.http.routers.code-server-ports.middlewares=oidc-auth@file'
      - 'traefik.http.services.code-server.loadbalancer.server.port=8443'

Container logs

code-server  | Setting up libpython3-dev:arm64 (3.12.3-0ubuntu2.1) ...
code-server  | Setting up python3-dev (3.12.3-0ubuntu2.1) ...
code-server  | Setting up g++ (4:13.2.0-7ubuntu1) ...
code-server  | update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
code-server  | update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist
code-server  | Setting up build-essential (12.10ubuntu1) ...
code-server  | Processing triggers for libc-bin (2.39-0ubuntu8.7) ...
code-server  | Processing triggers for debianutils (5.17build1) ...
code-server  | creating npm global folder in /config
code-server  | **** Setting up poetry ****
code-server  | Alias already exists in zsh, skipping
code-server  | setting npm to global folder in /config
code-server  | Alias already exists in /config/.bashrc, skipping
code-server  | Bat-extras already cloned, updating
code-server  | Already up to date.
code-server  | Installing bat-extras
code-server  | Setting permissions for bat-extras
code-server  | Retrieving Poetry metadata
code-server  | 
code-server  | The latest version (2.3.3) is already installed.
code-server  | **** ensuring poetry is in PATH ****
code-server  | **** poetry setup complete ****
code-server  | [custom-init] No custom files found, skipping...
code-server  | starting with no password
code-server  | /app/code-server/bin/code-server: 28: exec: /app/code-server/lib/node: Exec format error
code-server  | starting with no password
code-server  | /app/code-server/bin/code-server: 28: exec: /app/code-server/lib/node: Exec format error
code-server  | starting with no password
code-server  | /app/code-server/bin/code-server: 28: exec: /app/code-server/lib/node: Exec format error

Activity

  1. github-actions commented on Apr 3, 2026

    @github-actions

    Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

  2. aptalca commented on Apr 3, 2026

    @aptalca
    Member

    Could be a corrupt image. Try deleting and repulling the image.

  3. sagehou commented on Apr 3, 2026

    @sagehou
    Author

    Could be a corrupt image. Try deleting and repulling the image.可能是镜像损坏了。尝试删除并重新拉取镜像。

    Just have tried, not help

  4. g0lab commented on Apr 3, 2026

    @g0lab

    Exact same issue for me on the latest arm image (arm64v8-4.113.0) had to roll back to arm64v8-4.112.0

    Assuming its due to this and not related to the linuxserver build - coder/code-server#7738

  5. thespad commented on Apr 3, 2026

    @thespad
    Member

    Yeah this appears to be an issue with the upstream packages being mislabelled, not something we can fix.

  6. naXa777 commented on Apr 3, 2026

    @naXa777

    test on raspberry pi 5:

    docker run --rm --platform linux/arm64 \
      --entrypoint /usr/bin/od \
      lscr.io/linuxserver/code-server:arm64v8-4.113.0 \
      -A x -t x1z -v /app/code-server/lib/node | head -2
    000000 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00  >.ELF............<
    000010 02 00 3e 00 01 00 00 00 30 01 e9 00 00 00 00 00  >..>.....0.......<
    write /dev/stdout: broken pipe

    e_machine - This member's value specifies the required architecture for an individual file.
    e_machine = 0x3e = 62 = amd64/x86-64. For linux/arm64 AArch64 it should be 0xb7 (183 = EM_AARCH64).

    Name Value Meaning
    EM_X86_64 62 AMD x86-64 architecture
    EM_AARCH64 183 AArch64 architecture

    mistagged image:

    docker images
                                                                                                   i Info →   U  In Use
    IMAGE                                           ID             DISK USAGE   CONTENT SIZE   EXTRA
    lscr.io/linuxserver/code-server:arm64v8-latest  bdec461b8086        804MB             0B
    lscr.io/linuxserver/code-server:arm64v8-4.113.0 bdec461b8086        804MB             0B
    lscr.io/linuxserver/code-server:latest          bdec461b8086        804MB             0B

    region: EU

  7. thespad commented on Apr 3, 2026

    @thespad
    Member

    They're not mistagged, we ingested the arm packages for the arm images, but upstream published amd64 binaries for all arches by mistake.

  8. smerschjohann commented on Apr 3, 2026

    @smerschjohann

    there is a fix now upstream (4.113.1)

  9. moved this from Issues to Done in Issue & PR Trackeron Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions