JDK-8231058 : VerifyOops crashes with assert(_offset >= 0) failed: offset for non comment?
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 14
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2019-09-16
  • Updated: 2024-11-10
  • Resolved: 2019-09-23
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 14
14 b16Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
This has been introduced by JDK-8224624 in JDK 14 b12.

When running with -XX:+VerifyOops:

#  Internal Error (/oracle/jdk_jdk/open/src/hotspot/share/asm/codeBuffer.cpp:1070), pid=28193, tid=28194
#  assert(_offset >= 0) failed: offset for non comment?
#
# JRE version:  (14.0) (fastdebug build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 14-internal+0-adhoc.tobias.open, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x95a959]  CodeBuffer::block_comment(long, char const*)+0xe9
#

Stack: [0x00007fc056192000,0x00007fc056293000],  sp=0x00007fc056290e60,  free space=1019k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x95a959]  CodeBuffer::block_comment(long, char const*)+0xe9
V  [libjvm.so+0x127fd44]  MacroAssembler::verify_oop(RegisterImpl*, char const*) [clone .part.69]+0x1e4
V  [libjvm.so+0xde24b2]  InterpreterMacroAssembler::profile_obj_type(RegisterImpl*, Address const&)+0xa2
V  [libjvm.so+0xde359b]  InterpreterMacroAssembler::profile_return_type(RegisterImpl*, RegisterImpl*, RegisterImpl*)+0x2ab
V  [libjvm.so+0x17ee246]  TemplateInterpreterGenerator::generate_return_entry_for(TosState, int, unsigned long)+0x496
V  [libjvm.so+0x17eb87a]  TemplateInterpreterGenerator::generate_all()+0x21a
V  [libjvm.so+0x17e8c37]  TemplateInterpreter::initialize()+0x187
V  [libjvm.so+0xdf30ce]  interpreter_init()+0xe
V  [libjvm.so+0xdc291a]  init_globals()+0x8a
V  [libjvm.so+0x183e5e1]  Threads::create_vm(JavaVMInitArgs*, bool*)+0x2e1
V  [libjvm.so+0xf170a9]  JNI_CreateJavaVM+0x69
C  [libjli.so+0x41e6]  JavaMain+0x86
C  [libjli.so+0x8239]  ThreadJavaMain+0x9
Comments
[jdk11u-fix-request] Approval Request from sendaoYan Clean backport of JDK-8231058, to fix JVM crash when running with -XX:+VerifyOops. The newly added test run failed before this backport, and run passed after apply this backport. The change has been verified with jtreg(include tier1/2/3 etc.) on linux-x64 and linux-aarch64.
10-11-2024

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk11u-dev/pull/2963 Date: 2024-11-10 01:24:15 +0000
10-11-2024

URL: https://hg.openjdk.java.net/jdk/jdk/rev/acc7ea6bf0b4 User: thartmann Date: 2019-09-23 12:30:46 +0000
23-09-2019

http://cr.openjdk.java.net/~thartmann/8231058/webrev.00/
16-09-2019