RFR: 8261137: Optimization of Box nodes in uncommon_trap [v6]

Vladimir Kozlov kvn at openjdk.java.net
Thu Mar 4 18:22:45 UTC 2021


On Thu, 4 Mar 2021 09:58:41 GMT, Wang Huang <whuang at openjdk.org> wrote:

>>> Got failure during testing `applications/ctw/modules/java_desktop.java` on linux-aarch64.
>>> With additional flags `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation -Djava.awt.headless=true`
>>> 
>>> ```
>>> #  Internal Error (/workspace/open/src/hotspot/share/opto/loopTransform.cpp:3711), pid=305808, tid=305821
>>> #  assert(use == polladr) failed: the use should be a safepoint polling
>>> #
>>> 
>>> Current CompileTask:
>>> C2:  66678 5846   !b        com.sun.media.sound.RealTimeSequencer$DataPump::makeDisabledArray (183 bytes)
>>> 
>>> Stack: [0x0000ffff53c00000,0x0000ffff53e00000],  sp=0x0000ffff53df9c50,  free space=2023k
>>> Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
>>> V  [libjvm.so+0x11d7090]  PhaseIdealLoop::match_fill_loop(IdealLoopTree*, Node*&, Node*&, Node*&, Node*&)+0xbe0
>>> V  [libjvm.so+0x11d7388]  PhaseIdealLoop::intrinsify_fill(IdealLoopTree*) [clone .part.0]+0xa4
>>> V  [libjvm.so+0x11d81e8]  PhaseIdealLoop::do_intrinsify_fill()+0x218
>>> V  [libjvm.so+0x120afb8]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xec8
>>> V  [libjvm.so+0x98027c]  PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x28c
>>> V  [libjvm.so+0x97d9bc]  Compile::Optimize()+0xf3c
>>> V  [libjvm.so+0x97ed20]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0xf50
>>> ```
>> 
>> 
>> OK . I will check this error.
>
>> Got failure during testing `applications/ctw/modules/java_desktop.java` on linux-aarch64.
>> With additional flags `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation -Djava.awt.headless=true`
>> 
>> ```
>> #  Internal Error (/workspace/open/src/hotspot/share/opto/loopTransform.cpp:3711), pid=305808, tid=305821
>> #  assert(use == polladr) failed: the use should be a safepoint polling
>> #
>> 
>> Current CompileTask:
>> C2:  66678 5846   !b        com.sun.media.sound.RealTimeSequencer$DataPump::makeDisabledArray (183 bytes)
>> 
>> Stack: [0x0000ffff53c00000,0x0000ffff53e00000],  sp=0x0000ffff53df9c50,  free space=2023k
>> Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
>> V  [libjvm.so+0x11d7090]  PhaseIdealLoop::match_fill_loop(IdealLoopTree*, Node*&, Node*&, Node*&, Node*&)+0xbe0
>> V  [libjvm.so+0x11d7388]  PhaseIdealLoop::intrinsify_fill(IdealLoopTree*) [clone .part.0]+0xa4
>> V  [libjvm.so+0x11d81e8]  PhaseIdealLoop::do_intrinsify_fill()+0x218
>> V  [libjvm.so+0x120afb8]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xec8
>> V  [libjvm.so+0x98027c]  PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x28c
>> V  [libjvm.so+0x97d9bc]  Compile::Optimize()+0xf3c
>> V  [libjvm.so+0x97ed20]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0xf50
>> ```
> 
> Does this error reproduct every time? I tested this case in my aarch64 machine for many times (> 300) and failed to encounter this error. 
> 
> Can you give me some more info about this error? For example, crash log ? 
> 
> PS: 
> I used `make run-test CONF=slowdebug JTREG="JAVA_OPTIONS=-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation -Djava.awt.headless=true" TEST="applications/ctw/modules/java_desktop.java"` to run this case.

I attached hs_err and replay files to [8261137](https://bugs.openjdk.java.net/browse/JDK-8261137).
It happens only once. Only on aarch64.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2401


More information about the hotspot-compiler-dev mailing list