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

CMS: +ExplicitGCInvokesConcurrent can hang when +CMSIncrementalMode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • hs10
    • 6
    • hotspot
    • gc
    • mustang
    • 6
    • b03
    • generic
    • generic

        CMSIncrementalMode currently uses certain young gen allocation
        point threshold crossings to act as the strobe to enable and
        disable the CMS work. ExplicitGCInvokesConcurrent runs CMS
        when asked to full gc. If there's an application where,
        for example, all activity is stopped while a single thread
        invokes System.gc(), then we have a circular deadlock --
        the System.gc() call will (by design) not return
        until the old gen collection is completed by the CMS thread.
        In turn the CMS thread will not start the collection cycle
        unless there is allocation activity in the young gen that
        will strobe it.

        We need to fix this mal-interaction of the two features.
        ###@###.### 2005-06-06 16:51:58 GMT

              iveresov Igor Veresov
              ysr Y. Ramakrishna
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: