--- old/src/share/vm/memory/dump.cpp 2012-02-17 15:11:18.976860863 -0800 +++ new/src/share/vm/memory/dump.cpp 2012-02-17 15:11:18.868864571 -0800 @@ -302,6 +302,9 @@ constantPoolOop constants = ik->constants(); int n = inner_classes->length(); for (int i = 0; i < n; i += instanceKlass::inner_class_next_offset) { + if (i == n - instanceKlass::enclosing_method_attribute_size) { + break; + } int ioff = i + instanceKlass::inner_class_inner_name_offset; int index = inner_classes->ushort_at(ioff); if (index != 0) {