Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice 3.6b java : source code build/test problems with jdk8

My build test environment is Ubuntu x86_64:
uname -m = x86_64
uname -r = 3.13.0-43-generic
uname -s = Linux
uname -v = #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014

Issue #1 : Berkeley DB 5.3.28.NC with patch.db.5.3.8 will not build with jdk8.
$ ../dist/configure --enable-cxx --enable-java --prefix=/opt/ice/3.6b

lang/java/src/com/sleepycat/asm/ClassReader.java throws an IllegalArgumentException if the JRE > V1_7. So you have to build with jdk7 or jdk6. I chose to build with jdk7.

Issue #2 : Ice 3.6b java fails Freeze tests with jdk8.
2.1 : Ice build with jdk7 and test with jdk7 works fine (python allTests.py all OK).
2.2 : Ice build with jdk7 and test with jdk8 fails during transactional Freeze Evictor test:
*** running tests 54/60 in /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor
*** configuration: Default 
*** test started: 01/02/15 19:53:08
*** using Ice source dist (64bit) 
starting test.Freeze.evictor.Server... ok
starting test.Freeze.evictor.Client... ok
testing background-save Freeze Evictor... ok
testing transactional Freeze Evictor... #
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f890670fa05, pid=19798, tid=140225879635712
#
# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x858a05]  LoadKlassNode::make(PhaseGVN&, Node*, Node*, TypePtr const*, TypeKlassPtr const*)+0x45
#
# 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:
# /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor/hs_err_pid19798.log
#
# Compiler replay data is saved as:
# /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor/replay_pid19798.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
unexpected exit status: expected: 0, got -6
('test in /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor failed with exit status', 256)
2.3 : Ice build with jdk8 and test with jdk8 fails during background-save Freeze Evictor test:
*** running tests 54/60 in /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor
*** configuration: Default 
*** test started: 01/02/15 19:58:42
*** using Ice source dist (64bit) 
starting test.Freeze.evictor.Server... ok
starting test.Freeze.evictor.Client... ok
testing background-save Freeze Evictor... #
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fa6eaba3a05, pid=25305, tid=140354264258304
#
# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x858a05]  LoadKlassNode::make(PhaseGVN&, Node*, Node*, TypePtr const*, TypeKlassPtr const*)+0x45
#
# 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:
# /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor/hs_err_pid25305.log
#
# Compiler replay data is saved as:
# /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor/replay_pid25305.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
unexpected exit status: expected: 0, got -6
('test in /local/build/ice/Ice-3.6b/java/test/src/main/java/test/Freeze/evictor failed with exit status', 256)
2.4 : Ice build with jdk8 and test with jdk8 suceeds for all non-Freeze tests.

Comments

  • xdm
    xdm La Coruña, Spain
    Hi Carl,

    For Ubuntu you should use libdb5.3-java package, we don't build Berkeley DB packages for Ubuntu, the third party source package is intended to build Berkeley DB in systems that doesn't provide a compatible Berkeley DB package.

    For the Freeze/evictor test failure we are aware of this, seems it is a bug in JDK 1.8 x64 that affects the Freeze/evictor test.
  • Thanks Jose,

    For Ubuntu you should use libdb5.3-java package ...,

    OK, I'll use this package in the future. However, you might want to put a note in the
    Third-Party README that DB 5.3 appears to require jdk7 to build.

    For the Freeze/evictor test failure we are aware of this, seems it is a bug in JDK 1.8 x64 that affects the Freeze/evictor test.

    I don't currently use Freeze with java, so it looks to be OK to use otherwise.

    Thanks again for the rapid feedback.