JDK-8013041 : guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2013-04-23
  • Updated: 2014-01-15
  • Resolved: 2013-04-25
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 8 Other
8Fixed hs25Fixed
Related Reports
Relates :  
Description
in Comp_Baseline-Tiered-Unstable.2013-04-22 'java -version' trigger asset

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=\macroAssembler_x86.hpp:121
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (c:\jprt\t\p1\172708.amurillo\s\src\cpu\x86\vm\macroAssembler_x86.hpp:121), pid=3628, tid=64232
#  guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
#
# JRE version:  (8.0-b85) (build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b30-internal-201304191727.amurillo.hs25-b30-comp-sync-fastdebug compiled mode, sharing windows-amd64 )
# Core dump written. Default location: C:\local\aurora\sandbox\results\hs_err_pid3628.mdmp
#
# An error report file with more information is saved as:
# C:\local\aurora\sandbox\results\hs_err_pid3628.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
Comments
I've successfully reproduced the assertion. The assertion happens when -XX:+TieredCompilation is enabled on x86/amd64. The suspected 'jmpb' in InterpreterGenerator::generate_counter_incr is indeed the caused. It's confirmed by examining the branch instruction from patch_instructions() in gdb.
24-04-2013

Running the vm with added -Xshare:dump first resolves the archive not found error. However, I'm still not able to reproduce the bug. Please let me know on which machine I can reproduce the assert. Thanks.
23-04-2013

I could not reproduce the bug with the command line reported in the bug. It reported following and exited. Removing -Xshare:on from the command line, the vm printed version string without assertion failure. ====================================== An error has occurred while processing the shared archive file. Specified shared archive not found. Error occurred during initialization of VM Unable to use shared archive. ====================================== Looking at InterpreterGenerator::generate_counter_incr() in templateInterpreter_x86_64.cpp, I see there is a jmpb at line 318, which might be the one causing the assert.
23-04-2013

Will do. Thanks, Roland.
23-04-2013

Crash in interpreter generation. Looks like it could be related to 8010862. Can you check Jiangli? Thanks.
23-04-2013

# # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/opt/jprt/T/P1/172708.amurillo/s/src/cpu/x86/vm/macroAssembler_x86.hpp:121), pid=10104, tid=2 # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset # # JRE version: (8.0-b85) (build ) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b30-internal-201304191727.amurillo.hs25-b30-comp-sync-fastdebug compiled mode, sharing solaris-amd64 ) # Core dump written. Default location: /export/local/aurora/sandbox/results/core or core.10104 # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x0000000000422800): JavaThread "Unknown thread" [_thread_in_vm, id=2, stack(0xfffffd7ffeeff000,0xfffffd7ffefff000)] Stack: [0xfffffd7ffeeff000,0xfffffd7ffefff000], sp=0xfffffd7ffeff91a0, free space=1000k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x263e588] void VMError::report(outputStream*)+0x8f4 V [libjvm.so+0x263f77b] void VMError::report_and_die()+0x507 V [libjvm.so+0xf0a027] void report_vm_error(const char*,int,const char*,const char*)+0x55f V [libjvm.so+0x7f13c1] void AbstractAssembler::bind(Label&)+0x431 V [libjvm.so+0x247940d] void InterpreterGenerator::generate_counter_incr(Label*,Label*,Label*)+0x3a9 V [libjvm.so+0x2480e79] unsigned char*InterpreterGenerator::generate_normal_entry(bool)+0xd99 V [libjvm.so+0x2468cae] void TemplateInterpreterGenerator::generate_all()+0x4f0a V [libjvm.so+0x246324d] void TemplateInterpreter::initialize()+0x2bd V [libjvm.so+0x153f26a] void interpreter_init()+0xe V [libjvm.so+0x12de172] int init_globals()+0xb6 V [libjvm.so+0x24d9f44] int Threads::create_vm(JavaVMInitArgs*,bool*)+0x1c8 V [libjvm.so+0x1745eac] JNI_CreateJavaVM+0x78 C [libjli.so+0x9e8c] JavaMain+0x144 C [libc.so.1+0x12257d] _thrp_setup+0xa5 C [libc.so.1+0x122820] _lwp_start+0x0
23-04-2013