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);


> Best regards,
> Martin

More information about the hotspot-runtime-dev mailing list