Fatal Error on PPC64 and PPC64LE for both JDK7 and JDK8

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri Apr 24 07:03:10 UTC 2015


Hi Andrew,

Yes, the template interpreter came alive in different
versions step by step.  ppc64le only in 8u40 if I remember correctly.
But now it's everywhere.

I kept updating the jdk7u ppc repository.  I intended to sync it with the 
main jdk7u branch with every security release showing up there.
I'm not sure how I should proceed once Oracle does not support jdk7
in openjdk and more.

The last change of interest for you was the template interpreter for 
ppc64le I guess. After that I only fixed aix issues.  I will push this fix
there, too.

Best regards,
  Goetz.

-----Original Message-----
From: Andrew Hughes [mailto:gnu.andrew at redhat.com] 
Sent: Donnerstag, 23. April 2015 20:08
To: Lindenmaier, Goetz
Cc: Tiago Sturmer Daitx; Volker Simonis; ppc-aix-port-dev at openjdk.java.net
Subject: Re: Fatal Error on PPC64 and PPC64LE for both JDK7 and JDK8

----- Original Message -----
> Hi Tiago,
> 
> I made two changes to fix the error mentioned below.
> 
> The interpreter did not pass the pointer to the thread to
> throw_AbstractMethodError(thread).
> This caused a SIGSEGV in InterpreterRuntime::throw_AbstractMethodError.
> 
> This again was wrongly recognized as a SafepointPoll.
> I sharpened the test for SafepointPolls, too.
> 
> With these fixes the oozie build now runs fine.
> So far I tested with a build of
> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/,
> but the code in 8 and 9 has the same problems.
> 

This is great! I've been tracking this issue from the RH side
and we'll be able to get this fixed now.

I also fixed the interpreter issue on our 8 builds, so that should
work its way through in due course. It was changed on 7 last year,
but not on 8. It's not always clear when such a change is appropriate
on a released JDK. I'll try and keep a closer eye on this list if I can.

Is http://hg.openjdk.java.net/ppc-aix-port/jdk7u still being
actively maintained? If so, we should probably synchronise with
again.

> Could you please check that this helps in your case, too?
> 
> Best regards,
>   Goetz.
> 
> 
> -----Original Message-----
> From: Lindenmaier, Goetz
> Sent: Dienstag, 21. April 2015 08:37
> To: 'Tiago Sturmer Daitx'; Volker Simonis
> Cc: ppc-aix-port-dev at openjdk.java.net
> Subject: RE: Fatal Error on PPC64 and PPC64LE for both JDK7 and JDK8
> 
> Hi Tiago,
> 
> I finally managed to run the commands you mailed before.
> I can reproduce an error:
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error
> (/net/usr.work/openjdk/nb/linuxppc64/nightly/jdk7u/hotspot/src/share/vm/runtime/sharedRuntime.cpp:535),
> pid=861, tid=70348200473072
> #  assert(cb && cb->is_nmethod()) failed: safepoint polling: pc must refer to
> an nmethod
> #
> # JRE version: OpenJDK Runtime Environment (7.0) (build
> 1.7.0-internal-fastdebug-jvmtests_2015_02_14_18_39-b00)
> # Java VM: OpenJDK 64-Bit Server VM (24.75-b04-fastdebug mixed mode
> linux-ppc64 compressed oops)
> # Failed to write core dump. Core dumps have been disabled. To enable core
> dumping, try "ulimit -c unlimited" before starting Java again
> #
> # If you would like to submit a bug report, please visit:
> #   http://bugreport.sun.com/bugreport/crash.jsp
> #
> 
> It's the debug build, so I get an assertion.  Might be the cause, as it's at
> a safepoint, where gc can happen.
> 
> I'll investigate this.
> 
> Just passing java -XX:+UseConcMarkSweepGC -version to our nightly 7 build
> works fine for
> me.
> 
> Best regards,
>   Goetz.
> 
> 
> 
> -----Original Message-----
> From: Tiago Sturmer Daitx [mailto:tdaitx at br.ibm.com]
> Sent: Dienstag, 21. April 2015 00:06
> To: Volker Simonis; Lindenmaier, Goetz
> Cc: ppc-aix-port-dev at openjdk.java.net
> Subject: Re: Fatal Error on PPC64 and PPC64LE for both JDK7 and JDK8
> 
> Volker and Goetz,
> 
> Could this be somehow related to the ParallelGC? Using UseSerialGC and
> UseParNewGC prevents the SIGSEGV from happening.
> 
> Using -XX:+UseConcMarkSweepGC causes another SIGSEGV to happen *only* on
> the distro JDK 8 - the distro JDK 7 works fine.
> 
> Meanwhile the custom JDK7u build fails even on a simple test:
> $ java -XX:+UseConcMarkSweepGC -version
> so I wasn't able test it.
> 
> The same SIGSEGV happened when running spark-perf with a similar
> backtrace - setting +UseParNewGC also allows it to work.
> 
> I'm attaching a few hs_error files for the distros OpenJDK 7 & 8 and the
> custom JDK7u build from PPC-AIX-Port repository.
> 
> Note that the distro's JDK 8 is still using the C++ Interpreter, so it
> might the affect the results.
> 
> Regards,
> Tiago
> 
> 
> On Sat, 2015-04-18 at 15:22 -0300, Tiago Sturmer Daitx wrote:
> > Meanwhile, please keep me posted if you figure out something about the
> > bug. I'm still investigating it myself, but unless I am really lucky it
> > will take some time to understand what is going on with that part of the
> > hotspot - assuming I'm even looking into the right place. =)
> > 
> > Regards,
> > Tiago
> > 
> 
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222

PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the ppc-aix-port-dev mailing list