RFR(XS): 8143897 :Weblogic12medrec assert(handler_address == SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, force_unwind, true)) failed: Must be the same

Dean Long dean.long at oracle.com
Fri Jan 29 04:10:34 UTC 2016

As you noticed, for this kind of bug the memory is going to consistent 
by the time the core file is written.
So to help debug this assert it if happens again, could you change it to 
something like:

#ifdef ASSERT
     address computed_address = 
SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, 
force_unwind, true);
     vmassert(handler_address == computed_address, PTR_FORMAT " != " 
PTR_FORMAT, p2i(handler_address), p2i(computed_address));


On 1/28/2016 8:16 AM, Jamsheed C m wrote:
> Hi,
> Please review the fix made for issue
> bug url: https://bugs.openjdk.java.net/browse/JDK-8143897
> web rev: http://cr.openjdk.java.net/~thartmann/8143897/webrev.00/
> Unit tests: As its hard, none
> Other tests: jprt.
> Description of the issue:
> A valid pc match in exception cache returning an invalid handler makes 
> assert to fail.
> This happens as  ExceptionCache reads are lock free access.
> As a fix for this i have put a storestore mem barrier before the count 
> is updated.
> Best Regards,
> Jamsheed

More information about the hotspot-compiler-dev mailing list