United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 7134655 Crash in reference processing when doing single-threaded remarking
7134655 : Crash in reference processing when doing single-threaded remarking

Details
Type:
Bug
Submit Date:
2012-01-27
Status:
Closed
Updated Date:
2012-03-22
Project Name:
JDK
Resolved Date:
2012-02-21
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
hs23

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

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();
    }
  }

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/be649fefcdc2
                                     
2012-03-22
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/be649fefcdc2
                                     
2012-01-28
EVALUATION

Temporarily disabled multi-threaded reference discovery when entering a single-threaded remark phase.
                                     
2012-01-27



Hardware and Software, Engineered to Work Together