'Why is the Docker platform abstraction not allowing me to run this amd64 image?

According to Microsoft, their Cosmos DB docker image doesn't run on Apple Mac M1 chips. However, I'd always believed that I could run images targetting different architectures with --platform linux/amd64 option. This work for images I've experimented with, but for the Cosmos image I get the same arch related error.

./palrun: ERROR: Invalid mapping of address 0x40037dd000 in reserved address space below 0x400000000000. Possible causes:
1) the process (itself, or via a wrapper) starts-up its own running environment sets the stack size limit to unlimited via syscall setrlimit(2);
2) the process (itself, or via a wrapper) adjusts its own execution domain and flag the system its legacy personality via syscall personality(2);
3) sysadmin deliberately sets the system to run on legacy VA layout mode by adjusting a sysctl knob vm.legacy_va_layout.

I'd like to understand why this image fails to run with --platform linux/amd64. Shouldn't the image be abstracted from the arm64 architecture?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source