Hotspot segfaulting on Linux SPARC

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Thu Apr 5 12:30:39 UTC 2018


Hi!

Wasn't there recently a bug that caused crashes on Solaris SPARC and that
consequently fixed? I'm asking because I know Linux SPARC isn't officially
supported so it doesn't get as much love as Solaris SPARC and I am seeing
a crash that affects Linux SPARC only:

Creating support/interim-jmods/java.base.jmod
/bin/rm -f /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/interim-jmods/java.base.jmod /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/interim-jmods/temp/java.base.jmod
/srv/openjdk/hs/build/linux-sparcv9-normal-server-release/jdk/bin/jmod -J-XX:+UseSerialGC -J-Xms32M -J-Xmx512M -J-XX:TieredStopAtLevel=1 create \
             --module-version 11-internal \
             --target-platform 'linux-sparcv9' \
             --module-path /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/interim-jmods \
     --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}' \
     --libs /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/modules_libs/java.base --cmds /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/modules_cmds/java.base --config /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/modules_conf/java.base --class-path /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/jdk/modules/java.base --header-files /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/modules_include/java.base --legal-notices "/srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/modules_legal/java.base:/srv/openjdk/hs/src/java.base/share/legal" /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/interim-jmods/temp/java.base.jmod
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffff800108d99b48, pid=25458, tid=25459
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.glaubitz.hs)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.glaubitz.hs, mixed mode, tiered, compressed oops, serial gc, linux-sparc)
# Problematic frame:
# J 278 c1 java.nio.file.Files$$Lambda$6.apply(Ljava/lang/Object;)Ljava/lang/Object; java.base (8 bytes) @ 0xffff800108d99b48 [0xffff800108d99aa0+0x00000000000000a8]
#
# No core dump will be written. 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:
# /srv/openjdk/hs/make/hs_err_pid25458.log
Could not load hsdis-sparcv9.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
make[3]: *** [CreateJmods.gmk:137: /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.se.jmod] Aborted
make[3]: Leaving directory '/srv/openjdk/hs/make'
make[2]: *** [make/Main.gmk:309: java.se-jmod] Error 2
make[2]: *** Waiting for unfinished jobs....
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffff800108d8f528, pid=25492, tid=25503
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.glaubitz.hs)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.glaubitz.hs, mixed mode, tiered, compressed oops, serial gc, linux-sparc)
# Problematic frame:
# J 257 c1 sun.nio.fs.UnixFileAttributes$UnixAsBasicFileAttributes.isRegularFile()Z java.base (8 bytes) @ 0xffff800108d8f528 [0xffff800108d8f4a0+0x0000000000000088]
#
# No core dump will be written. 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:
# /srv/openjdk/hs/make/hs_err_pid25492.log
Could not load hsdis-sparcv9.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
make[3]: *** [CreateJmods.gmk:137: /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.security.jgss.jmod] Aborted
make[3]: Leaving directory '/srv/openjdk/hs/make'
make[2]: *** [make/Main.gmk:309: java.security.jgss-jmod] Error 2
/bin/mv /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/jmods/java.scripting.jmod /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.scripting.jmod
make[3]: Leaving directory '/srv/openjdk/hs/make'
/bin/mv /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/jmods/java.rmi.jmod /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.rmi.jmod
make[3]: Leaving directory '/srv/openjdk/hs/make'
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffff800108eca754, pid=25396, tid=25405
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.glaubitz.hs)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.glaubitz.hs, mixed mode, tiered, compressed oops, serial gc, linux-sparc)
# Problematic frame:
# J 1080 c1 java.util.regex.Pattern$$Lambda$33.is(I)Z java.base (9 bytes) @ 0xffff800108eca754 [0xffff800108eca6a0+0x00000000000000b4]
#
# No core dump will be written. 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:
# /srv/openjdk/hs/make/hs_err_pid25396.log
Compiled method (c1)   21949 1082       1       java.util.regex.Pattern$CharPropertyGreedy::match (122 bytes)
  total in heap  [0xffff800108ecae10,0xffff800108ecb4e8] = 1752
  relocation     [0xffff800108ecaf88,0xffff800108ecafe0] = 88
  main code      [0xffff800108ecafe0,0xffff800108ecb1e0] = 512
  stub code      [0xffff800108ecb1e0,0xffff800108ecb370] = 400
  metadata       [0xffff800108ecb370,0xffff800108ecb398] = 40
  scopes data    [0xffff800108ecb398,0xffff800108ecb440] = 168
  scopes pcs     [0xffff800108ecb440,0xffff800108ecb4d0] = 144
  dependencies   [0xffff800108ecb4d0,0xffff800108ecb4d8] = 8
  nul chk table  [0xffff800108ecb4d8,0xffff800108ecb4e8] = 16
Could not load hsdis-sparcv9.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
make[3]: *** [CreateJmods.gmk:137: /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.management.jmod] Aborted
make[3]: Leaving directory '/srv/openjdk/hs/make'
make[2]: *** [make/Main.gmk:309: java.management-jmod] Error 2
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffff800108d41820, pid=25562, tid=25566
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.glaubitz.hs)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.glaubitz.hs, mixed mode, tiered, compressed oops, serial gc, linux-sparc)
# Problematic frame:
# J 6 c1 java.lang.String.charAt(I)C java.base (25 bytes) @ 0xffff800108d41820 [0xffff800108d41760+0x00000000000000c0]
#
# No core dump will be written. 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:
# /srv/openjdk/hs/make/hs_err_pid25562.log
Could not load hsdis-sparcv9.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
make[3]: *** [CreateJmods.gmk:137: /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/images/jmods/java.desktop.jmod] Aborted
make[3]: Leaving directory '/srv/openjdk/hs/make'
make[2]: *** [make/Main.gmk:309: java.desktop-jmod] Error 2
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffff800108ecdd28, pid=25565, tid=25567
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.glaubitz.hs)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.glaubitz.hs, mixed mode, tiered, compressed oops, serial gc, linux-sparc)
# Problematic frame:
# J 1090 c1 java.io.BufferedOutputStream.write(I)V java.base (35 bytes) @ 0xffff800108ecdd28 [0xffff800108ecdb40+0x00000000000001e8]
#
# No core dump will be written. 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:
# /srv/openjdk/hs/make/hs_err_pid25565.log
Compiled method (c1)   23056 1255       1       java.util.zip.ZipOutputStream::writeEXT (73 bytes)
  total in heap  [0xffff800108f07810,0xffff800108f07e78] = 1640
  relocation     [0xffff800108f07988,0xffff800108f079f8] = 112
  main code      [0xffff800108f07a00,0xffff800108f07b40] = 320
  stub code      [0xffff800108f07b40,0xffff800108f07d58] = 536
  metadata       [0xffff800108f07d58,0xffff800108f07d98] = 64
  scopes data    [0xffff800108f07d98,0xffff800108f07dd0] = 56
  scopes pcs     [0xffff800108f07dd0,0xffff800108f07e60] = 144
  dependencies   [0xffff800108f07e60,0xffff800108f07e68] = 8
  nul chk table  [0xffff800108f07e68,0xffff800108f07e78] = 16
Could not load hsdis-sparcv9.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
make[3]: *** [CreateJmods.gmk:137: /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/support/interim-jmods/java.base.jmod] Aborted
make[3]: Leaving directory '/srv/openjdk/hs/make'
make[2]: *** [make/Main.gmk:447: java.base-interim-jmod] Error 2
make[2]: Leaving directory '/srv/openjdk/hs'

ERROR: Build failed for target 'images' in configuration 'linux-sparcv9-normal-server-release' (exit code 2)
make[2]: Entering directory '/srv/openjdk/hs'
[ -f /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/javacservers/server.port ] && /bin/echo Stopping sjavac server && /usr/bin/touch /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/javacservers/server.port.stop; true
/bin/date '+%Y %m %d %H %M %S' | /usr/bin/nawk '{ print $1,$2,$3,$4,$5,$6,($4*3600+$5*60+$6) }' > /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_end_TOTAL
/bin/date '+%Y-%m-%d %H:%M:%S' > /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_end_TOTAL_human_readable
/bin/echo `/bin/cat /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_start_TOTAL` `/bin/cat /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_end_TOTAL` TOTAL | /usr/bin/nawk '{ F=$7; T=$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$15); }' > /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_diff_TOTAL
/usr/bin/printf  -- "----- Build times -------\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" "`/bin/cat /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_start_TOTAL_human_readable`" "`/bin/cat /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_end_TOTAL_human_readable`" "`/bin/ls /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_diff_* | /bin/grep -v _TOTAL | /usr/bin/xargs /bin/cat | /usr/bin/sort -k 2`" "`/bin/cat /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/make-support/build-times/build_time_diff_TOTAL`" > >(/usr/bin/tee -a /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/build.log) 2> >(/usr/bin/tee -a /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/build.log >&2) && wait
----- Build times -------
Start 2018-04-05 12:17:02
End   2018-04-05 12:17:56

00:00:54 TOTAL
-------------------------
if /bin/grep -q "recipe for target .* failed" /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/build.log 2> /dev/null; then /usr/bin/printf "\n=== Make failed targets repeated here ===\n" ; /bin/grep "recipe for target .* failed" /srv/openjdk/hs/build/linux-sparcv9-normal-server-release/build.log ; /usr/bin/printf "=== End of repeated output ===\n" ; /usr/bin/printf "\nHint: Try searching the build log for the name of the first failed target.\n" ; else /usr/bin/printf "\nNo indication of failed target found.\n" ; /usr/bin/printf "Hint: Try searching the build log for '] Error'.\n" ; fi

No indication of failed target found.
Hint: Try searching the build log for '] Error'.
/usr/bin/printf "Hint: See doc/building.html#troubleshooting for assistance.\n\n"
Hint: See doc/building.html#troubleshooting for assistance.

make[2]: Leaving directory '/srv/openjdk/hs'
make[1]: *** [/srv/openjdk/hs/make/Init.gmk:296: main] Error 2
make[1]: Leaving directory '/srv/openjdk/hs'
make: *** [/srv/openjdk/hs/make/Init.gmk:186: images] Error 2

Backtrace is:

(gdb) bt
#0  0xffff80010063fb9c in __libc_signal_restore_set (set=0xffff80010195b168) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
#1  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#2  0xffff800100641144 in __GI_abort () at abort.c:79
#3  0xffff8001011ae030 in os::abort (dump_core=<optimized out>, siginfo=0xffff80010195c7a0, context=0xffff80010195c7a0) at /srv/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:1423
#4  0xffff8001013be518 in VMError::report_and_die (id=id at entry=4, message=message at entry=0x0, detail_fmt=detail_fmt at entry=0xffff8001014708a8 "%s", detail_args=detail_args at entry=0xffff80010195b790, thread=thread at entry=0x0,
     pc=pc at entry=0x6bfd000003e8 <error: Cannot access memory at address 0x6bfd000003e8>, siginfo=0xffff80010195b990, context=0xffff80010195b990, filename=0x0, lineno=0, size=0)
     at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1504
#5  0xffff8001013bef68 in VMError::report_and_die (thread=thread at entry=0x0, sig=sig at entry=4, pc=pc at entry=0x6bfd000003e8 <error: Cannot access memory at address 0x6bfd000003e8>, siginfo=siginfo at entry=0xffff80010195b990,
     context=context at entry=0xffff80010195b990, detail_fmt=0xffff8001014708a8 "%s") at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1219
#6  0xffff8001013befb4 in VMError::report_and_die (thread=thread at entry=0x0, sig=sig at entry=4, pc=0x6bfd000003e8 <error: Cannot access memory at address 0x6bfd000003e8>, siginfo=siginfo at entry=0xffff80010195b990,
     context=context at entry=0xffff80010195b990) at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1225
