RFR: 8224162: assert(profile.count() == 0) failed: sanity in InlineTree::is_not_reached

Jie Fu fujie at loongson.cn
Mon May 20 08:33:47 UTC 2019


Thank you, Leonid.

Bad news.

Well, I think there are two cases which may still cause the assertion fail:
-1) profile.count() had been overflowed
-2) profile.count() was not initialized correctly

I will check it further.

Thanks a lot.
Best regard,
Jie

On 2019/5/20 下午4:12, Leonid Mesnik wrote:
> The failure is still reproduced with patch. I attached full hs_err to the bug.
>
> hs_err
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error (open/src/hotspot/share/opto/bytecodeInfo.cpp:343), pid=3096, tid=3128
> #  assert(profile_count == 0) failed: sanity
> #
> # JRE version: Java(TM) SE Runtime Environment (13.0) (fastdebug build 13-internal+0-2019-05-18-0457052.lmesnik.null)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 13-internal+0-2019-05-18-0457052.lmesnik.null, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
> # Problematic frame:
> # V  [libjvm.so+0x6cbf6c]  InlineTree::is_not_reached(ciMethod*, ciMethod*, int, ciCallProfile&) [clone .constprop.153]+0xbc
> #
> # Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h" (or dumping to /scratch/lmesnik/ws/ks-apps/build/linux-x64/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kit\
> chensink14D_java/scratch/0/core.3096)
> #
> # If you would like to submit a bug report, please visit:
> #   http://bugreport.java.com/bugreport/crash.jsp
> #
>
> ---------------  S U M M A R Y ------------
>
> Command Line: -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=12 -XX:+DeoptimizeALot -XX:MaxRAMPercentage=50 -XX:+HeapDumpOnOutOfMemoryError -XX:+CrashOnOutOfMemoryError -Djava.net.preferIPv6Addresses=false -XX:+DisplayVMOutputToS\
> tderr -XX:+UsePerfData -Xlog:gc*,gc+heap=debug:gc.log:uptime,timemillis,level,tags -XX:+DisableExplicitGC -XX:+StartAttachListener -XX:NativeMemoryTracking=detail -XX:+FlightRecorder --add-exports=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAME\
> D --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED -Djava.io.tmpdir=/scratch/lmesnik/ws/ks-apps/build/linux-x64/test-support/jtreg_closed_test_hotspot_jtreg_applicatio\
> ns_kitchensink_Kitchensink14D_java/scratch/0/java.io.tmpdir -Duser.home=/scratch/lmesnik/ws/ks-apps/build/linux-x64/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink14D_java/scratch/0/user.home -agentpath:/scratch/lmesnik/ws/ks-apps/build/\
> linux-x64/images/test/hotspot/jtreg/native/libJvmtiStressModule.so applications.kitchensink.process.stress.Main /scratch/lmesnik/ws/ks-apps/build/linux-x64/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink14D_java/scratch/0/kitchensink.fin\
> al.properties
>
> Host: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz, 4 cores, 14G, Oracle Linux Server release 7.5
> Time: Sun May 19 05:15:11 2019 PDT elapsed time: 111312 seconds (1d 6h 55m 12s)
>
> ---------------  T H R E A D  ---------------
>
> Current thread (0x00002ae4e83bc000):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=3128, stack(0x00002ae522de2000,0x00002ae522ee3000)]
>
>
> Current CompileTask:
> C2:111312036 146944       4       spec.benchmarks.derby.DerbyHarness$Client::handleResultSet (77 bytes)
>
> Stack: [0x00002ae522de2000,0x00002ae522ee3000],  sp=0x00002ae522edf650,  free space=1013k
> Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V  [libjvm.so+0x6cbf6c]  InlineTree::is_not_reached(ciMethod*, ciMethod*, int, ciCallProfile&) [clone .constprop.153]+0xbc
> V  [libjvm.so+0x6d12e0]  InlineTree::ok_to_inline(ciMethod*, JVMState*, ciCallProfile&, WarmCallInfo*, bool&)+0x1950
> V  [libjvm.so+0xb6e075]  Compile::call_generator(ciMethod*, int, bool, JVMState*, bool, float, ciKlass*, bool, bool)+0x905
> V  [libjvm.so+0xb6f6b9]  Parse::do_call()+0x469
> V  [libjvm.so+0x1441b70]  Parse::do_one_bytecode()+0xff0
> V  [libjvm.so+0x1432520]  Parse::do_one_block()+0x650
> V  [libjvm.so+0x1432a23]  Parse::do_all_blocks()+0x113
> V  [libjvm.so+0x14348e4]  Parse::Parse(JVMState*, ciMethod*, float)+0xc54
> V  [libjvm.so+0x803d0c]  ParseGenerator::generate(JVMState*)+0x18c
> V  [libjvm.so+0x9c08b4]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xe74
> V  [libjvm.so+0x801d9d]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x10d
> V  [libjvm.so+0x9cd17d]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x46d
> V  [libjvm.so+0x9ce1d8]  CompileBroker::compiler_thread_loop()+0x418
> V  [libjvm.so+0x16c0baa]  JavaThread::thread_main_inner()+0x26a
> V  [libjvm.so+0x16c9267]  JavaThread::run()+0x227
> V  [libjvm.so+0x16c62f6]  Thread::call_run()+0xf6
> V  [libjvm.so+0x13e0d5e]  thread_native_entry(Thread*)+0x10e
>
> Leonid
>
>> On May 18, 2019, at 5:40 PM, Jie Fu <fujie at loongson.cn> wrote:
>>
>> Thanks Vladimir Ivanov and Vladimir Kozlov for your review.
>> Let's wait for Leonid's test result.
>>
>> Thanks.
>> Best regards,
>> Jie
>>
>> On 2019年05月19日 00:15, Vladimir Kozlov wrote:
>>> Hi Jie,
>>>
>>> So the counter was incremented while this code is executed. And you fixed it by caching initial value.
>>> Looks good.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 5/17/19 6:37 PM, Jie Fu wrote:
>>>> Hi all,
>>>>
>>>> JBS:    https://bugs.openjdk.java.net/browse/JDK-8224162
>>>> Webrev: http://cr.openjdk.java.net/~jiefu/8224162/webrev.00/
>>>>
>>>> I'm sorry to introduce this assertion failure.
>>>> Please review the suggested fix and give me some advice.
>>>>
>>>> Leonid, could you please help to test the patch?
>>>> I don't have the reproducer you mentioned in the JBS.
>>>>
>>>> Thanks a lot.
>>>> Best regards,
>>>> Jie
>>>>
>>>>
>>



More information about the hotspot-compiler-dev mailing list