From d43654e5733a4ad535e95d908de528ef29285e92 Mon Sep 17 00:00:00 2001 From: Christian Stein Date: Thu, 25 Apr 2024 06:49:45 +0000 Subject: [PATCH] 8331030: langtools/tools/javac/tree tests fail with SOE with fastdebug and -Xcomp Reviewed-by: jjg, vromero --- .../patterns/SOEDeeplyNestedBlocksTest.java | 1183 +---------------- 1 file changed, 28 insertions(+), 1155 deletions(-) diff --git a/test/langtools/tools/javac/patterns/SOEDeeplyNestedBlocksTest.java b/test/langtools/tools/javac/patterns/SOEDeeplyNestedBlocksTest.java index e521f062748..4e738cce028 100644 --- a/test/langtools/tools/javac/patterns/SOEDeeplyNestedBlocksTest.java +++ b/test/langtools/tools/javac/patterns/SOEDeeplyNestedBlocksTest.java @@ -23,1165 +23,38 @@ /** * @test - * @bug 8322992 + * @bug 8322992 8331030 * @summary Javac fails with StackOverflowError when compiling deeply nested synchronized blocks - * @compile SOEDeeplyNestedBlocksTest.java + * @run main SOEDeeplyNestedBlocksTest */ +import java.net.*; +import java.util.*; +import javax.tools.*; + public class SOEDeeplyNestedBlocksTest { - public static void test() { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - synchronized (SOEDeeplyNestedBlocksTest.class) { - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } + static final int NESTING_DEPTH = 1000; + + public static void main(String... args) { + var lines = new ArrayList(); + lines.add("class Test {"); + lines.add(" static { "); + for (int i = 0; i < NESTING_DEPTH; i++) lines.add(" synchronized (Test.class) {"); + for (int i = 0; i < NESTING_DEPTH; i++) lines.add(" }"); + lines.add(" }"); + lines.add("}"); + + var source = SimpleJavaFileObject.forSource(URI.create("mem://Test.java"), String.join("\n", lines)); + var compiler = ToolProvider.getSystemJavaCompiler(); + var task = compiler.getTask(null, null, noErrors, null, null, List.of(source)); + task.call(); } + + static DiagnosticListener noErrors = d -> { + System.out.println(d); + if (d.getKind() == Diagnostic.Kind.ERROR) { + throw new AssertionError(d.getMessage(null)); + } + }; }