RFR(T): 8229925: [s390] Exception check missing in interpreter
David Holmes
david.holmes at oracle.com
Wed Aug 21 07:30:51 UTC 2019
Hi Martin,
On 21/08/2019 1:32 am, Doerr, Martin wrote:
> Hi,
>
> we have sporadically seen "assert(!(((ThreadShadow*)__the_thread__)->has_pending_exception())) failed: Should not have any exceptions pending" on s390 while running jtreg test "vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001".
> The VM asserts that no exception is pending after a backedge counter overflow. The unexpected pending exception found in frequency_counter_overflow_inner is an instance of java.lang.ThreadDeath which got installed asynchronously by the test via JVMTI StopThread.
> The VM call to InterpreterRuntime::build_method_counters misses an exception check in the s390 implementation. This is necessary for asynchronous exceptions which get installed by this test.
>
> The explanation may not be trivial, but the proposed fix is:
> http://cr.openjdk.java.net/~mdoerr/8229925_s390_exception_check/webrev.00/
Seems quite reasonable given the explanation, and comparing similar code
to other platforms.
PPC64 would seem to have the same bug:
call_VM(noreg, CAST_FROM_FN_PTR(address,
InterpreterRuntime::build_method_counters), method, false);
Cheers,
David
-----
> Best regards,
> Martin
>
More information about the hotspot-runtime-dev
mailing list