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
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
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.
More information about the hotspot-compiler-dev