RFD: C2 bug: 8157306 random infrequent null pointer exceptions in javac
Vladimir Kozlov
vladimir.kozlov at oracle.com
Sat Jun 25 03:04:45 UTC 2016
The assert you added is "good" :)
It found several problems but I am not sure if they are real or we can't call insert_anti_dependences() there.
# Internal Error (/opt/jprt/T/P1/223700.vkozlov/s/hotspot/src/share/vm/opto/gcm.cpp:417), pid=5717, tid=5738
# assert(early->dominates(LCA)) failed: early is high enough
# Internal Error (/opt/jprt/T/P1/223700.vkozlov/s/hotspot/src/share/vm/opto/gcm.cpp:748), pid=6805, tid=6814
# assert(store->find_edge(load) != -1) failed: missing precedence edge
V [libjvm.so+0x6b700c] report_vm_error(char const*, int, char const*, char const*, ...)+0xe0
V [libjvm.so+0x863710] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x1634
V [libjvm.so+0x37e074] PhaseCFG::verify() const+0x424
V [libjvm.so+0x630734] Compile::Code_Gen()+0x2cc
V [libjvm.so+0x633ccc] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xe2c
hotspot/test/gc/g1/humongousObjects/TestHumongousClassLoader.java
hotspot/test/gc/g1/plab/TestPLABEvacuationFailure.java
hotspot/test/runtime/Metaspace/FragmentMetaspace.java
and others.
May be needed run with -Xcomp to trigger failures.
Thanks,
Vladimir
On 6/24/16 3:37 PM, Vladimir Kozlov wrote:
> Looks good. I submitted testing and will push if testing pass.
>
> Thanks,
> Vladimir
>
> On 6/23/16 9:18 AM, Andrew Haley wrote:
>> On 22/06/16 22:13, Vladimir Kozlov wrote:
>>> Thank you, Andrew, for finding the cause of this problem.
>>> Your fix looks good to me. Can you also add changes for the assert you mentioned - I think it is useful.
>>> And, please, prepare webrev.
>>
>> http://cr.openjdk.java.net/~aph/8157306.1/
>>
>> There is no point putting an assert in call_catch_cleanup()
>> immediately after we insert the precedence edges. I think it is best
>> to put the assert in verify_cfg(), where it makes the most sense. I
>> had to make verify_anti_dependences() const in order to call it from
>> verify_cfg(). I hope this is OK.
>>
>> Thanks,
>>
>> Andrew.
>>
More information about the hotspot-dev
mailing list