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

iCMS: Foreground collector becomes active when the coordinator is in a yield loop

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 6
    • Fix Version/s: 6
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Introduced In Build:
      b92
    • Introduced In Version:
      6
    • Resolved In Build:
      b96
    • CPU:
      sparc
    • OS:
      solaris

      Description

      Foreground collector becomes active when the coordinator is in a yield loop.

         for (unsigned i = 0; i < CMSCoordinatorYieldSleepCount &&
                             ConcurrentMarkSweepThread::should_yield(); ++i) {
           assert(!CMSCollector::foregroundGCIsActive() , "can't become true "
                 "while there are pending unsatisfied yield requests");
           os::sleep(Thread::current(), 1, false);
         }

      The assertion in the code above detects this condition.
      The test case and the backtraces from all the threads attached.
      The command line for the test is: java -server -Xmixed -DHANGINGJAVA27879 -XX:-PrintVMOptions -Xincgc -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled gc.gctests.FinalizerGC01.FinalizerGC01

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tonyp Tony Printezis
                Reporter:
                iveresov Igor Veresov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: