-
Notifications
You must be signed in to change notification settings - Fork 121
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
Rosetta emulation of amd64 version of ibm-semeru-runtimes:open-11-jdk-focal stopped working with macOS Sonoma 14.3 #7180
Comments
@elmnic This is a regression in Rosetta, on Apple's side. macOS Sonoma 14.3 ships with this regression. We'll contact Apple to see when they can fix it. For now, we've prepared a workaround we're planning on shipping with Docker Desktop 4.28.0. |
@dgageot do you think this was fixed in 4.28.0? We are still seeing the regression with our own software, could it be a different case?
|
@dgageot What was the workaround that goes with Docker 4.28.0? I upgraded to Docker Desktop 4.28.0, and still get the error that we were getting with our own built product. Is there some other setting or condition we have to set up? Did the workaround make it into the release?
I don't know why some of our shared libraries have the executable stack bit set; I checked our source code for the option. I guess in some cases, the compiler thinks that bit is necessary and turns it on automatically.
If I turn off Rosetta and use QEMU, our code just crashes instead, and so does Node.js. |
@datalogics-kam unfortunately, we didn't ship a workaround. Apple has fixed the issue on their side, it should ship with a future patch release of macOS. |
@dgageot Thanks for the update, is there a particular public item from the Apple side we can communicate with our customers or its a wait and see ? |
Looks like this was fixed in macOS 14.4 (developer) beta 5. Unmentioned in release notes, however. |
macOS 14.4 is officially out now and has the fix included. 🎉 |
Description
Using the amd64 version of
ibm-semeru-runtimes:open-11-jdk-focal
and attempting to run java using it results in the output:docker run --rm --platform=linux/amd64 ibm-semeru-runtimes:open-11-jdk-focal java --version libjvm.so preloadLibrary(/opt/java/openjdk/lib/default/libj9vm29.so): /opt/java/openjdk/lib/default/libj9vm29.so: cannot enable executable stack as shared object requires: Invalid argument libjvm.so failed to load: j9vm29
Downgrading Docker Desktop to 4.26.1 made no difference.
Running on another Mac with Sonoma 14.2.x works both with and without Rosetta enabled.
Edit:
Using Temurin works but is not an option.
Upgrading Docker Desktop to 4.27.2 didn't solve it.
Reproduce
Running this on macOS Sonoma 14.3 with Docker Desktop 4.27.1
produces
Expected behavior
docker run --rm --platform=linux/amd64 ibm-semeru-runtimes:open-11-jdk-focal java --version
should print out the java version with Rosetta enabledOutput with Rosetta disabled in Docker Desktop
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
Diagnostics ID
BE30248B-B1A2-4992-8CC6-2AA3241976AC/20240208155104
Additional Info
Running with Rosetta disabled in Docker Desktop is not an option because other images fail to run instead.
The text was updated successfully, but these errors were encountered: