RFR: 8146416: java.lang.OutOfMemoryError triggers: assert(current_bci == 0) failed: bci isn't zero for do_not_unlock_if_synchronized

Jamsheed C m jamsheed.c.m at oracle.com
Wed Jun 1 14:14:16 UTC 2016


Hi Roland,

On 6/1/2016 6:49 PM, Jamsheed C m wrote:
> Backing up a bit: the issue triggered by your other test case is that
> when the deoptimization mode is Unpack_exception,
> vframeArrayElement::unpack_on_stack() forces the return to the
> interpreter to not go through the deopt entries but straight to the
> exception handling code with a pending exception and that's what's
> causing the assert to fire, right?
i am not sure whether i understood your question correctly.

returning to deopt_entries with pending exception is not allowed in 
present code.

going directly to  rethrow_exception_handler with pending exception too 
is not expected in present code for normal conditions.

my latest fix is a special case. and handles pending_exception 
gracefully. so its fine i guess.

i went with this approach, as uncomon_trap has no means to throw 
exception without a platform change.

Best Regards,
Jamsheed





More information about the hotspot-compiler-dev mailing list