[Bug 209599] SIGSEGV in regression test suite on java/openjdk8
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu May 19 12:15:06 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209599
--- Comment #6 from Andrew Smith <iamasmith.home at gmail.com> ---
Following a few false starts without being able to get gdb to unwind the stack
trace I decided to invoke the test directly with -XX:+ShowMessageBoxOnError so
I could hop into gdb directly.
It's identified Unsafe_GetNativeByte as the cause of the SIGSEGV but this is
somewhat obfuscated by it being macro generated.
Just thought I had better test this with PCH turned off before I proceed so
next report will be results of that.
/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/images/j2sdk-image/bin/javac
-J-ea -J-esa -J-Xmx512m -J-Dtest.vm.opts='-ea -esa -Xmx512m'
-J-Dtest.class.path.prefix=/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer:/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer
-J-Dtest.jdk=/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/images/j2sdk-image
-J-Dtest.timeout.factor=4.0
-J-Dtest.src.path=/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer
-J-Dtest.compiler.opts=
-J-Dcompile.jdk=/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/images/j2sdk-image
-J-Dtest.classes=/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer
-J-Dtest.class.path=/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer
-J-Dtest.java.opts=
-J-Dtest.src=/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer
-J-Dtest.tool.vm.opts='-J-ea -J-esa -J-Xmx512m' -d
/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer
-classpath
/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer:/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer:/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/images/j2sdk-image/lib/tools.jar
-sourcepath
/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer
-XDignore.symbol.file=true
/usr/ports/java/openjdk8/work/openjdk/jdk/test/java/nio/MappedByteBuffer/Truncate.java
root at testbuild1:/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-slowdebug/testoutput/jdk_core/JTwork/classes/1/java/nio/MappedByteBuffer
# java -XX:+ShowMessageBoxOnError -cp . Truncate
==============================================================================
Unexpected Error
------------------------------------------------------------------------------
SIGSEGV (0xb) at pc=0x0000000802a01fab, pid=88015, tid=100683
Do you want to debug the problem?
To debug, run 'gdb /usr/local/openjdk8/bin/java 88015'; then switch to thread
100683 (0x000000000001894b)
Enter 'yes' to launch gdb automatically (PATH must include gdb)
Otherwise, press RETURN to abort...
==============================================================================
yes
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 conditions.
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"...(no debugging symbols
found)...
Attaching to program: /usr/local/openjdk8/bin/java, process 88015
Reading symbols from /usr/local/openjdk8/bin/../lib/amd64/jli/libjli.so...done.
Loaded symbols for /usr/local/openjdk8/bin/../lib/amd64/jli/libjli.so
Reading symbols from /lib/libz.so.6...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /lib/libthr.so.3...done.
[New Thread 803ce6000 (LWP 100683/java)]
[New Thread 803ce5800 (LWP 100865/java)]
[New Thread 803ce5400 (LWP 100864/java)]
[New Thread 803ce5000 (LWP 100863/java)]
[New Thread 803ce4c00 (LWP 100862/java)]
[New Thread 803ce4800 (LWP 100861/java)]
[New Thread 803ce4400 (LWP 100860/java)]
[New Thread 803ce3c00 (LWP 100857/java)]
[New Thread 803ce3800 (LWP 100747/java)]
[New Thread 803ce3400 (LWP 100405/java)]
[New Thread 803ce3000 (LWP 100401/java)]
[New Thread 803ce2c00 (LWP 100348/java)]
[New Thread 803ce2800 (LWP 100122/java)]
[New Thread 803ce2400 (LWP 100090/java)]
[New Thread 801806800 (LWP 100070/java)]
[New Thread 801806400 (LWP 100286/java)]
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from
/usr/local/openjdk8/jre/lib/amd64/server/libjvm.so...Reading symbols from
/usr/local/openjdk8/jre/lib/amd64/server/libjvm.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/server/libjvm.so
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/lib/libc++.so.1...done.
Loaded symbols for /usr/lib/libc++.so.1
Reading symbols from /lib/libcxxrt.so.1...done.
Loaded symbols for /lib/libcxxrt.so.1
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/local/openjdk8/jre/lib/amd64/libverify.so...Reading
symbols from /usr/local/openjdk8/jre/lib/amd64/libverify.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/libverify.so
Reading symbols from /usr/local/openjdk8/jre/lib/amd64/libjava.so...Reading
symbols from /usr/local/openjdk8/jre/lib/amd64/libjava.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/libjava.so
Reading symbols from /usr/local/openjdk8/jre/lib/amd64/libzip.so...Reading
symbols from /usr/local/openjdk8/jre/lib/amd64/libzip.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/libzip.so
Reading symbols from /usr/local/openjdk8/jre/lib/amd64/libnet.so...Reading
symbols from /usr/local/openjdk8/jre/lib/amd64/libnet.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/libnet.so
Reading symbols from /usr/local/openjdk8/jre/lib/amd64/libnio.so...Reading
symbols from /usr/local/openjdk8/jre/lib/amd64/libnio.debuginfo...done.
done.
Loaded symbols for /usr/local/openjdk8/jre/lib/amd64/libnio.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 803ce6000 (LWP 100683/java)]
0x0000000800f479b8 in _wait4 () from /lib/libc.so.7
(gdb) bt
#0 0x0000000800f479b8 in _wait4 () from /lib/libc.so.7
#1 0x0000000800c521cc in pthread_suspend_all_np () from /lib/libthr.so.3
#2 0x0000000802848d88 in os::fork_and_exec (cmd=0x803192850 "gdb
/usr/local/openjdk8/bin/java 88015") at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os/bsd/vm/os_bsd.cpp:4878
#3 0x0000000802a3e297 in VMError::show_message_box (this=0x7fffdf0ed8d8,
buf=0x803192850 "gdb /usr/local/openjdk8/bin/java 88015", buflen=2000) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os/bsd/vm/vmError_bsd.cpp:80
#4 0x0000000802a3d085 in VMError::report_and_die (this=0x7fffdf0ed8d8) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:881
#5 0x000000080284a704 in JVM_handle_bsd_signal (sig=11, info=0x7fffdf0ee230,
ucVoid=0x7fffdf0edec0, abort_if_unrecognized=1) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp:731
#6 0x0000000802844e77 in signalHandler (sig=11, info=0x7fffdf0ee230,
uc=0x7fffdf0edec0) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os/bsd/vm/os_bsd.cpp:3207
#7 0x0000000800c54b37 in pthread_sigmask () from /lib/libthr.so.3
#8 0x0000000800c5422c in pthread_getspecific () from /lib/libthr.so.3
#9 <signal handler called>
#10 0x0000000802a01fab in Unsafe_GetNativeByte (env=0x8c9b0da20,
unsafe=0x7fffdf0ee568, addr=34366722048) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/prims/unsafe.cpp:539
#11 0x000000080467b162 in ?? ()
#12 0x00000000000003d8 in ?? ()
#13 0x00000008c9b0d800 in ?? ()
#14 0x00007fffdf0ee5b8 in ?? ()
#15 0x00007fffdf0ee4f8 in ?? ()
#16 0x0000000000000000 in ?? ()
(gdb) frame 10
#10 0x0000000802a01fab in Unsafe_GetNativeByte (env=0x8c9b0da20,
unsafe=0x7fffdf0ee568, addr=34366722048) at
/usr/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/prims/unsafe.cpp:539
539 DEFINE_GETSETNATIVE(jbyte, Byte, signed char)
Current language: auto; currently c++
(gdb) list
534 t->set_doing_unsafe_access(false); \
535 UNSAFE_END \
536 \
537 // END DEFINE_GETSETNATIVE.
538
539 DEFINE_GETSETNATIVE(jbyte, Byte, signed char)
540 DEFINE_GETSETNATIVE(jshort, Short, signed short);
541 DEFINE_GETSETNATIVE(jchar, Char, unsigned short);
542 DEFINE_GETSETNATIVE(jint, Int, jint);
543 // no long -- handled specially
(gdb) frame 9
#9 <signal handler called>
(gdb) list
544 DEFINE_GETSETNATIVE(jfloat, Float, float);
545 DEFINE_GETSETNATIVE(jdouble, Double, double);
546
547 #undef DEFINE_GETSETNATIVE
548
549 UNSAFE_ENTRY(jlong, Unsafe_GetNativeLong(JNIEnv *env, jobject unsafe,
jlong addr))
550 UnsafeWrapper("Unsafe_GetNativeLong");
551 JavaThread* t = JavaThread::current();
552 // We do it this way to avoid problems with access to heap using 64
553 // bit loads, as jlong in heap could be not 64-bit aligned, and on
(gdb)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-java
mailing list