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

Crash in reference processing when doing single-threaded remarking

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: hs23
    • Fix Version/s: hs23
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
      gc
    • Resolved In Build:
      b13
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Verified

      Backports

        Description

        If we run the remarking phase in the VM thread we'll crash if the reference processor is setup to use multi-threaded discovery.

        We crash because as_Worker_thread() returns NULL in get_discovered_list():
          if (_discovery_is_mt) {
            // During a multi-threaded discovery phase,
            // each thread saves to its "own" list.
            Thread* thr = Thread::current();
            id = thr->as_Worker_thread()->id();
          } else {
            // single-threaded discovery, we save in round-robin
            // fashion to each of the lists.
            if (_processing_is_mt) {
              id = next_id();
            }
          }

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  stefank Stefan Karlsson
                  Reporter:
                  stefank Stefan Karlsson
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: