[aarch64-port-dev ] Crashes while building aarch64 port using icedtea 2.5.1

Andrew Haley aph at redhat.com
Thu Jul 24 10:23:51 UTC 2014


On 07/24/2014 10:41 AM, Edward Nevill wrote:

> So it is faulting on the instruction "ldr wzr, [x8]". This is a test
> of the polling page. What OpenJDK does is, when it wants to do a GC
> it runs all threads to a safe point, ie a point in the compiled code
> where it knows the location of all object references. It does this
> by read protecting the polling page. The polling page is polled at
> well known safe points such as (in the above case) a return from a
> method.
> 
> OpenJDK then traps the resultant SIG SEGV and when all threads have
> run to a safe point it is safe to do a GC.
> 
> However, it would seem that in this case although the signal is
> being thrown, it is not being caught correctly by OpenJDK.
> 
> The first question is whether you are running this is user emulation
> or system emulation. My QEMU expert tells me that in user emulation
> mode signals may not be delivered to the correct thread.

Thanks for that.

I'm pretty amazed that QEMU user mode is fit for anything at all if it
can't get something so basic right.  If I ever had any doubt about the
wisdom of writing a our homebrew simulator to develop the AArch64
OpenJDK port, it is now gone.

Andrew.


More information about the aarch64-port-dev mailing list