United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7102044 G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise
JDK-7102044 : G1: VM crashes with assert(old_end != new_end) failed: don't call this otherwise

Details
Type:
Bug
Submit Date:
2011-10-18
Status:
Closed
Updated Date:
2013-04-24
Project Name:
JDK
Resolved Date:
2012-01-23
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs22
Fixed Versions:
hs23 (b06)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
G1 crashes with:
;; Using jvm: "/export/local/common/jdk/baseline/solaris-i586/jre/lib/i386/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/200135.jcoomes/source/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp:1635), pid=18483, tid=10
#  assert(old_end != new_end) failed: don't call this otherwise
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) Server VM (22.0-b08-internal-201110142001.jcoomes.hs22-b08-snapshot-fastdebug compiled mode solaris-x86 )
# Core dump written. Default location: /export/local/55625.HSX.PIT.VM_solaris-i586_bigapps__server_comp_runThese/results/runThese/core or core.18483
#
# 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 (0x09288400):  VMThread [stack: 0x7497f000,0x749ff000] [id=10]

Stack: [0x7497f000,0x749ff000],  sp=0x749fd130,  free space=504k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1df6ca8]  void VMError::report(outputStream*)+0x904;;  void VMError::report(outputStream*)+0x904
V  [libjvm.so+0x1df7e59]  void VMError::report_and_die()+0x56d;;  void VMError::report_and_die()+0x56d
V  [libjvm.so+0xb4b5fe]  void report_vm_error(const char*,int,const char*,const char*)+0x53a;;  void report_vm_error(const char*,int,const char*,const char*)+0x53a
V  [libjvm.so+0xcb131e]  HeapWord*G1CollectedHeap::expand_and_allocate(unsigned)+0xb1e;;  HeapWord*G1CollectedHeap::expand_and_allocate(unsigned)+0xb1e
V  [libjvm.so+0xcb00b1]  HeapWord*G1CollectedHeap::satisfy_failed_allocation(unsigned,bool*)+0x389;;  HeapWord*G1CollectedHeap::satisfy_failed_allocation(unsigned,bool*)+0x389
V  [libjvm.so+0x1e2cadd]  void VM_G1CollectForAllocation::doit()+0x21;;  void VM_G1CollectForAllocation::doit()+0x21
V  [libjvm.so+0x1e2a272]  void VM_Operation::evaluate()+0xe2;;  void VM_Operation::evaluate()+0xe2
V  [libjvm.so+0x1e28540]  void VMThread::loop()+0x788;;  void VMThread::loop()+0x788
V  [libjvm.so+0x1e27749]  void VMThread::run()+0xc1;;  void VMThread::run()+0xc1
V  [libjvm.so+0x195ac13]  java_start+0x6fb;;  java_start+0x6fb
C  [libc.so.1+0xa7045]  _thr_setup+0x4e;;  _thr_setup+0x4e
C  [libc.so.1+0xa7330]  __moddi3+0x60;;  _lwp_start+0x0

VM_Operation (0x74458e30): G1CollectForAllocation, mode: safepoint, requested by thread 0x0b491800

                                    

Comments
EVALUATION

We need to either reduce the max_length() with the size of the object header or change ypeArrayKlass::allocate() to do the test if (length <= max_length()) after it has added the object header to the size/length.
                                     
2011-10-19
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/6fd81579526f
                                     
2011-10-31
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/6fd81579526f
                                     
2011-11-29
EVALUATION

See main CR
                                     
2011-11-30
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/6fd81579526f
                                     
2012-03-22



Hardware and Software, Engineered to Work Together