RFR: Fix jtreg test runtime/StackGuardPages/
Mikael Vidstedt
mikael.vidstedt at oracle.com
Mon Apr 2 22:01:27 UTC 2018
Alex,
Can you please add some additional color/details to why it fails? Is it the native or java variant that fails (or both)?
I understand that the stack is smaller with musl (I ran into that problem in a different context), but I’m not sure I see why Thread.init() would fail just because of that. Help? :)
Cheers,
Mikael
> On Mar 22, 2018, at 3:37 AM, Siebenborn, Axel <axel.siebenborn at sap.com> wrote:
>
> Hi,
>
> the test runtime/StackGuardPages/ fails, as AttachCurrentThread() returns with an error. The reason is a stackoverflow while trying to run java Thread.init().
> The default pthread stack size is 80 K, much less than on other Unixes.
>
> The first fix is to check the pthread default stacksize and increase it if it's less than 160K.
>
> Webrev a:
> http://cr.openjdk.java.net/~asiebenborn/jtreg_StackGuardPages/webrev_a/
>
> However, the reason we need that much stack, just to run a single java method, is the large amount of shadow pages.
> The second fix is just to add a flag to JNI_CreateJavaVM, to set the number of shadow pages to a lower value. However, a change in globals_x86.hpp is needed to allow smaller minimum for that value. Here I miss a macro like MUSL_OLNLY(code).
>
> Webrev b:
> http://cr.openjdk.java.net/~asiebenborn/jtreg_StackGuardPages/webrev_b/
>
> I'm unsure which change to use.
> What do you think?
>
> Regards,
> Axel
>
>
More information about the portola-dev
mailing list