Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6468516

CMS: deal correctly with concurrently cleared or enqueued Reference objects

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • hs10
    • 6
    • hotspot
    • None
    • gc
    • 1.4.1
    • b03
    • generic
    • generic

        See attached test case (CMSassert.java) courtesy of Poonam (with
        minor cosmetic mods by me):

        % /net/jano/export/disk05/hotspot/users/ysr/testing/jdk1.6.0/bin/java -server -XX:CMSInitiatingOccupancyFraction=1 -XX:ParallelGCThreads=2 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:NewSize=10m -Xmx50m -Xms50m CMSassert

        VM option 'CMSInitiatingOccupancyFraction=1'
        VM option '+UseConcMarkSweepGC'
        VM option '+PrintGCDetails'
        VM option 'ParallelGCThreads=2'
        VM option 'NewSize=10m'
        [GC [ParNew: 8184K->1012K(9216K), 0.2991557 secs] 8184K->8077K(50176K), 0.3008026 secs]
        [GC [1 CMS-initial-mark: 7064K(40960K)] 8203K(50176K), 0.1238431 secs]
        [GC [ParNew: 9189K->1019K(9216K), 0.2955122 secs] 16254K->16160K(50176K), 0.2969500 secs]
        [CMS-concurrent-mark: 1.239/1.701 secs]
        [CMS-concurrent-preclean: 0.024/0.029 secs]
        [GC[YG occupancy: 1667 K (9216 K)][checkpointRootsFinalWork[Rescan (parallel) , 0.0357604 secs][refProcessingWork[weak refs processing, 0.0000726 secs], 0.0003497 secs], 0.0383676 secs] [1 CMS-remark: 15140K(40960K)] 16807K(50176K), 0.0389492 secs]
        [CMS-concurrent-sweep: 0.007/0.008 secs]
        [CMS-concurrent-reset: 0.008/0.008 secs]
        [GC [ParNew: 9211K->765K(9216K), 0.2856602 secs] 24352K->16910K(50176K), 0.2883828 secs]
        [GC [1 CMS-initial-mark: 16145K(40960K)] 17011K(50176K), 0.2025471 secs]
        [CMS-concurrent-mark: 0.527/0.539 secs]
        [CMS-concurrent-preclean: 0.017/0.017 secs]
        [GC [ParNew: 8957K->514K(9216K), 0.3672953 secs] 25102K->17310K(50176K), 0.3693416 secs]
        [CMS-concurrent-abortable-preclean: 0.581/1.437 secs]
        [GC[YG occupancy: 6326 K (9216 K)][checkpointRootsFinalWork[Rescan (parallel) , 1.5697082 secs][refProcessingWork[weak refs processing, 0.0067538 secs], 0.0071328 secs], 1.5783948 secs] [1 CMS-remark: 16795K(40960K)] 23122K(50176K), 1.5789165 secs]
        [CMS-concurrent-sweep: 0.040/0.040 secs]
        [CMS-concurrent-reset: 0.015/0.015 secs]
        [GC [ParNew: 8706K->654K(9216K), 0.2982008 secs] 25390K->17337K(50176K), 0.2995237 secs]
        [GC [1 CMS-initial-mark: 16683K(40960K)] 17476K(50176K), 0.2644289 secs]
        [CMS-concurrent-mark: 0.611/0.611 secs]
        [CMS-concurrent-preclean: 0.013/0.013 secs]
        [GC [ParNew: 8846K->949K(9216K), 0.3570276 secs] 25529K->17821K(50176K), 0.3581730 secs]
        [CMS-concurrent-abortable-preclean: 0.393/1.390 secs]
        [GC[YG occupancy: 7760 K (9216 K)][checkpointRootsFinalWork[Rescan (parallel) , 1.7399427 secs][refProcessingWork[weak refs processing, 0.0120494 secs], 0.0125068 secs], 1.7535078 secs] [1 CMS-remark: 16871K(40960K)] 24632K(50176K), 1.7540283 secs]
        [GC [ParNew: 9141K->644K(9216K), 0.3382687 secs] 25901K->17585K(50176K), 0.3394313 secs]
        [CMS-concurrent-sweep: 0.129/0.470 secs]
        [CMS-concurrent-reset: 0.014/0.014 secs]
        [GC [ParNew: 8836K->459K(9216K), 0.2788733 secs] 25681K->17304K(50176K), 0.2800155 secs]
        [GC [1 CMS-initial-mark: 16844K(40960K)] 17463K(50176K), 0.2129514 secs]
        [CMS-concurrent-mark: 0.742/0.742 secs]
        [CMS-concurrent-preclean: 0.011/0.011 secs]
        [GC [ParNew: 8651K->667K(9216K), 0.2789957 secs] 25496K->17512K(50176K), 0.2801606 secs]
        [CMS-concurrent-abortable-preclean: 0.297/1.174 secs]
        [GC[YG occupancy: 7421 K (9216 K)][checkpointRootsFinalWork[Rescan (parallel) , 1.9176566 secs][refProcessingWork[weak refs processing, 0.0087822 secs]# To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/referenceProcessorMT.cpp:157]
        #
        # An unexpected error has been detected by Java Runtime Environment:
        #
        # Internal Error (/net/spot/scratch/ysr/gc_baseline/src/share/vm/memory/referenceProcessorMT.cpp, 157 [ Patched ]), pid=1845, tid=8
        #
        # Java VM: Java HotSpot(TM) Server VM (1.6.0-internal-debug mixed mode)
        #
        # Error: assert(*java_lang_ref_Reference::next_addr(obj) == 0,"The reference should not be enqueued")
        # An error report file with more information is saved as hs_err_pid1845.log
        #
        # If you would like to submit a bug report, please visit:
        # http://java.sun.com/webapps/bugreport/crash.jsp
        #
        Current thread is 8
        Dumping core ...
        Abort

              ysr Y. Ramakrishna
              ysr Y. Ramakrishna
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: