Mac M1 - after upgrade to Docker Desktop 4.27.1 docker container with java fails with qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Description
Various docker containers built on arm64 and work fine with docker desktop 4.26.1 and earlier now fail with 4.27.1 with the following error when the Java JVM tries to start: qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Rolling back to 4.26.1 solves the problem.
Reproduce
docker run -p 10039:10039 -p 10041:10041 -p 10042:10042 -p 10020:10020 -p 10200:10200 -p 10203:10203 -p 10202:10202 -p 127.0.0.1:7779:7779 --platform=linux/amd64 -d ... Inside the container check the JVM logs.
Expected behavior
Docker container with Java JVM should be able to start.
docker version
Client:
Cloud integration: v1.0.35+desktop.10
Version: 25.0.2
API version: 1.44
Go version: go1.21.6
Git commit: 29cf629
Built: Thu Feb 1 00:18:45 2024
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.27.1 (136059)
Engine:
Version: 25.0.2
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: fce6e0c
Built: Thu Feb 1 00:23:21 2024
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Version: 25.0.2
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.12.1-desktop.4
Path: /Users/thomashurek/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.24.3-desktop.1
Path: /Users/thomashurek/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container. (Docker Inc.)
Version: 0.0.22
Path: /Users/thomashurek/.docker/cli-plugins/docker-debug
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.0
Path: /Users/thomashurek/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.21
Path: /Users/thomashurek/.docker/cli-plugins/docker-extension
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.4
Path: /Users/thomashurek/.docker/cli-plugins/docker-feedback
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.0.0
Path: /Users/thomashurek/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/thomashurek/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.3.0
Path: /Users/thomashurek/.docker/cli-plugins/docker-scout
WARNING: Plugin "/Users/thomashurek/.docker/cli-plugins/docker-scan" is not valid: failed to fetch metadata: fork/exec /Users/thomashurek/.docker/cli-plugins/docker-scan: no such file or directory
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 6
Server Version: 25.0.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc version: v1.1.12-0-g51d5e94
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.6.12-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 10
Total Memory: 11.92GiB
Name: docker-desktop
ID: 0c2b3f80-2c24-4c41-8a0a-694a04bd78ef
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
Diagnostics ID
87F8214C-033B-4E15-8F11-D909E9F5EF70/20240205200938
Additional Info
No response
Thank @ThomasHurek, sorry for breaking your workflow. I think I know where it comes from. I'll investigate some more tomorrow. Do you have an example of docker image I can use?
@dgageot Thank you for looking into it. Unfortunately not a public image.
@dgageot If it's helpful, I'm also getting a qemu seg fault when trying to run containers based off of postgis/postgis:15-master image. That one is public. I'm currently on macOS Monterey, but am going to update to Sonoma this evening.
db | performing post-bootstrap initialization ... ok
db | syncing data to disk ... ok
db |
db | initdb: warning: enabling "trust" authentication for local connections
db | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
db |
db | Success. You can now start the database server using:
db |
db | pg_ctl -D /var/lib/postgresql/data -l logfile start
db |
db | waiting for server to start....2024-02-05 20:51:40.289 UTC [126] LOG: starting PostgreSQL 15.2 (Debian 15.2-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
db | 2024-02-05 20:51:40.292 UTC [126] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db | 2024-02-05 20:51:40.309 UTC [134] LOG: database system was shut down at 2024-02-05 20:51:39 UTC
db | qemu: uncaught target signal 11 (Segmentation fault) - core dumped
db | qemu: uncaught target signal 11 (Segmentation fault) - core dumped
db | qemu: uncaught target signal 11 (Segmentation fault) - core dumped
db | stopped waiting
db | pg_ctl: could not start server
db | Examine the log output.
db exited with code 1
Then when I looked at the container logs after stopping it, I saw these:
2024-02-05 17:24:21
2024-02-05 17:24:21 PostgreSQL Database directory appears to contain a database; Skipping initialization
2024-02-05 17:24:21
2024-02-05 17:24:21 2024-02-05 23:24:21.311 UTC [1] LOG: starting PostgreSQL 15.5 (Debian 15.5-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2024-02-05 17:24:21 2024-02-05 23:24:21.317 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2024-02-05 17:24:21 2024-02-05 23:24:21.317 UTC [1] LOG: listening on IPv6 address "::", port 5432
2024-02-05 17:24:21 2024-02-05 23:24:21.382 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-05 17:24:21 2024-02-05 23:24:21.449 UTC [70] LOG: database system was interrupted; last known up at 2024-02-05 22:55:06 UTC
2024-02-05 17:24:21 2024-02-05 23:24:21.994 UTC [72] FATAL: the database system is starting up
2024-02-05 17:24:22 2024-02-05 23:24:22.309 UTC [70] LOG: database system was not properly shut down; automatic recovery in progress
2024-02-05 17:24:22 2024-02-05 23:24:22.341 UTC [70] LOG: invalid record length at 0/14FE148: wanted 24, got 0
2024-02-05 17:24:22 2024-02-05 23:24:22.341 UTC [70] LOG: redo is not required
2024-02-05 17:24:22 2024-02-05 23:24:22.379 UTC [66] LOG: checkpoint starting: end-of-recovery immediate wait
2024-02-05 17:24:22 2024-02-05 23:24:22.395 UTC [66] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.002 s, total=0.028 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB
2024-02-05 17:24:22 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
2024-02-05 17:24:22 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
2024-02-05 17:24:22 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
After upgrading OS to Sonoma this error went away π₯³
Same here.
- docker-compose
- postgis/postgis:11-2.5
- macOS Ventura 13.6.4 (22G513)
Error message
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Edit:
I downgraded to docker desktop 4.26.1 and the issue seemed to be gone
Same here
-
qemu: uncaught target signal 11 (Segmentation fault) - macOS 13.5.2 M1 Max
- I downgraded a few versions, to
4.24.2and it stopped happening - The base Image I'm using is
ubuntu:focalwith a custom Node.js 18x application
If you experience this issue: downgrade Docker for Mac https://stackoverflow.com/a/64825028/4681920
Update: after updating to macOS 14.3 the issue does not occur anymore
Unfortunately macOS 14.x is not rolled out in our company yet so stuck with 12.x or 13.x.
I'm also having this issue, building the container worked yesterday, not today after the update to 4.27.1
-macOS Monterey 12.7, M1
When I downgraded back to 4.26.1 here it worked again.
It happens with linux/amd64 docker/dev-environments-default:stable-1 on my M1 Mac.
@jmlapre and everyone, could you try Docker Desktop 4.27.2 that was released today?
Just tried and still seeing: qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Also seeing this after updating to Docker Desktop 4.27.1 in the last few days. A number of our older builds that previously worked over the past years are now suddenly seeing various output similar to this
app-1 | /gems/gems/image_optim_pack-0.6.0-x86_64-linux/lib/image_optim/pack.rb:69: [BUG] Segmentation fault at 0x0000000000000000
app-1 | ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
app-1 |
app-1 | -- Control frame information -----------------------------------------------
app-1 | qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Hi everyone, here's the status on this one:
- I was able to reproduce the
qemu: uncaught target signal 11 (Segmentation fault)error on 4.27.2, with Rosetta disabled. - When Rosetta is enabled, it all works fine
- On Docker Desktop 4.26.1, the very old version of Qemu that we had also seems to work fine. We updated Qemu to a more recent version in 4.27.0
Could you all try and activate Rosetta, in 4.27.2, and tell me if that works for you too? I'll try QEMU 8.1.5 and 8.2.1 to see if they fixe the issue. (We currently ship 8.1.4)
Hey everyone,
i just stumbled across the same error after updating to version 4.27.1 this morning and then to 4.27.2.
@dgageot after enabling Rosetta the error seems to be gone.
@dgageot When you mention enabling rosetta I have rosetta enabled in my mac - is there a docker desktop setting to switch to rosetta instead of qemu? I am on macOS 12.7.
Same - not seeing this configuration option in the Docker Desktop preferences.
@ThomasHurek @jasonfine I do see the Use Rosetta for x86/amd64 emulation on Apple Silicon option in the general settings of docker desktop on v4.27.1. Also worked for me!
Upgraded to macOS 14.3.1 and docker-compose started running like a πΈπ» again ππ»
Yup, upgrade to Mac OS 14 did the trick for me too, thanks
@ThomasHurek @jasonfine Don't you see these settings?
This is how it looks like for me:
On Mac OS 14.3.1 with Docker Desktop 4.27.2 PHP container fails like this with containerd on:
A. With Rosetta emulation disabled
2024-02-14 11:39:10 [14-Feb-2024 11:39:10] WARNING: [pool www] child 115 said into stderr: "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
2024-02-14 11:39:10 [14-Feb-2024 11:39:10] WARNING: [pool www] child 115 exited on signal 11 (SIGSEGV) after 241.836107 seconds from start
B. Enabled Rosetta
2024-02-14 11:49:25 [14-Feb-2024 11:49:25] WARNING: [pool www] child 198 exited on signal 11 (SIGSEGV) after 39.904495 seconds from start
In other words there is no Qemu error with Rosetta enabled, but the container crashes consistently nonetheless with v4.27.x.
This is how it looks like for me:
@ThomasHurek Sorry, I checked and you have to be at least on macOS 13 to enable Rosetta.
I am on 14.3 MacOS issue still persists.
@pitops Have you tried Rosetta?
@dgageot I haven't. Instead I just tried with the downgraded 4.26.1 and it got passed that error. Definitely something wrong with latest docker version
@dgageot I haven't. Instead I just tried with the downgraded 4.26.1 and it got passed that error. Definitely something wrong with latest docker version
Please give a try to Rosetta. It seems to work for most of the users who have this issue. Yes, Docker Desktop 4.27+ has got qemu 8.1.5 that is way more recent than the 6.something that came with Docker Desktop 4.26.1. But it comes with regressions.
Still on OS 12.6 here, the downgrade to 4.26.1 works for now. I'm going to stick with this for now as a full system update could potentially be a headache with my current workload.
Due to a third party software we can't have Rosetta enabled. Switching it off has worked until 4.27+ . After that release all interactions with the library produces Segmentation fault. Works fine with 4.26.1.
MacOS 14.3.1