docker / for-mac

Bug reports for Docker Desktop for Mac
https://www.docker.com/products/docker#/mac
2.42k stars 116 forks source link

Temurin-17.0.11+9 - # SIGSEGV (0xb) at pc=0x00007ffffe1b4700, pid=7, tid=33 - Docker Desktop for Apple Silicon #7286

Open bodhi-one opened 1 month ago

bodhi-one commented 1 month ago

Description

Similar to https://github.com/docker/for-mac/issues/7006

M1 MBP updated to Sonoma 14.5 on Tuesday this week.

#

A fatal error has been detected by the Java Runtime Environment:

#

SIGSEGV (0xb) at pc=0x00007ffffe1b4700, pid=7, tid=33

#

JRE version: OpenJDK Runtime Environment Temurin-17.0.11+9 (17.0.11+9) (build 17.0.11+9)

Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.11+9 (17.0.11+9, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)

Problematic frame:

V [libjvm.so+0x73d700] G1ParScanThreadState::trim_queue_to_threshold(unsigned int)+0x35b0

#

No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

#

An error report file with more information is saved as:

/home/dev/hs_err_pid7.log

#

If you would like to submit a bug report, please visit:

https://github.com/adoptium/adoptium-support/issues

#

Reproduce

Container running:

Java in the container will run for 1-5 minutes before crashing like above.

Expected behavior

Runs as expected, no issues

docker version

Client:
 Cloud integration: v1.0.35+desktop.13
 Version:           26.1.1
 API version:       1.45
 Go version:        go1.21.9
 Git commit:        4cf5afa
 Built:             Tue Apr 30 11:44:56 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.30.0 (149282)
 Engine:
  Version:          26.1.1
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  Git commit:       ac2de55
  Built:            Tue Apr 30 11:48:04 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cd56a71523140ca6ae87e30244719194a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Cloud integration: v1.0.35+desktop.13
 Version:           26.1.1
 API version:       1.45
 Go version:        go1.21.9
 Git commit:        4cf5afa
 Built:             Tue Apr 30 11:44:56 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.30.0 (149282)
 Engine:
  Version:          26.1.1
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  Git commit:       ac2de55
  Built:            Tue Apr 30 11:48:04 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cd56a71523140ca6ae87e30244719194a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
redacted@redacted-MacBook-Pro jenkins_aoln % docker info
Client:
 Version:    26.1.1
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.14.0-desktop.1
    Path:     /Users/redacted/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.0-desktop.2
    Path:     /Users/redacted/.docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.29
    Path:     /Users/redacted/.docker/cli-plugins/docker-debug
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     /Users/redacted/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.23
    Path:     /Users/redacted/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.4
    Path:     /Users/redacted/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.1.0
    Path:     /Users/redacted/.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/redacted/.docker/cli-plugins/docker-sbom
  scout: Docker Scout (Docker Inc.)
    Version:  v1.8.0
    Path:     /Users/redacted/.docker/cli-plugins/docker-scout

Server:
 Containers: 11
  Running: 4
  Paused: 0
  Stopped: 7
 Images: 120
 Server Version: 26.1.1
 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: active
  NodeID: qk1cjqvqbgsohjktw3p9weqxl
  Is Manager: true
  ClusterID: aof7d8y0cwnke6vpx3ctugogm
  Managers: 1
  Nodes: 1
  Default Address Pool: 10.0.0.0/8  
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 192.168.65.3
  Manager Addresses:
   192.168.65.3:2377
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e377cd56a71523140ca6ae87e30244719194a521
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 6.6.26-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 5
 Total Memory: 7.658GiB
 Name: docker-desktop
 ID: 56103f78-eacd-4a37-973a-02282a0d4742
 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
 Username: redacted
 Labels:
  com.docker.desktop.address=unix:///Users/redacted/Library/Containers/com.docker.docker/Data/docker-cli.sock
 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

19BD9591-4217-40CD-B558-96E3E82894F6/20240516143857

Additional Info

No response

jritst commented 1 month ago

+1

Myself and some others upgraded to Sonoma 14.5 yesterday and are now running into the same issue using Rosetta.

aberman commented 1 month ago

+1

Having the same issue after having updated to Sonoma 14.5. Running Java on Linux within a Docker container using Rosetta on an Apple M1 Max

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffffed2525a, pid=1, tid=0x00007ffffc512700
#
# JRE version: OpenJDK Runtime Environment (8.0_292-b10) (build 1.8.0_292-b10)
# Java VM: OpenJDK 64-Bit Server VM (25.292-b10 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x9d825a][thread 140737427617536 also had an error]
[thread 140737428670208 also had an error]
  oopDesc* PSPromotionManager::copy_to_survivor_space<false>(oopDesc*)+0x2ea
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# //hs_err_pid1.log
[thread 140737425512192 also had an error]
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
bodhi-one commented 1 month ago

Docker Team, I assume you have some kind of direct line into Apple to file a bug report please ? (assuming regression in Rosetta?)

Vause commented 1 month ago

We've seen the same issue for individuals running on Apple M1 Pro and Apple M2 Pro as well. This only started after upgrading to Sonoma 14.5. Following the thread in #7006 and attempting to use the community-suggested solutions did not work for us. Specifically, adding the following line to our docker-compose.yml:

JAVA_OPTS: '-XX:+UseConcMarkSweepGC'

The following information is what we've gathered in our Docker Desktop logs:

JRE version: OpenJDK Runtime Environment (8.0_322-b06) (build 1.8.0_322-b06) Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode linux-amd64 compressed oops)

vasuarv commented 1 month ago

This is still broken with Java 11.

mlooney commented 1 month ago

specifically, we see this when running amd_x86 xbuild images built on m1. probably another Qemu issue.

bodhi-one commented 1 month ago

specifically, we see this when running amd_x86 xbuild images built on m1. probably another Qemu issue.

For me, using an image build on x86, and pulling to local, running still fails on M1/docker/linux/jdk17

dgileadi commented 1 month ago

I'm hitting this issue too. If it helps, I had previously updated to Sonoma 14.5 and did not see this issue until I later updated my Docker Desktop to 4.30.0 from 4.28.0.

mlooney commented 1 month ago

For me, using an image build on x86, and pulling to local, running still fails on M1/docker/linux/jdk17

Also can verify this is the case as well

aberman commented 1 month ago

I'm hitting this issue too. If it helps, I had previously updated to Sonoma 14.5 and did not see this issue until I later updated my Docker Desktop to 4.30.0 from 4.28.0.

4.28 crashes as well, I went back to that version to test.

Lisamarie73187 commented 1 month ago

same issue, docker 4.30.0, Sonoma 14.5 (upgraded last week), M3 MBP.

Docker Desktop Logs: JRE version: OpenJDK Runtime Environment (8.0_342-b07) (build 1.8.0_342-b07) Java VM: OpenJDK 64-Bit Server VM (25.342-b07 mixed mode linux-amd64 compressed oops)

Problematic frame: V [libjvm.so+0x91483f] ObjectMonitor::enter(Thread*)+0x3f

filippyziak commented 1 month ago

Same issue M3 Max MBP tested both 4.28 and 4.30. Java 8 and Java 17 projects both not working.

fredAlm commented 1 month ago

Same issue M2 Pro on 4.30 for all Java images (only running over Rosetta tho9ugh)

ihormanzii commented 1 month ago

Same, M1 Pro, Sonoma 14.5

OpenPj commented 1 month ago

Same, M1 Pro, Sonoma 14.5

luicir commented 1 month ago

Same M3 Pro, Sonoma 14.5

Greggvas commented 1 month ago

Same M1 Pro, Sonoma 14.5, Java 8

doringeman commented 1 month ago

Hello,

We've filed the bug to Apple. Until a proper fixed release, these suggestions have worked for us:

Thanks for your reports and we'll keep you posted!

bodhi-one commented 1 month ago

Hello,

We've filed the bug to Apple. Until a proper fixed release, these suggestions have worked for us:

Thanks for your reports and we'll keep you posted!

I have tried these previous workarounds, did not work for me M1/DockerDesktop 4.30/RockyLinux 8.9/Temurin 17.0.11.
Thanks for filing the bug with Apple.

luicir commented 1 month ago

Hello,

