Main issue is in rosetta virtualization. So I use UTM.app for virtualize Fedora 38-aarch64 with rosetta enabled. Shared memory C-source test in fedora produce properly output.
Main problem is when I try to run amd64 virtualized docker instance in fedora and test shared memory C-source test with rosetta that it produce this error:
assertion failed [rem_idx != ]: Unable find existing allocation shared memory segment to unmap
(VMAllocationTracker.cpp remove_shared_mem)
Trace/breakpoint (core dumped)
On previous version of Sonoma it work properly. Error occurred on Sonoma 14.3. I also try to upgrade to latest 14.3.1 but still has same.
Fast check of rosetta emulation is use Rancher desktop -> In preference -> Go to 'Virtual Machine' tab -> enable 'VZ' + enable 'Rosetta support'
Next go to Images section -> Add image -> amd64/centos:7 -> Pull
Run docker amd64 image -> docker run -it --platform=linux/amd64 amd64/centos:7 bash
Check if process use rosetta -> ps ax -> should show
[root@7c9941f11436 /]# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 Ss 0:00 /mnt/lima-rosetta/rosetta /usr/bin/bash
15 pts/0 R+ 0:00 /usr/bin/ps ax
Compile share C-source file and run it and it show error in emulation
shared memory attached at address 0x7fffff1ff000
segment size: 25600
shared memory reattached at address 0x5000000
Hello, world.
assertion failed [rem_idx != -1]: Unable to find existing allocation for shared memory segment to unmap
(VMAllocationTracker.cpp:745 remove_shared_mem)
Trace/breakpoint trap (core dumped)
When I run same step on "arm64v8/centos" image it produce propelry output
[root@c8e5c3806b38 /]# ./a.out
shared memory attached at address 0xffff91e3e000
segment size: 25600
shared memory reattached at address 0x5000000
Hello, world.
[root@c8e5c3806b38 /]#
So I think there is some problem in rosetta 2 in Sonoma 14.3 and newer when try to run shmdt() function for detach shared memory segment which call in Rosetta
assertion failed [rem_idx != -1]: Unable to find existing allocation for shared memory segment to unmap
(VMAllocationTracker.cpp:745 remove_shared_mem)
Trace/breakpoint trap (core dumped)
Post
Replies
Boosts
Views
Activity
Similar post is here
Workaround:
Downgrade Sonoma to 14.2 and save files from /Library/Apple/usr/libexec/oah/RosettaLinux to rosetta.tar
Reboot to recovery mod Recovery mod
Shutdown Mac
push option + volume up + poweron to recovery mode
click on options and continue
log in and click on option and terminal
put csrutil disable
reboot
copy files from rosetta.tar to /Library/Apple/usr/libexec/oah/RosettaLinux folder
a) use sudo cp ...
reboot to recovery as step 2.
open terminal and put csrutil enable
Not you have worked rosetta from Sonoma 14.2
Apparently it was solved with Sonoma 14.6.1 and also in Sequoia