JDK-8210303 : VM_HandshakeAllThreads fails assert with "failed: blocked and not walkable"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-09-03
  • Updated: 2020-05-14
  • Resolved: 2018-10-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 12
11.0.8-oracleFixed 12 b15Fixed
Related Reports
Duplicate :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/pliden/openjdk/repos/jdk/open/src/hotspot/share/runtime/safepoint.cpp:759), pid=6828, tid=6863
#  assert(!thread->has_last_Java_frame() || thread->frame_anchor()->walkable()) failed: blocked and not walkable
#
# JRE version: Java(TM) SE Runtime Environment (12.0) (fastdebug build 12-internal+0-2018-08-30-0647375.pliden.jdk)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 12-internal+0-2018-08-30-0647375.pliden.jdk, mixed mode, tiered, z gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %e" (or dumping to /home/pliden/openjdk/tools/gc-test-suite/result/2018/08/31/130607/iteration.13/SPECjbb2015/data/core.6828)
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+UseLargePages -Xmx5G -Xlog:gc*:gc.log /home/pliden/openjdk/tools/gc-test-suite/build/SPECjbb2015/SPECjbb2015-v1.01-jaxb/specjbb2015.jar -m COMPOSITE -ikv

Host: indy, Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz, 24 cores, 31G, Fedora release 27 (Twenty Seven)
Time: Sat Sep  1 14:17:43 2018 CEST elapsed time: 2632 seconds (0d 0h 43m 52s)

---------------  T H R E A D  ---------------

Current thread (0x00007f35a02157c0):  VMThread "VM Thread" [stack: 0x00007f332aff2000,0x00007f332b0f2000] [id=6863] _threads_hazard_ptr=0x00007f32e5a7e920, _nested_threads_hazard_ptr_cnt=0

Stack: [0x00007f332aff2000,0x00007f332b0f2000],  sp=0x00007f332b0f06d0,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x188af83]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x2c3
V  [libjvm.so+0x188bd4f]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0xb19cd0]  report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V  [libjvm.so+0x162bd4b]  SafepointSynchronize::safepoint_safe(JavaThread*, JavaThreadState)+0xab
V  [libjvm.so+0xdbdc82]  VM_HandshakeAllThreads::doit()+0x272
V  [libjvm.so+0x18ceb82]  VM_Operation::evaluate()+0x132
V  [libjvm.so+0x18ca2be]  VMThread::evaluate_operation(VM_Operation*) [clone .constprop.46]+0x18e
V  [libjvm.so+0x18caedc]  VMThread::loop()+0x83c
V  [libjvm.so+0x18cb153]  VMThread::run()+0xd3
V  [libjvm.so+0x14a0170]  thread_native_entry(Thread*)+0x100

VM_Operation (0x00007f35a5ae8c70): HandshakeAllThreads, mode: safepoint, requested by thread 0x00007f35a0050d10

Comments
jdk11 backport request I would like to have the patch in OpenJDK11 as well (for better parity with 11.0.8_oracle). The patch applies cleanly.
12-05-2020

This seems to be pretty hard to reproduce. I found it running specjbb2015 in a loop over the weekend. It ran 34 iterations and only hit this issue once.
03-09-2018