JDK-6490031 : CMS: assert(size > 0,"no unparsable object found"), concurrentMarkSweepGeneration.cpp, 6528
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 6
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-11-03
  • Updated: 2010-04-02
  • Resolved: 2006-12-02
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.
JDK 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Description
http://gtee.sfbay/gtee/results/MUSTANG/NIGHTLY/VM-MAIN/latest/GC_Baseline-Xinc/vm/64BITSOLSPARC/server/mixed/vm-vm_6.0_server_mixed_64BITSOLSPARC2006-11-01-20-02-41/ResultDir/StringInternGC/StringInternGC.log

says

     #  Internal Error (/net/prt-solsparc-q1-19/tmp/PrtBuildDir/workspace/src/share/vm/memory/concurrentMarkSweepGeneration.cpp, 6528 [ Patched ]), pid=22731, tid=3
     #
     # Java VM: Java HotSpot(TM) 64-Bit Server VM (20061101165201.pbk.osse-hotspot-debug mixed mode)
     #
     # Error: assert(size > 0,"no unparsable object found")

and the hs_err log is in

     http://gtee.sfbay/gtee/results/MUSTANG/NIGHTLY/VM-MAIN/latest/GC_Baseline-Xinc/vm/64BITSOLSPARC/server/mixed/vm-vm_6.0_server_mixed_64BITSOLSPARC2006-11-01-20-02-41/hs_err_pid22731.log

...

