RFR: Avoid jtreg test timeout in aarch64 due to a stackoverflow in process reaper

Jie He github.com+10233373+jhe33 at openjdk.java.net
Wed May 6 09:47:29 UTC 2020


Process reaper has a small size stack by default, 128K. With tsan
enabled, it often causes SOE failure when running jtreg tests. Set
-Djdk.lang.processReaperUseDefaultStackSize=true, to let jtreg test
use default JVM stack size (global variable ThreadStackSize) in
aarch64, which could be configured by -Xss.

I took an investigation about the stackoverflow, [1].
and found the different GLIBC behaviors between x86 and aarch64 stack
allocation due to default stack size in openjdk. x86 will get the stack from
glibc cached stack because it matches the threshold to allocate a stack from
cached stack, but aarch64 not.

[1] https://groups.google.com/forum/#!topic/thread-sanitizer/RsPcxUXBokg

-------------

Commit messages:
 - Process reaper uses default JVM stack size in aarch64

Changes: https://git.openjdk.java.net/tsan/pull/8/files
 Webrev: https://webrevs.openjdk.java.net/tsan/8/webrev.00
  Stats: 9 lines in 1 file changed: 9 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/tsan/pull/8.diff
  Fetch: git fetch https://git.openjdk.java.net/tsan pull/8/head:pull/8

PR: https://git.openjdk.java.net/tsan/pull/8


More information about the tsan-dev mailing list