[Bug 265284] java/openjdk11: wont run or build running on VMWare on M1 Mac Mini (aarch64)

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 21 Jul 2022 23:18:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265284

--- Comment #8 from Miguel Arroz <arroz@me.com> ---
So we confirmed this crashes on code generated by the JIT compiler:

The output of the following command when running java:

> dtrace -n 'inline string process = "java"; ::mmap:entry /execname == process && (arg2 & 0x7) == 0x7/ { this->follow=1; printf("addr=%p size=%p prot=%p", arg0, arg1, arg2) } ::mmap:return /this->follow/ { this->follow = 0; printf("addr=%p", arg0) }'

is:

CPU     ID                    FUNCTION:NAME
  1  54289                       mmap:entry addr=7607c2687000 size=270000
prot=7
  1  54290                      mmap:return addr=ffffffffc2687000
  1  54289                       mmap:entry addr=7607c2c16000 size=270000
prot=7
  1  54290                      mmap:return addr=ffffffffc2c16000
  1  54289                       mmap:entry addr=7607ca14e000 size=270000
prot=7
  1  54290                      mmap:return addr=ffffffffca14e000


I was running java in lldb, and the address where it crashed is inside the
first block: ->  0x7607c26ce190: mov    x0, #0x43c

We also confirmed the dtrace is similar in the seldom occasions where "java"
runs successfully.

Not exactly sure what this proves aside from the fact the crash happens in
generated code. I'm trying to find more info regarding how does W^X protection
in M1s work under hypervisors but it's not easy to find anything about that.

-- 
You are receiving this mail because:
You are the assignee for the bug.