[aarch64-port-dev ] Crashes while building aarch64 port using icedtea 2.5.1
Fridrich Strba
fridrich.strba at suse.com
Thu Jul 24 13:31:43 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello Edward
On 24/07/14 11:41, 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.
>
> He has pointed me at the following QEMU patch which may help, but
> is not a fix.
>
> Otherwise I am afraid the answer is to run in system emulation
> mode, or run on real HW.
Thanks a lot for your analysis. Yes, I use user emulation. But the
version of qemu I use actually has that patch included and I see it
hanging always on one and only core/thread of cpu. Nonetheless, this
crashes happen when working on the same file all the time, although
not in the same frame, which validates your analysis.
Just wondering whether there is a particular construct in that file
that makes the virtual machine to go a path that has problem.
As a bottom-line I see that I will most probably need to get hand on a
real aarch64 hardware.
Thanks for your help again
Fridrich
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iEYEARECAAYFAlPRCr4ACgkQu9a1imXPdA8kLwCgg/vBvQ48zN8FeJAuvQEZnEdl
bbsAnj3FtfR8A/LUgFE7A/lL7L2RsxZ0
=OwOQ
-----END PGP SIGNATURE-----
More information about the aarch64-port-dev
mailing list