Fatal Error on PPC64 and PPC64LE for both JDK7 and JDK8

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Wed Apr 22 10:48:00 UTC 2015


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.

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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: application/octet-stream
Size: 1922 bytes
Desc: fix.patch
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20150422/b013ad10/fix.patch>


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