Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 May 2016 08:37:58 +0000
From:      bugzilla-noreply@freebsd.org
To:        java@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 209599] SIGSEGV in regression test suite on OpenJDK8
Message-ID:  <bug-209599-8522-Q4QEv8mqAY@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-209599-8522@https.bugs.freebsd.org/bugzilla/>
References:  <bug-209599-8522@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Smith <iamasmith.home@gmail.com> has reassigned Bugzilla Automation
<bugzilla@FreeBSD.org>'s request for maintainer-feedback to java@FreeBSD.or=
g:
Bug 209599: SIGSEGV in regression test suite on OpenJDK8
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D209599



--- Description ---
Whilst investigating a stability problem that occurs periodically if we att=
empt
to utilise OpenJDK 8 with Tomcat (resulting in various SIGSEGV and SIGBUS
errors), I decided to build everything afresh from current sources and perf=
orm
run the test suite.

System information on JDK build test machine.

10.3-RELEASE FreeBSD
root@testbuild1:~ # freebsd-version
10.3-RELEASE

portsnap sources fetched and installed on 16th May
root@testbuild1:~ # ls -l /var/db/portsnap/
total 4504
-rw-r--r--  1 root  wheel  2255587 May 16 09:59 INDEX
drwxr-xr-x  2 root  wheel  2237952 May 16 09:59 files
-rw-r--r--  1 root  wheel      451 May 16 09:56 pub.ssl
-rw-r--r--  1 root  wheel      272 May 16 09:56 serverlist
-rw-r--r--  1 root  wheel      272 May 16 09:56 serverlist_full
-rw-r--r--  1 root  wheel	40 May 16 09:56 serverlist_tried
-rw-r--r--  1 root  wheel      681 May 16 09:59 tINDEX
-rw-r--r--  1 root  wheel	85 May 16 09:59 tag
root@testbuild1:~ #=20

Build process cycle run as follows..

# Selected all build configurations up front for the whole depdency set usi=
ng
postmaster
# Every option with the exception of turning on TEST for OpenJDK8 was set to
default.
portmaster -n java/openjdk8
# Build actual port so that the build area was not cleaned (as is the case =
when
using postmaster).
cd /usr/ports/java/openjdk8
make clean install

2 of the tests fail when running the regression tests and error logs can be
collected as follows..

/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-releas=
e/te
stoutput/jdk_core/output.txt

and to locate the stashed error reports in the test hierarchy..

root@testbuild1:~ # cd
/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-releas=
e/te
stoutput/jdk_core
root@testbuild1:/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-norm=
al-s
erver-release/testoutput/jdk_core
# find . -name 'hs_*'
./JTwork/java/nio/MappedByteBuffer/Truncate/hs_err_pid57787.log
./JTwork/sun/misc/CopyMemory/hs_err_pid57712.log

The logs always show SIGSEGV errors from the same locations with the failure
signal being triggered during calles to sun.misc.Unsafe methods..

Stack: [0x00007fffde0e0000,0x00007fffde1e0000],  sp=3D0x00007fffde1df080,  =
free
space=3D1020k
Native frames: (J=3Dcompiled Java code, j=3Dinterpreted, Vv=3DVM code, C=3D=
native code)
V  [libjvm.so+0x8d3ced]  JVM_handle_bsd_signal+0x120c2d
j  sun.misc.Unsafe.putByte(Ljava/lang/Object;JB)V+0
j  CopyMemory.set(Lsun/misc/Unsafe;JIII)V+23
j  CopyMemory.testSetRawMemory(Lsun/misc/Unsafe;)V+32
j  CopyMemory.main([Ljava/lang/String;)V+9

Stack: [0x00007fffdf1f1000,0x00007fffdf2f1000],  sp=3D0x00007fffdf2f0860,  =
free
space=3D1022k
Native frames: (J=3Dcompiled Java code, j=3Dinterpreted, Vv=3DVM code, C=3D=
native code)
V  [libjvm.so+0x8d8d0a]  JVM_handle_bsd_signal+0x125c4a
j  sun.misc.Unsafe.getByte(J)B+0
j  java.nio.MappedByteBuffer.load()Ljava/nio/MappedByteBuffer;+85
j  Truncate$2.call()Ljava/lang/Void;+4

Cores in this initial run are pretty useless and I am now rebuilding with
FASTDEBUG in the hope of getting enough symbolic information for them to be
particularly useful, however, one observation is that the MappedByteBuffer =
core
always results in the stack being unavailable...

root@testbuild1:/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-norm=
al-s
erver-release/testoutput/jdk_core
# gdb -c ./JTwork/java/nio/MappedByteBuffer/Truncate/java.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd".
Core was generated by `java'.
Program terminated with signal 6, Aborted.
#0  0x0000000800f2635a in ?? ()
(gdb) info stack
#0  0x0000000800f2635a in ?? ()
Cannot access memory at address 0x7fffdf2efc48
(gdb)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-209599-8522-Q4QEv8mqAY>