# # An unexpected error has been detected by Java Runtime Environment: # # Internal Error (/net/prt-solsparc-q1-19/tmp/PrtBuildDir/workspace/src/share/vm/memory/concurrentMarkSweepGeneration.cpp, 6528 [ Patched ]), pid=22731, tid=3 # # Java VM: Java HotSpot(TM) 64-Bit Server VM (20061101165201.pbk.osse-hotspot-debug mixed mode) # # Error: assert(size> 0,"no unparsable object found") # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x0000000100161800): ConcurrentGCThread [id=3] Stack: [0xffffffff6c200000,0xffffffff6c300000), sp=0xffffffff6c2febe0, free space=1018k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x10c2e68];; void VMError::report_and_die()+0x7a0 V [libjvm.so+0x4d68f4];; void report_assertion_failure(const char*,int,const char*)+0x74 V [libjvm.so+0x488388];; unsigned long ScanMarkedObjectsAgainCarefullyClosure::do_object_careful_m(oop,MemRegion)+0x9d0 V [libjvm.so+0x412dc8];; HeapWord*CompactibleFreeListSpace::object_iterate_careful_m(MemRegion,ObjectClosureCareful*)+0x130 V [libjvm.so+0x47ab54];; unsigned long CMSCollector::preclean_card_table(ConcurrentMarkSweepGeneration*,ScanMarkedObjectsAgainCarefullyClosure*)+0x60c V [libjvm.so+0x478268];; unsigned long CMSCollector::preclean_work(bool,bool)+0xa98 V [libjvm.so+0x4771ec];; void CMSCollector::abortable_preclean()+0x1a4 V [libjvm.so+0x46bc74];; void CMSCollector::collect_in_background(bool)+0xdf4 V [libjvm.so+0x49c5e4];; void ConcurrentMarkSweepThread::run()+0x834 V [libjvm.so+0xd470f0];; java_start+0x188 --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x0000000100369400 JavaThread "nsk.share.runner.MemDiag@5b86d4c1" [_thread_blocked, id=15] 0x0000000100368c00 JavaThread "gc.gctests.StringInternGC.StringInternGC$StringGenerator@11cfb549" [_thread_in_vm, id=14] 0x00000001003b7800 JavaThread "gc.gctests.StringInternGC.StringInternGC$StringGenerator@4cb162d5" [_thread_blocked, id=13] 0x00000001002eac00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=11] 0x00000001002e6000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=10] 0x00000001002e4000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=9] 0x00000001002e2400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=8] 0x00000001002e0c00 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=7] 0x00000001002b0800 JavaThread "Finalizer" daemon [_thread_blocked, id=6] 0x00000001002af800 JavaThread "Reference Handler" daemon [_thread_blocked, id=5] 0x000000010013e800 JavaThread "main" [_thread_blocked, id=2] Other Threads: 0x00000001002a9000 VMThread [id=4] 0x00000001002ed400 WatcherThread [id=12] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) [0x000000010013d228/0x000000010013d2b8] Heap_lock - owner thread: 0x0000000100368c00 Heap def new generation total 19136K, used 10072K [0xffffffff6c800000, 0xffffffff6dcc0000, 0xffffffff6dcc0000) eden space 17024K, 54% used [0xffffffff6c800000, 0xffffffff6d1207b8, 0xffffffff6d8a0000) from space 2112K, 34% used [0xffffffff6d8a0000, 0xffffffff6d955b28, 0xffffffff6dab0000) to space 2112K, 0% used [0xffffffff6dab0000, 0xffffffff6dab0000, 0xffffffff6dcc0000) concurrent mark-sweep generation total 60608K, used 0K [0xffffffff6dcc0000, 0xffffffff717f0000, 0xffffffff71c00000) concurrent-mark-sweep perm gen total 42488K, used 42309K [0xffffffff71c00000, 0xffffffff7457e000, 0xffffffff77000000) Dynamic libraries: 0x0000000100000000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/bin/sparcv9/java 0xffffffff7f100000 /usr/lib/64/libthread.so.1 0xffffffff7ee00000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/bin/sparcv9/../../jre/lib/sparcv9/jli/libjli.so 0xffffffff7ed00000 /usr/lib/64/libdl.so.1 0xffffffff7eb00000 /usr/lib/64/libc.so.1 0xffffffff7ea00000 /usr/platform/SUNW,Serverblade1/lib/sparcv9/libc_psr.so.1 0xffffffff7c400000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/server/libjvm.so 0xffffffff7e600000 /usr/lib/64/libsocket.so.1 0xffffffff7c200000 /usr/lib/64/libsched.so.1 0xffffffff7c000000 /usr/lib/64/libm.so.1 0xffffffff7be00000 /usr/lib/64/libCrun.so.1 0xffffffff7bc00000 /usr/lib/64/libdoor.so.1 0xffffffff7ba00000 /usr/lib/64/libnsl.so.1 0xffffffff7b700000 /usr/lib/64/libmp.so.2 0xffffffff7af00000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/native_threads/libhpi.so 0xffffffff7ab00000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/libverify.so 0xffffffff7a900000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/libjava.so 0xffffffff7a700000 /net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/libzip.so VM Arguments: jvm_args: -Xmixed -DHANGINGJAVA17472 -XX:-PrintVMOptions -Xincgc -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled java_command: gc.gctests.StringInternGC.StringInternGC Launcher Type: SUN_STANDARD Environment Variables: CLASSPATH=/net/gtee.sfbay/export/gtee2.0/results/MUSTANG/NIGHTLY/VM-MAIN/2006-11-01/GC_Baseline-Xinc/vm/64BITSOLSPARC/server/mixed/vm-vm_6.0_server_mixed_64BITSOLSPARC2006-11-01-20-02-41/gridadm.SunOS.sparc/StringInternGC:/net/gtee.sfbay/export/gtee2.0/suites/6.0/vm/bin/classes:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/lib/tools.jar PATH=/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/bin:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/bin LD_LIBRARY_PATH=/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/server:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9:/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/../lib/sparcv9::/net/gtee.sfbay/export/nightly/mustang/JDK/gc_baseline/jdk1.6/solaris-sparcv9/jre/lib/sparcv9/server:/net/gtee.sfbay/export/gtee2.0/suites/6.0/vm/bin/lib/solaris-sparcv9/nsk/share/gc/lock/jni:/net/gtee.sfbay/export/gtee2.0/suites/6.0/vm/bin/lib/solaris-sparcv9/nsk/share/gc/lock/malloc:/net/gtee.sfbay/export/gtee2.0/suites/6.0/vm/bin/lib/solaris-sparcv9/nsk/share/gc/lock/jvmti:/net/gtee.sfbay/export/gtee2.0/suites/6.0/vm/bin/lib/solaris-sparcv9/nsk/share/gc/lock/jniref SHELL=/bin/sh DISPLAY=vmsqe.sfbay:0.0 Signal Handlers: SIGSEGV: [libjvm.so+0x10c41f8], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGBUS: [libjvm.so+0x10c41f8], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGFPE: [libjvm.so+0xd4fae0], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGPIPE: [libjvm.so+0xd4fae0], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGILL: [libjvm.so+0xd4fae0], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGUSR1: [libjvm.so+0xd4fb10], sa_mask[0]=0x00000000, sa_flags=0x00000008 SIGUSR2: [libjvm.so+0xd4fae0], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c SIGHUP: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGINT: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGQUIT: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGTERM: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGQUIT: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGTERM: [libjvm.so+0xd4a790], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004 SIGUSR1: [libjvm.so+0xd4fb10], sa_mask[0]=0x00000000, sa_flags=0x00000008 SIGUSR2: [libjvm.so+0xd4fae0], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c --------------- S Y S T E M --------------- OS: Solaris 9 9/05 HW s9s_u9wos_06a SPARC Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 18 September 2006 uname:SunOS 5.9 Generic_118558-34 sun4u (T2 libthread) rlimit: STACK 10000k, CORE infinity, NOFILE 65536, AS infinity load average:4.64 2.83 2.70 CPU:total 1 has_v8, has_v9, has_vis1 Memory: 8k page, physical 2097152k(1543488k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (20061101165201.pbk.osse-hotspot) for solaris-sparc, built on Nov 1 2006 17:26:48 by "PRT" with unknown Workshop:0x580

Comments
SUGGESTED FIX No real semantic change to product build: Event: putback-to Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/main/gc_baseline (jano.sfbay:/export/disk05/hotspot/ws/main/gc_baseline) Child workspace: /net/prt-web.sfbay/prt-workspaces/20061109094803.ysr.tlab/workspace (prt-web:/net/prt-web.sfbay/prt-workspaces/20061109094803.ysr.tlab/workspace) User: ysr Comment: --------------------------------------------------------- Job ID: 20061109094803.ysr.tlab Original workspace: neeraja:/net/spot/scratch/ysr/tlab Submitter: ysr Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2006/20061109094803.ysr.tlab/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2006/20061109094803.ysr.tlab/workspace/webrevs/webrev-2006.11.09/index.html Fixed 6490031: CMS: assert(size > 0,"no unparsable object found"), concurrentMarkSweepGeneration.cpp, 6528 Webrev: http://analemma.sfbay/net/spot/scratch/ysr/tlab/webrev The assert had bit-rotted as a result of the changes in 6415354, so I made a few adjustments and removed the assertion. The changes do not change the behaviour of the product build. Reviewed by: A. Petrusenko, I. Veresov Fix Verified: No (see below) Verification Testing: StringInternGC test on sparcv9 (and elsewhere) Unfortunately, I could not reproduce the original assertion either in the reference VM nor in the VM with the bug fix; this is not sruprising however given that they require the CMS precleaning thread to catch an object in a very narrow window during its allocation. Other testing: runThese -quick and refworkload (both with cms/fastdebug) Files: update: src/share/vm/memory/concurrentMarkSweepGeneration.cpp Examined files: 3919 Contents Summary: 1 update 3918 no action (unchanged)
07-11-2006

EVALUATION The assert should be removed; the code can and should be restructured for greater clarity (it seems to have organically evolved into a somewhat unnatural shape).
03-11-2006