United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7026307 DEBUG MESSAGE: broken null klass on amd64
JDK-7026307 : DEBUG MESSAGE: broken null klass on amd64

Details
Type:
Bug
Submit Date:
2011-03-10
Status:
Closed
Updated Date:
2012-02-01
Project Name:
JDK
Resolved Date:
2011-04-25
Component:
hotspot
OS:
generic,linux_redhat_5.0
Sub-Component:
compiler
CPU:
x86,generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs21,7
Fixed Versions:
hs21 (b07)

Related Reports
Backport:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Relates:

Sub Tasks

Description
Fastdebug VM crashes with 
=============== DEBUG MESSAGE: broken null klass ================

VM option '+StartAttachListener'
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/sharedRuntime.cpp:757
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/B/225150.et151817/source/src/share/vm/runtime/sharedRuntime.cpp:757), pid=15813, tid=140179576310096
#  guarantee(cb->is_adapter_blob() || cb->is_method_handles_adapter_blob()) failed: exception happened outside interpreter, nmethods and vtable stubs (1)
(21.0-b04-internal-201103042251.et151817.hs21-b04-snapshot-fastdebug compiled mode 

Product/fastdebug build also may crash with SIGSEGV:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f89fc1a382b, pid=15693, tid=140230539037008


Not reproducible with JDK 7 b132, HS 21 b03.

                                    

Comments
EVALUATION

Reporduces with the latest OI.

I made a typo while refactoring for 7020521, in stubGenerator_x86_64.cpp:
  address generate_generic_copy(const char *name,
                                address byte_copy_entry, address short_copy_entry,
                                address int_copy_entry, address long_copy_entry,
                                address oop_copy_entry, address checkcast_copy_entry) 

The order of arguments is wrong, entry_oop_arraycopy and entry_jlong_arraycopy should be swapped. With compressed oops this would cause stomping, among other things.
                                     
2011-03-30
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/348c0df561a9
                                     
2011-03-30



Hardware and Software, Engineered to Work Together