Heads-up: jdk/jdk CTW test failures

Zhengyu Gu zgu at redhat.com
Sun May 19 10:24:09 UTC 2019


Fixed in http://cr.openjdk.java.net/~zgu/JDK-8224115/webrev.00/

@@ -191,15 +189,11 @@
      {
        ShenandoahTraversalClosure roots_cl(q, rp);
        ShenandoahMarkCLDClosure cld_cl(&roots_cl);
        MarkingCodeBlobClosure code_cl(&roots_cl, 
CodeBlobToOopClosure::FixRelocations);
        if (unload_classes) {
-        _rp->strong_roots_do(worker_id, &roots_cl);
-        // Need to pre-evac code roots here. Otherwise we might see 
from-space constants.
-        ShenandoahWorkerTimings* worker_times = 
_heap->phase_timings()->worker_times();
-        ShenandoahWorkerTimingsTracker timer(worker_times, 
ShenandoahPhaseTimings::CodeCacheRoots, worker_id);
-        _cset_coderoots->possibly_parallel_blobs_do(&code_cl);
+        _rp->roots_do(worker_id, &roots_cl, NULL, &code_cl);
        } else {
          _rp->roots_do(worker_id, &roots_cl, &cld_cl, &code_cl);
        }

        AlwaysTrueClosure is_alive;

-Zhengyu

On 5/19/19 3:45 AM, Aleksey Shipilev wrote:
> jdk/jdk.
> 
> -Aleksey
> 
> On 5/19/19 1:04 AM, Zhengyu Gu wrote:
>> Saw this before, likely called nmethod::oops_marking_prologue/epilogue twice. Which repo?
>>
>> Thanks,
>>
>> -Zhengyu
>>
>> On 5/18/19 8:27 AM, Aleksey Shipilev wrote:
>>> Lots of CTW failures in jdk/jdk with Shenandoah enabled. Seems to be problematic with Traversal:
>>>
>>> $ CONF=linux-x86_64-server-fastdebug make run-test TEST=applications/ctw/modules/
>>> TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+UseShenandoahGC
>>> -XX:-TieredCompilation -XX:+ShenandoahVerifyOptoBarriers -XX:ShenandoahGCHeuristics=traversal"
>>>
>>> Sample hs_errs:
>>>    http://cr.openjdk.java.net/~shade/shenandoah/crashes/ctw-traversal/
>>>
>>> #
>>> # A fatal error has been detected by the Java Runtime Environment:
>>> #
>>> #  Internal Error (/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/relocInfo_x86.cpp:56), pid=25735,
>>> tid=25748
>>> #  guarantee(*(uint32_t*) disp == CompressedOops::encode((oop)x)) failed: instructions must match
>>>
>>> ...
>>> V  [libjvm.so+0x1559b99]  Relocation::pd_set_data_value(unsigned char*, long, bool)+0x369
>>> V  [libjvm.so+0x9dcfb3]  CompiledMethod::verify_oop_relocations()+0x133
>>> V  [libjvm.so+0x138f962]  nmethod::oops_do_marking_epilogue()+0x72
>>> V  [libjvm.so+0x1694541]  ShenandoahTraversalGC::init_traversal_collection()+0x381
>>> V  [libjvm.so+0x163e8c1]  ShenandoahHeap::entry_init_traversal()+0x101
>>> V  [libjvm.so+0x16c618a]  VM_ShenandoahInitTraversalGC::doit()+0x2a
>>> V  [libjvm.so+0x18d7b21]  VM_Operation::evaluate()+0x1f1
>>> V  [libjvm.so+0x19080f0]  VMThread::evaluate_operation(VM_Operation*) [clone .constprop.64]+0x180
>>> V  [libjvm.so+0x1908b4c]  VMThread::loop()+0x71c
>>> V  [libjvm.so+0x190919a]  VMThread::run()+0xca
>>> V  [libjvm.so+0x1813b66]  Thread::call_run()+0xf6
>>> V  [libjvm.so+0x141c40e]  thread_native_entry(Thread*)+0x10e
>>>
> 
> 


More information about the shenandoah-dev mailing list