United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6577184 G1: SIGSEGV in ~BufferBlob::Interpreter after a full GC
JDK-6577184 : G1: SIGSEGV in ~BufferBlob::Interpreter after a full GC

Details
Type:
Bug
Submit Date:
2007-07-05
Status:
Resolved
Updated Date:
2010-04-02
Project Name:
JDK
Resolved Date:
2009-02-13
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs14 (b06)

Related Reports
Backport:
Backport:

Sub Tasks

Description
SIGSEGV in ~BufferBlob::Interpreter after a full GC:


148.629: [Full GC 85M->23M(128M), 1.2100642 secs]
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xfb005a54, pid=10543, tid=31
#
# Java VM: Java HotSpot(TM) Server VM (1.7.0-internal-fastdebug mixed mode)
# Problematic frame:
# v  ~BufferBlob::Interpreter
#

                                    

Comments
EVALUATION

This bug is due to screwed up MinPermHeapExpansion in CollectorPolicy::initialize_flags(). It's initial value is less than min_alignment() so align_size_down(...) returns zero. Then when the a full collection happened, CompactingPermGen::compute_new_size() _shrinks_ the permanent generation and kills live data.
                                     
2007-07-05
SUGGESTED FIX

Job ID:                 20070706054931.ap159146.g1_gc_baseline_sync
Original workspace:     spb-east:/scratch/users/ap159146/g1_gc_baseline_sync
Submitter:              ap159146
Archived data:          /net/prt-data.east/archives/main/g1_gc_baseline/2007/20070706054931.ap1591
46.g1_gc_baseline_sync/
Webrev:                 http://analemma.sfbay.sun.com/net/prt-data.east/archives/main/g1_gc_baseli
ne/2007/20070706054931.ap159146.g1_gc_baseline_sync/workspace/webrevs/webrev-2007.07.06/index.html

Fixed 6577184: G1: SIGSEGV in ~BufferBlob::Interpreter after a full GC

Webrev at: http://javaweb.sfbay/~ap159146/6577184/

Reviewed by: Y Srinivas Ramakrishna, Tony Printezis, Jon Masamitsu

Fix Verified: yes

Verification Testing:
  dacapo (ALL)

Other testing:
  PRT, gc_test_suite

Details:
  This bug is due to screwed up MinPermHeapExpansion in CollectorPolicy::initialize_flags(). It's
initial value is less than min_alignment() so align_size_down(...) returns zero. Then when the a f
ull collection happened, CompactingPermGen::compute_new_size() _shrinks_ the permanent generation
and kills live data.

END COMMENT
update: src/share/vm/memory/collectorPolicy.cpp

Examined files: 4007

Contents Summary:
       1   update
    4006   no action (unchanged)
                                     
2007-10-05



Hardware and Software, Engineered to Work Together