We've filed the bug to Apple. Until a proper fixed release, these suggestions have worked for us:

Thanks for your reports and we'll keep you posted!

I have tried these on M3/DockerDesktop 4.30 and they don't work either.

edietzsch commented 1 month ago

The only way I could fix this issue at the moment (M3 Pro with Docker Desktop 4.30.0) with all of my java images, was switching to the Serial Garbage Collector: JAVA_OPTS: -XX:+UseSerialGC

This is at least an acceptable for local development for me, with the known limitation of the usage of this specific garbage collector (might not be a good solution for your specific case). Switching to the Z Garbage Collector (-XX:+UseZGC) was a hit-and-miss for many of my images.

btmaster commented 1 month ago

The only way I could fix this issue at the moment (M3 Pro with Docker Desktop 4.30.0) with all of my java images, was switching to the Serial Garbage Collector: JAVA_OPTS: -XX:+UseSerialGC

This is at least an acceptable for local development for me, with the known limitation of the usage of this specific garbage collector (might not be a good solution for your specific case). Switching to the Z Garbage Collector (-XX:+UseZGC) was a hit-and-miss for many of my images.

JAVA_OPTS: -XX:+UseSerialGC worked for me as well! Thanks!

Lisamarie73187 commented 1 month ago

still having issues, the work around - "JAVA_OPTS: -XX:+UseSerialGC is not working for me.

nisubramanyam commented 1 month ago

After disabling the Rosetta form Docker Desktop above mentioned error on top I am not seeing, but registry service and cloud config service is starting with below error, and after multiple try

"Caused by: java.net.SocketTimeoutException: Read timed out"

but our main service is not starting and try to connect to config service but its not connecting and giving below info message

Will be trying the next url if available to fetch config server

and also I have tried above mentioned solution but it not worked for me as well

@btmaster @edietzsch where exactly we need to add below line, we are using docker-compose.yml file to start our services. I have tried adding in docker-compose.yml file for all service like below but it did't worked

environment:
  - "JAVA_OPTS: -XX:+UseSerialGC"
AnnaZawadzkaGSCF commented 1 month ago

Tried environment:

With the huge traffic on docker it's not working

jonathan-fortin commented 1 month ago

Changing the GC option works, but for some images, it's not possible/doesn't work.

Is there anything new for a real fix?

RJ8ILMN commented 1 month ago

Same issue here M2Pro. Non of the JAVA_OPTS worked for me. But downgrading to docker 4.24.2 as mentioned in the link below worked for me.

As mentioned here: https://github.com/docker/for-mac/issues/7006#issuecomment-2128310876

Here I downloaded docker desktop 4.24.2 from: https://docs.docker.com/desktop/release-notes/#4242

filippyziak commented 1 month ago

Same issue here M2Pro. Non of the JAVA_OPTS worked for me. But downgrading to docker 4.24.2 as mentioned in the link below worked for me.

As mentioned here: #7006 (comment)

Here I downloaded docker desktop 4.24.2 from: https://docs.docker.com/desktop/release-notes/#4242

This workaround fixed it for me as well on M3 max. Thanks a lot @RJ8ILMN !!

nisubramanyam commented 1 month ago

Same issue here M2Pro. Non of the JAVA_OPTS worked for me. But downgrading to docker 4.24.2 as mentioned in the link below worked for me.

As mentioned here: #7006 (comment)

Here I downloaded docker desktop 4.24.2 from: https://docs.docker.com/desktop/release-notes/#4242

This is working for me as well for M1 Pro, Sonoma 14.5, Java 17. Thanks @RJ8ILMN

vasuarv commented 1 month ago

The one other workaround suggested in one of the threads seems to work, which is to downgrade the version of docker desktop to 4.24.2.

lconversano commented 1 month ago

Same issue after upgrade to Sonoma 14.5 with MacBook Pro - M3 Pro.

The change to the JAVA_OPTS did not solve the problem for me.

By downgrading to version 4.24.2 of Docker Desktop I was able to resolve the error but all the containers were unusable due to the slowness.

I solved it by downgrading to version 4.26.1 of Docker Desktop. Everything seems to work correctly.

