United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7119294 Two command line options cause JVM to crash.
JDK-7119294 : Two command line options cause JVM to crash.

Details
Type:
Bug
Submit Date:
2011-12-08
Status:
Closed
Updated Date:
2012-10-04
Project Name:
JDK
Resolved Date:
2012-03-29
Component:
hotspot
OS:
linux
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs23 (b10)

Related Reports
Backport:
Backport:
Backport:
Duplicate:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux PLUS-DEV-01 2.6.18-274.7.1.el5 #1 SMP Thu Oct 20 16:21:01 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux


A DESCRIPTION OF THE PROBLEM :
When you run the following program with these options.

-XX:+TieredCompilation  -XX:-UseTLAB

you get a JVM crash.

REGRESSION.  Last worked in version 7

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the following program with

-XX:+TieredCompilation  -XX:-UseTLAB

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No crash
ACTUAL -
JVM crashes.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00002aaaab3e92b3, pid=28810, tid=1106643264
#
# JRE version: 7.0_01-b08
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J  java.util.Arrays.copyOfRange([CII)[C
#
# Failed to write core dump. 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:
# /home/peterlawrey/untitled/hs_err_pid28810.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
public class Main {
    public static void main(String... args) {
        "Hello".substring(0, 4);
    }
}
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Use either option but not both.

SUPPORT :
YES

                                    

Comments
EVALUATION

Thread register is not setup in MacroAssembler::incr_allocated_bytes() in 64bit in case the thread register passed as an argument is noreg.
                                     
2012-01-05
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1cb50d7a9d95
                                     
2012-01-06
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/1cb50d7a9d95
                                     
2012-03-22



Hardware and Software, Engineered to Work Together