[aarch64-port-dev ] Building with BUILTIN_SIM generates SIGSEGV when running java -version

Andrew McDermott andrew.mcdermott at linaro.org
Thu Oct 31 12:26:46 PDT 2013


Hi,

I'm building the tip of aarch64-port via the sim_configure/sim_compile
scripts but running `java -version' leads to a crash[1].

The error stems from an assert() in:

  jdk8/hotspot/src/share/vm/memory/allocation.cpp:692

  #ifndef ALLOW_OPERATOR_NEW_USAGE
  void* operator new(size_t size) throw() {
    assert(false, "Should not call global operator new");
    return 0;
  }

Digging a little deeper I see that in:

  jdk8/hotspot/make/linux/makefiles/aarch64.make

we have:

  ifeq ($(BUILTIN_SIM), true)
  CFLAGS  += -DBUILTIN_SIM
  #CFLAGS  += -DBUILTIN_SIM -DALLOW_OPERATOR_NEW_USAGE
  endif

Is there any reason why the "-DALLOW_OPERATOR_NEW_USAGE" is not enabled by
default. If I add this then the SEGV goes away (obviously!).  Or, if this
is deliberately disabled, is there any value if I create a patch which
replaces uses of 'new char[]' with, say, class stringStream in parts of the
builtin simulator code?

[1] java -version

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/allocation.cpp:697
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error
(/home/aim/jdk8/hotspot/src/share/vm/memory/allocation.cpp:697), pid=12534,
tid=140431156107008
#  assert(false) failed: Should not call global operator new[]
#
# JRE version:  (8.0) (build )
# Java VM: OpenJDK 64-Bit Client VM (25.0-b52-debug mixed mode
linux-aarch64 )
# Failed to write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/aim/jdk8/hs_err_pid12534.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
Current thread is 140431156107008
Dumping core ...
LOOPING...

-- 
andy



More information about the aarch64-port-dev mailing list