#7  0xffff8001013bf330 in crash_handler (sig=<optimized out>, info=0xffff80010195b990, ucVoid=0xffff80010195b990) at /srv/openjdk/hs/src/hotspot/os/posix/vmError_posix.cpp:140
#8  <signal handler called>
#9  arrayOopDesc::length_offset_in_bytes () at /srv/openjdk/hs/src/hotspot/share/oops/arrayOop.hpp:78
#10 arrayOopDesc::length (this=0x7a030ce80) at /srv/openjdk/hs/src/hotspot/share/oops/arrayOop.hpp:97
#11 oopDesc::size_given_klass (klass=0x7aaac4e38, this=0x7a030ce80) at /srv/openjdk/hs/src/hotspot/share/oops/oop.inline.hpp:191
#12 oopDesc::size (this=0x7a030ce80) at /srv/openjdk/hs/src/hotspot/share/oops/oop.inline.hpp:160
#13 ContiguousSpace::block_start_const (this=0xffff8001040181a0, p=0x7a05c3100) at /srv/openjdk/hs/src/hotspot/share/gc/shared/space.cpp:585
#14 0xffff800100e52614 in Space::block_start (p=<optimized out>, this=0xffff8001040181a0) at /srv/openjdk/hs/src/hotspot/share/gc/shared/space.inline.hpp:39
#15 GenerationBlockStartClosure::do_space (this=0xffff80010195bec8, s=0xffff8001040181a0) at /srv/openjdk/hs/src/hotspot/share/gc/shared/generation.cpp:202
#16 0xffff800100d0ac38 in DefNewGeneration::space_iterate (this=0xffff800104017630, blk=0xffff80010195bec8, usedOnly=<optimized out>) at /srv/openjdk/hs/src/hotspot/share/gc/serial/defNewGeneration.cpp:521
#17 0xffff800100e51b04 in Generation::block_start (this=0xffff800104017630, p=0x7a05c3100) at /srv/openjdk/hs/src/hotspot/share/gc/shared/generation.cpp:211
#18 0xffff800100e2a1dc in GenCollectedHeap::block_start (this=0xffff800104016b80, addr=0x7a05c3100) at /srv/openjdk/hs/src/hotspot/share/gc/shared/genCollectedHeap.cpp:1083
#19 0xffff8001011a5ad0 in os::print_location (st=st at entry=0xffff800101670758 <VMError::log>, x=32755167488, verbose=verbose at entry=false) at /srv/openjdk/hs/src/hotspot/share/runtime/os.cpp:1071
#20 0xffff8001011b9030 in os::print_register_info (st=st at entry=0xffff800101670758 <VMError::log>, context=0xffff80010195c7a0) at /srv/openjdk/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:263
#21 0xffff8001013bd590 in VMError::report (st=st at entry=0xffff800101670758 <VMError::log>, _verbose=_verbose at entry=true) at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:748
#22 0xffff8001013be5cc in VMError::report_and_die (id=id at entry=11, message=message at entry=0x0, detail_fmt=detail_fmt at entry=0xffff8001014708a8 "%s", detail_args=detail_args at entry=0xffff80010195c4f0,
     thread=thread at entry=0xffff800104011000, pc=pc at entry=0xffff800108d502c8 "\300\\ ", siginfo=0xffff80010195c7a0, context=0xffff80010195c7a0, filename=0x0, lineno=0, size=0)
     at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1405
#23 0xffff8001013bef68 in VMError::report_and_die (thread=thread at entry=0xffff800104011000, sig=sig at entry=11, pc=pc at entry=0xffff800108d502c8 "\300\\ ", siginfo=siginfo at entry=0xffff80010195c7a0, context=context at entry=0xffff80010195c7a0,
     detail_fmt=0xffff8001014708a8 "%s") at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1219
#24 0xffff8001013befb4 in VMError::report_and_die (thread=thread at entry=0xffff800104011000, sig=sig at entry=11, pc=pc at entry=0xffff800108d502c8 "\300\\ ", siginfo=siginfo at entry=0xffff80010195c7a0, context=context at entry=0xffff80010195c7a0)
     at /srv/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1225
#25 0xffff8001011b9764 in JVM_handle_linux_signal (sig=sig at entry=11, info=info at entry=0xffff80010195c7a0, ucVoid=ucVoid at entry=0xffff80010195c7a0, abort_if_unrecognized=abort_if_unrecognized at entry=1)
     at /srv/openjdk/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:646
#26 0xffff8001011ac80c in signalHandler (sig=<optimized out>, info=0xffff80010195c7a0, uc=0xffff80010195c7a0) at /srv/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:4396
#27 <signal handler called>
#28 0xffff800108d502c8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Adrian

-- 
  .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz at debian.org
`. `'   Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


More information about the hotspot-dev mailing list