RFR(XS) 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow()

Reingruber, Richard richard.reingruber at sap.com
Mon Feb 17 10:25:22 UTC 2020


Hi Christoph,

thanks for reviewing!

Cheers, Richard.

-----Original Message-----
From: Langer, Christoph <christoph.langer at sap.com> 
Sent: Montag, 17. Februar 2020 11:14
To: Reingruber, Richard <richard.reingruber at sap.com>; hotspot-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net
Subject: RE: RFR(XS) 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow()

Hi Richard,

+1

/Christoph

> -----Original Message-----
> From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On Behalf Of
> Reingruber, Richard
> Sent: Donnerstag, 13. Februar 2020 17:46
> To: hotspot-dev at openjdk.java.net; hotspot-runtime-
> dev at openjdk.java.net
> Subject: RFR(XS) 8239005: [TESTBUG]
> test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java:
> exeinvoke.c: must initialize static state before calling do_overflow()
> 
> Hi,
> 
> please review this small test fix
> 
> Webrev: http://cr.openjdk.java.net/~rrich/webrevs/8239005/webrev.0/
> Bug:    https://bugs.openjdk.java.net/browse/JDK-8239005
> 
> On one of our linuxppc64le boxes the test was failing due to the missing
> reset of the static
> variable _rec_count before the first call to do_overflow() [1] in
> run_native_overflow() [2].
> Consequently the recursion limit set at [3] is too high. On our linuxppc64le
> box we then get a
> SIGSEGV with SEGV_ACCERR which is reported as test failure.
> 
> On my linuxx86_64 box I get an SIGSEGV with SEGV_MAPERR which is not
> reported as error.
> 
> With the fix we don't get a second SIGSEGV. Maybe a second SIGSEGV
> should be reported as failure...?
> 
> I tested on linuxx86_64 and linuxppc64le
> 
> Many more details to be found in the bug.
> 
> Thanks, Richard.
> 
> [1] definition of do_overflow()
> 
> http://hg.openjdk.java.net/jdk/jdk/file/c27f595b4dd0/test/hotspot/jtreg/ru
> ntime/StackGuardPages/exeinvoke.c#l128
> 
> [2] _rec_count is not reset to 0 before call to do_overflow()
> 
> http://hg.openjdk.java.net/jdk/jdk/file/c27f595b4dd0/test/hotspot/jtreg/ru
> ntime/StackGuardPages/exeinvoke.c#l168
> 
> [3] recursion limit is set too high
> 
> http://hg.openjdk.java.net/jdk/jdk/file/c27f595b4dd0/test/hotspot/jtreg/ru
> ntime/StackGuardPages/exeinvoke.c#l191


More information about the hotspot-runtime-dev mailing list