PS: the "Use Rosetta for x86/amd64 emulation on Apple Silicon" flag is set to true.

However, I hope that the bug will be resolved soon so that we can update Docker Desktop to the latest version.

alberttwong commented 1 month ago

Downgrading 4.27.2 worked for me but latest (may 27) doesn't. Using Apple M2 Pro with Sonoma.

Lisamarie73187 commented 1 month ago

The downgrade to 4.26.1 worked for me at first. Now it is not working.

doringeman commented 1 month ago

Disabling Rosetta should fix the issue, although you'll lose the performance it brings. We've already filed a bug report to Apple.

marvingreenberg commented 1 month ago

Disabling Rosetta should fix the issue, although you'll lose the performance it brings.

I guess this confuses me. Disabling Rosetta prevents running AMD64 images if that is all that are available, which in my case is why I have enabled it.

kingtistel commented 1 month ago

No. Disabling Rosetta means Docker Desktop will use QEMU.

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Marvin Greenberg @.> Sent: Thursday, May 30, 2024 7:48:22 PM To: docker/for-mac @.> Cc: Opher Shachar (oshachar) @.>; Manual @.> Subject: Re: [docker/for-mac] Temurin-17.0.11+9 - # SIGSEGV (0xb) at pc=0x00007ffffe1b4700, pid=7, tid=33 - Docker Desktop for Apple Silicon (Issue #7286)

Disabling Rosetta should fix the issue, although you'll lose the performance it brings.

I guess this confuses me. Disabling Rosetta prevents running AMD64 images if that is all that are available, which in my case is why I have enabled it.

— Reply to this email directly, view it on GitHubhttps://github.com/docker/for-mac/issues/7286#issuecomment-2140230871, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7YQRMHFYREJLPETJ7EE3HTZE5J5NAVCNFSM6AAAAABH2L3VOCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBQGIZTAOBXGE. You are receiving this because you are subscribed to this thread.Message ID: @.***>

gwitsch commented 4 weeks ago

Disabling Rosetta should fix the issue, although you'll lose the performance it brings. We've already filed a bug report to Apple.

Confirmed. Just disabled Rosetta in Docker settings too and java containers are working again.

dgageot commented 2 weeks ago

Hi everyone, here's an internal build that you could try: Docker.dmg We believe it fixes your issues. I would be happy to find out if it doesn't

amineo commented 2 weeks ago

Hi everyone, here's an internal build that you could try: Docker.dmg We believe it fixes your issues. I would be happy to find out if it doesn't

4.32.0 (153994) - This is working for me! Thanks for your hard work and fixing this quickly

schneekatze commented 2 weeks ago

the downgrade to 4.26.2 did the trick. Works fine 12. June

AlexRitter commented 2 weeks ago

I can start my Elasticsearch Container with 4.32.0 (153994) - this was not possible with 4.31 or 4.30 , but it seams not to be very stable. The Container will terminate after a couple of minutes when network access occurs. Also tried to disable rosetta, but no luck (OSX14.5 on M2Max). Interesting part - the container will stop with Code (137) and no other log entries. Any idea ?

stephenmontgomery commented 2 weeks ago

Yeah that new internal docker image (4.32.0 (153994)) works well with m1 mac on 14.5. It wasn't working yesterday when I upgraded to macos 4.50 with docker 4.29 and SIGSEGV Java errors on amd64 emulation mode. I have opensearch in the mix too and it works fine. Thanks!

gwitsch commented 2 weeks ago

Just had another look today at the behaviour, as I had to do a clean install of docker on my Mac. The issue can be triggered by choosing different Java Garbage collectors in Java I am using Docker Desktop v4.31.0 and Java openjdk version "17.0.11" 2024-04-16 LTS

ParallelGC does not work! -XX:+UseParallelGC

G1GC works! -XX:+UseG1GC

sanak commented 5 days ago

I couldn't install 4.32.0 on my M1 Mac environment probably due to anti-virus software check, so I downgraded 4.26.1 and now it works fine. Thanks a lot of the informations! 🙇

=> Sorry, 4.32.0 can be installed from macOS system setting "Privacy and Security" menu. 4.26.1 was a bit slow, but 4.32.0 is fine on my environment.