JDK-2131196 : Assertion failure "wrong array object size"
  • Type: Backport
  • Backport of: JDK-6275407
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2005-10-26
  • Updated: 2011-12-19
  • Resolved: 2006-03-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other Other
5.0u7,hs10Fixed hs10Fixed
Comments
SUGGESTED FIX The fix was back-backported to Tu7 by Yumin following a minor fire-drill because of PRT intransigence with a tight schedule (talk of PRT efficiency lossage, thank you Murphy (of Murphy's Law fame)). ------------------------------------------------------------------ Event: putback-to Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/1.5/tiger_update7_baseline (jano.sfbay:/export/disk05/hotspot/ws/1.5/tiger_update7_baseline) Child workspace: /net/prt-web.sfbay/prt-workspaces/20060223165657.yq123930.hotspot/workspace (prt-web:/net/prt-web.sfbay/prt-workspaces/20060223165657.yq123930.hotspot/workspace) User: yq123930 Comment: --------------------------------------------------------- Job ID: 20060223165657.yq123930.hotspot Original workspace: somerset:/net/jpsesvr/jpse-US3/yq123930/1.5.0/hotspot Submitter: yq123930 Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update7_baseline/2006/20060223165657.yq123930.hotspot/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update7_baseline/2006/20060223165657.yq123930.hotspot/workspace/webrevs/webrev-2006.02.23/index.html FIX:5023697: ParallelGC: extend PrintClassHistogram to work with parallel gc? RFE request heap dump work with parallel GC. 6275407: Assertion failure "wrong array object size" Temporarily weaken the assert so that it doesnot fire when ParNew+Tenured is used, since it is believed that this is too strong when promotion lab surgery by one GC worker switches the size of a filler array that's being examined during BOT navigation by another GC worker. A better fix and a more thorough investigation is deferred, but this weakening of the assertion is to meanwhile stem the loss of PRT productivity on its account. Webrev: http://jpsesvr.sfbay.sun.com:8080/ctetools/html/Approve.jsp?index=17 Platform affected : all Does this fix need Forward ported ? No Fixed by : ###@###.### Backported by : ###@###.### Putback by : ###@###.### Code Reviewed by : ###@###.###, ###@###.###, ###@###.###, ###@###.### Is this fix for a JPSE introduced regression ? NO Is the testcase(if available) provided for the regression testbase ? NO Has this fix been verified by customer(s) ? YES (If Yes, provide verification mail from customer) oracle confirmed the fix Test information : PRT, Java2D Files: update: src/share/vm/includeDB_core update: src/share/vm/gc_implementation/includeDB_gc_parallelScavenge update: src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp update: src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp update: src/share/vm/gc_interface/collectedHeap.hpp update: src/share/vm/gc_interface/gcCause.cpp update: src/share/vm/gc_interface/gcCause.hpp update: src/share/vm/memory/genCollectedHeap.cpp update: src/share/vm/memory/genCollectedHeap.hpp update: src/share/vm/memory/heapInspection.cpp update: src/share/vm/memory/heapInspection.hpp update: src/share/vm/oops/oop.inline.hpp update: src/share/vm/runtime/vm_operations.cpp update: src/share/vm/runtime/vm_operations.hpp Examined files: 3692 Contents Summary: 14 update 3678 no action (unchanged)
25-02-2006

SUGGESTED FIX Fix putback to TU8: ob submitted at: 12:00:45 PM Total time in queue: 3h 27m 13s Job started running at: 1:13:19 PM Job run time: 2h 14m 39s Job state: success Job fail/kill comment: NoComment Job flags: PUTBACK ARCHIVE SYNC-WORKSPACE Original workspace: neeraja:/net/spot/scratch/ysr/tu8 Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/1.5/tiger_update8_baseline Submitter: ysr PRT data: /net/prt-web.sfbay/prt-workspaces/20060207120044.ysr.tu8 Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update8_baseline/2006/20060207120044.ysr.tu8/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update8_baseline/2006/20060207120044.ysr.tu8/workspace/webrevs/webrev-2006.02.07/index.html Fixed 6275407: Assertion failure "wrong array object size" (subCR = 2131196) This is a backport of a temporary fix in Mustang of CR 6275407: =============================================================== We are temporarily weakening this assert so that it doesnot fire when ParNew+Tenured is used, since it is believed that this is too strong when promotion lab surgery by one GC worker switches the size of a filler array that's being examined during BOT navigation by another GC worker. A better fix and a more thorough investigation is deferred, but this weakening of the assertion is to meanwhile stem the loss of PRT productivity on its account. Reviewed by: D. Detlefs, K. Russell Fix Verified: n (see below; it's obvious of course that the assert will not fire now with ParNew+Tenured during GC) Verification testing: Ran GCOld and GCBasher in a loop with ParNew/fastdebug/compiler1/sparc/solaris with old and new fastdebug binaries, neither of which reproduced the original assert. Note that the changes do not affect the product build in any manner whatsoever. Other Testing: spec, PRT ============================================================= Approved for Tiger by Update Core Team (Darin Rieck)
07-02-2006

SUGGESTED FIX See evaluation section; this is a weakening of an existing assert which is too strong; see parent CR for details.
07-02-2006

EVALUATION weaken assert to allow for PLAB surgery by one GC worker thread concurrent with BOT navigation by another in the case of ParNew (no CMS case).
04-11-2005