Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8280132

Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder

    XMLWordPrintable

Details

    • b10
    • generic
    • generic

    Backports

      Description

        ADDITIONAL SYSTEM INFORMATION :
        OS X 11.5.1

        $ java -version
        openjdk version "17.0.1" 2021-10-19
        OpenJDK Runtime Environment (build 17.0.1+12-39)
        OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)

        Older versions are also affected (tested 11.0.8)

        A DESCRIPTION OF THE PROBLEM :
        Method java.beans.Introspector.getBeanInfo(...) sometimes thows exception for complex classes. Issue JDK-8211147 made MethodInfo.MethodOrder comparator antisymmetric, but it is still non-transitive. Attached source code shows an example that breaks transitivity.

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Run program many times (1000 should be enough, maybe more if not lucky), public API test should throw IllegalArgumentException

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        Expected to not throw.
        ACTUAL -

        Public API:

        Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!
        at java.base/java.util.TimSort.mergeLo(TimSort.java:781)
        at java.base/java.util.TimSort.mergeAt(TimSort.java:518)
        at java.base/java.util.TimSort.mergeCollapse(TimSort.java:448)
        at java.base/java.util.TimSort.sort(TimSort.java:245)
        at java.base/java.util.Arrays.sort(Arrays.java:1307)
        at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
        at java.desktop/com.sun.beans.introspect.MethodInfo.get(MethodInfo.java:93)
        at java.desktop/com.sun.beans.introspect.ClassInfo.getMethods(ClassInfo.java:80)
        at java.desktop/java.beans.Introspector.getTargetMethodInfo(Introspector.java:1029)
        at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:446)
        at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:195)
        at Main.testPublicAPI(Main.java:60)
        at Main.main(Main.java:11)

        Private API:

        MethodA = public default Main$C2 Main$D.foo0()
        MethodB = public default Main$C3 Main$D.foo0()
        MethodC = public default Main$C1 Main$D.foo0()
        Exception in thread "main" java.lang.RuntimeException: Broken contract!
        at Main.lambda$testPrivateAPI$0(Main.java:33)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at Main.lambda$testPrivateAPI$1(Main.java:27)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at Main.lambda$testPrivateAPI$2(Main.java:26)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at Main.testPrivateAPI(Main.java:25)
        at Main.main(Main.java:13)

        ---------- BEGIN SOURCE ----------
        import java.beans.Introspector;
        import java.lang.reflect.Field;
        import java.lang.reflect.Method;
        import java.util.Comparator;
        import java.util.List;

        public class Main {

            public static void main(String... args) throws Exception {
                // Public API, fails very rarely
                testPublicAPI();
                // Test using internal API, fails always
                testPrivateAPI();
            }

            // ------------------

            public static void testPrivateAPI() throws Exception {
                // --add-opens java.desktop/com.sun.beans.introspect=ALL-UNNAMED
                Class<?> orderMethodClass = Class.forName("com.sun.beans.introspect.MethodInfo$MethodOrder");
                Field instance = orderMethodClass.getDeclaredField("instance");
                instance.setAccessible(true);
                Comparator<Method> order = (Comparator<Method>) instance.get(orderMethodClass);
                List<Method> methods = List.of(D.class.getDeclaredMethods());
                methods.forEach(a -> {
                    methods.forEach(b -> {
                        methods.forEach(c -> {
                            if (order.compare(a, b) < 0 && order.compare(b, c) < 0) {
                                if (order.compare(a, c) >= 0) {
                                    System.out.println("MethodA = " + a);
                                    System.out.println("MethodB = " + b);
                                    System.out.println("MethodC = " + c);
                                    throw new RuntimeException("Broken contract!");
                                }
                            }
                        });
                    });
                });
            }

            interface C1 {
                C1 foo0();
            }

            interface C2 {
                C2 foo0();
            }

            interface C3 extends C1 {
                C3 foo0();
            }

            interface D extends C3, C2, C1 {
                D foo0();
            }

            // ------------------

            private static void testPublicAPI() throws Exception {
                Introspector.getBeanInfo(A_258.class);
            }

            public interface A_239 {
            }
            public interface A_240 {
            }
            public interface A_000 {
            }
            public interface A_238<T> {
            }
            public interface A_035 extends A_195, A_106, A_240 {
                A_035 a_040();
                A_035 a_000();
                A_035 a_018();
            }
            public static class A_258 implements A_053, A_196, A_200, A_070, A_106, A_057, A_094, A_098, A_105, A_107, A_097, A_093, A_214, A_215, A_210, A_129, A_067, A_180, A_108, A_184, A_110, A_111, A_082, A_221, A_172, A_171, A_168, A_139, A_143, A_140, A_075, A_081, A_080, A_163, A_165, A_164, A_159, A_161, A_155, A_158, A_157, A_156, A_195, A_197, A_114, A_213, A_236, A_220, A_201, A_035, A_136, A_135, A_226, A_227, A_005, A_054, A_203, A_202, A_071, A_115, A_113, A_112, A_058, A_095, A_096, A_099, A_100, A_237, A_091, A_092, A_217, A_218, A_216, A_211, A_130, A_063, A_062, A_064, A_065, A_066, A_061, A_060, A_181, A_208, A_207, A_209, A_185, A_186, A_083, A_173, A_176, A_222, A_223, A_174, A_169, A_153, A_154, A_194, A_190, A_104, A_132, A_141, A_142, A_166, A_167, A_160, A_162, A_076, A_077, A_078, A_079, A_074, A_085, A_192, A_188, A_134, A_138, A_137, A_228 {

                @Override
                public A_258 a_052() {
                    return null;
                }

                @Override
                public A_258 a_071() {
                    return null;
                }

                @Override
                public A_258 a_029() {
                    return null;
                }

                @Override
                public A_258 a_046() {
                    return null;
                }

                @Override
                public A_258 a_045() {
                    return null;
                }

                @Override
                public A_258 a_047() {
                    return null;
                }

                @Override
                public A_258 a_048() {
                    return null;
                }

                @Override
                public A_258 a_049() {
                    return null;
                }

                @Override
                public A_258 a_044() {
                    return null;
                }

                @Override
                public A_258 a_043() {
                    return null;
                }

                @Override
                public A_258 a_026() {
                    return null;
                }

                @Override
                public A_258 a_027() {
                    return null;
                }

                @Override
                public A_258 a_074() {
                    return null;
                }

                @Override
                public A_258 a_079() {
                    return null;
                }

                @Override
                public A_258 a_012() {
                    return null;
                }

                @Override
                public A_258 a_100() {
                    return null;
                }

                @Override
                public A_258 a_085() {
                    return null;
                }

                @Override
                public A_258 a_084() {
                    return null;
                }

                @Override
                public A_258 a_011() {
                    return null;
                }

                @Override
                public A_258 a_059() {
                    return null;
                }

                @Override
                public A_258 a_058() {
                    return null;
                }

                @Override
                public A_258 a_080() {
                    return null;
                }

                @Override
                public A_258 a_030() {
                    return null;
                }

                @Override
                public A_258 a_031() {
                    return null;
                }

                @Override
                public A_258 a_081() {
                    return null;
                }

                @Override
                public A_258 a_077() {
                    return null;
                }

                @Override
                public A_258 a_036() {
                    return null;
                }

                @Override
                public A_258 a_056() {
                    return null;
                }

                @Override
                public A_258 a_078() {
                    return null;
                }

                @Override
                public A_258 a_076() {
                    return null;
                }

                @Override
                public A_258 a_057() {
                    return null;
                }

                @Override
                public A_258 a_005() {
                    return null;
                }

                @Override
                public A_258 a_089() {
                    return null;
                }

                @Override
                public A_258 a_088() {
                    return null;
                }

                @Override
                public A_258 a_090() {
                    return null;
                }

                @Override
                public A_258 a_072() {
                    return null;
                }

                @Override
                public A_258 a_002() {
                    return null;
                }

                @Override
                public A_258 a_040() {
                    return null;
                }

                @Override
                public A_258 a_060() {
                    return null;
                }

                @Override
                public A_258 a_061() {
                    return null;
                }

                @Override
                public A_258 a_039() {
                    return null;
                }

                @Override
                public A_258 a_032() {
                    return null;
                }

                @Override
                public A_258 a_033() {
                    return null;
                }

                @Override
                public A_258 a_000() {
                    return null;
                }

                @Override
                public A_258 a_037() {
                    return null;
                }

                @Override
                public A_258 a_014() {
                    return null;
                }

                @Override
                public A_258 a_015() {
                    return null;
                }

                @Override
                public A_258 a_016() {
                    return null;
                }

                @Override
                public A_258 a_017() {
                    return null;
                }

                @Override
                public A_258 a_091() {
                    return null;
                }

                @Override
                public A_258 a_065() {
                    return null;
                }

                @Override
                public A_258 a_066() {
                    return null;
                }

                @Override
                public A_258 a_018() {
                    return null;
                }

                @Override
                public A_258 a_093() {
                    return null;
                }

                @Override
                public A_258 a_092() {
                    return null;
                }

                @Override
                public A_258 a_095() {
                    return null;
                }

                @Override
                public A_258 a_096() {
                    return null;
                }

                @Override
                public A_258 a_069() {
                    return null;
                }
            }
            public interface A_250 extends A_239 {
                A_250 a_094();
            }
            public interface A_253 extends A_239 {
                A_253 a_000();
            }
            public interface A_256 extends A_239 {
                A_256 a_009();
            }
            public interface A_248 extends A_239 {
                A_248 a_022();
            }
            public interface A_255 extends A_239 {
                A_255 a_007();
            }
            public interface A_241 extends A_248, A_250, A_251, A_249, A_239 {
            }
            public interface A_254 extends A_239 {
                A_254 a_008();
            }
            public interface A_251 extends A_239 {
                A_251 a_097();
            }
            public interface A_252 extends A_241, A_255, A_253, A_257, A_254, A_256, A_239 {
                A_252 a_022();
                A_252 a_094();
                A_252 a_097();
                A_252 a_087();
            }
            public interface A_229 extends A_239 {
                A_229 a_000();
            }
            public interface A_232 extends A_239 {
            }
            public interface A_249 extends A_239 {
                A_249 a_087();
            }
            public interface A_230 extends A_239 {
            }
            public interface A_234 extends A_239 {
                A_234 a_026();
            }
            public interface A_037 extends A_239 {
                A_037 a_013();
            }
            public interface A_233 extends A_239 {
                A_233 a_018();
            }
            public interface A_231 extends A_239 {
                A_231 a_007();
            }
            public interface A_049 extends A_239 {
                A_049 a_068();
            }
            public interface A_257 extends A_239 {
                A_257 a_018();
            }
            public interface A_235 extends A_239 {
            }
            public interface A_040 extends A_239 {
                A_040 a_025();
            }
            public interface A_133 extends A_000, A_005, A_134, A_240 {
                A_133 a_040();
                A_133 a_057();
            }
            public interface A_001 extends A_239 {
                A_001 a_020();
            }
            public interface A_031 extends A_239 {
            }
            public interface A_089 extends A_239 {
                A_089 a_098();
            }
            public interface A_166 extends A_239 {
                A_166 a_065();
            }
            public interface A_054 extends A_239 {
                A_054 a_000();
            }
            public interface A_190 extends A_239 {
                A_190 a_077();
            }
            public interface A_169 extends A_239 {
                A_169 a_037();
            }
            public interface A_217 extends A_239 {
                A_217 a_093();
            }
            public interface A_078 extends A_239 {
                A_078 a_016();
            }
            public interface A_192 extends A_239 {
            }
            public interface A_222 extends A_239 {
                A_222 a_095();
            }
            public interface A_112 extends A_239 {
                A_112 a_033();
            }
            public interface A_066 extends A_239 {
                A_066 a_049();
            }
            public interface A_074 extends A_239 {
                A_074 a_012();
            }
            public interface A_003 extends A_239 {
                A_003 a_039();
            }
            public interface A_083 extends A_239 {
            }
            public interface A_050 extends A_239 {
                A_050 a_070();
            }
            public interface A_087 extends A_239 {
            }
            public interface A_058 extends A_239 {
            }
            public interface A_128 extends A_239 {
            }
            public interface A_092 extends A_239 {
            }
            public interface A_004 extends A_240 {
                A_004 a_040();
            }
            public interface A_115 extends A_239 {
                A_115 a_039();
            }
            public interface A_176 extends A_239 {
                A_176 a_071();
            }
            public interface A_162 extends A_239 {
            }
            public interface A_132 extends A_239 {
                A_132 a_056();
            }
            public interface A_064 extends A_239 {
                A_064 a_047();
            }
            public interface A_021 extends A_239 {
            }
            public interface A_160 extends A_239 {
            }
            public interface A_141 extends A_239 {
                A_141 a_060();
            }
            public interface A_091 extends A_239 {
                A_091 a_026();
            }
            public interface A_034 extends A_239 {
                A_034 a_084();
            }
            public interface A_151 extends A_239 {
            }
            public interface A_026 extends A_239 {
                A_026 a_026();
            }
            public interface A_130 extends A_239 {
                A_130 a_052();
            }
            public interface A_242 extends A_239 {
                A_242 a_001();
            }
            public interface A_205 extends A_239 {
                A_205 a_086();
            }
            public interface A_048 extends A_239 {
                A_048 a_065();
            }
            public interface A_044 extends A_240 {
                A_044 a_040();
            }
            public interface A_023 extends A_239 {
            }
            public interface A_027 extends A_239 {
            }
            public interface A_138 extends A_239 {
                A_138 a_059();
            }
            public interface A_024 extends A_239 {
                A_024 a_011();
            }
            public interface A_038 extends A_239 {
                A_038 a_021();
            }
            public interface A_016 extends A_239 {
            }
            public interface A_118 extends A_239 {
                A_118 a_045();
            }
            public interface A_071 extends A_239 {
                A_071 a_011();
            }
            public interface A_203 extends A_239 {
                A_203 a_084();
            }
            public interface A_137 extends A_239 {
            }
            public interface A_119 extends A_239 {
                A_119 a_046();
            }
            public interface A_145 extends A_239 {
            }
            public interface A_045 extends A_239 {
                A_045 a_041();
            }
            public interface A_069 extends A_239 {
                A_069 a_010();
            }
            public interface A_150 extends A_239 {
            }
            public interface A_047 extends A_239 {
                A_047 a_057();
            }
            public interface A_179 extends A_239 {
            }
            public interface A_207 extends A_239 {
                A_207 a_088();
            }
            public interface A_228 extends A_239 {
                A_228 a_100();
            }
            public interface A_005 extends A_240 {
                A_005 a_040();
            }
            public interface A_030 extends A_239 {
                A_030 a_039();
            }
            public interface A_173 extends A_239 {
                A_173 a_069();
            }
            public interface A_060 extends A_239 {
                A_060 a_043();
            }
            public interface A_245 extends A_239 {
                A_245 a_009();
            }
            public interface A_042 extends A_239 {
                A_042 a_035();
            }
            public interface A_209 extends A_239 {
                A_209 a_090();
            }
            public interface A_216 extends A_239 {
            }
            public interface A_142 extends A_239 {
            }
            public interface A_246 extends A_239 {
                A_246 a_019();
            }
            public interface A_223 extends A_239 {
            }
            public interface A_211 extends A_239 {
                A_211 a_091();
            }
            public interface A_244 extends A_239 {
                A_244 a_008();
            }
            public interface A_019 extends A_239 {
                A_019 a_050();
            }
            public interface A_041 extends A_239 {
                A_041 a_034();
            }
            public interface A_208 extends A_239 {
                A_208 a_089();
            }
            public interface A_065 extends A_239 {
            }
            public interface A_127 extends A_239 {
                A_127 a_083();
            }
            public interface A_033 extends A_239 {
            }
            public interface A_153 extends A_239 {
            }
            public interface A_079 extends A_239 {
            }
            public interface A_025 extends A_239 {
            }
            public interface A_046 extends A_239 {
                A_046 a_042();
            }
            public interface A_002 extends A_239 {
            }
            public interface A_154 extends A_239 {
            }
            public interface A_077 extends A_239 {
                A_077 a_015();
            }
            public interface A_121 extends A_239 {
                A_121 a_053();
            }
            public interface A_036 extends A_239 {
                A_036 a_003();
            }
            public interface A_225 extends A_239 {
                A_225 a_054();
            }
            public interface A_181 extends A_239 {
                A_181 a_005();
            }
            public interface A_134 extends A_239 {
                A_134 a_057();
            }
            public interface A_017 extends A_239 {
            }
            public interface A_194 extends A_239 {
                A_194 a_081();
            }
            public interface A_243 extends A_239 {
                A_243 a_006();
            }
            public interface A_015 extends A_239 {
                A_015 a_004();
            }
            public interface A_028 extends A_239 {
                A_028 a_032();
            }
            public interface A_218 extends A_239 {
            }
            public interface A_174 extends A_239 {
            }
            public interface A_039 extends A_239 {
                A_039 a_023();
            }
            public interface A_029 extends A_239 {
            }
            public interface A_095 extends A_239 {
                A_095 a_029();
            }
            public interface A_096 extends A_239 {
            }
            public interface A_124 extends A_239 {
                A_124 a_028();
            }
            public interface A_202 extends A_239 {
                A_202 a_085();
            }
            public interface A_186 extends A_239 {
            }
            public interface A_120 extends A_239 {
            }
            public interface A_076 extends A_239 {
                A_076 a_014();
            }
            public interface A_052 extends A_239 {
                A_052 a_099();
            }
            public interface A_056 extends A_239 {
            }
            public interface A_020 extends A_239 {
                A_020 a_062();
            }
            public interface A_018 extends A_239 {
                A_018 a_045();
            }
            public interface A_149 extends A_239 {
                A_149 a_051();
            }
            public interface A_022 extends A_239 {
                A_022 a_075();
            }
            public interface A_063 extends A_239 {
                A_063 a_046();
            }
            public interface A_043 extends A_239 {
                A_043 a_038();
            }
            public interface A_167 extends A_239 {
            }
            public interface A_085 extends A_239 {
                A_085 a_018();
            }
            public interface A_032 extends A_239 {
            }
            public interface A_188 extends A_239 {
                A_188 a_076();
            }
            public interface A_126 extends A_239 {
            }
            public interface A_113 extends A_239 {
                A_113 a_032();
            }
            public interface A_051 extends A_239 {
                A_051 a_082();
            }
            public interface A_185 extends A_239 {
                A_185 a_074();
            }
            public interface A_099 extends A_239 {
            }
            public interface A_062 extends A_239 {
                A_062 a_045();
            }
            public interface A_237 extends A_239 {
                A_237 a_027();
            }
            public interface A_100 extends A_239 {
            }
            public interface A_189 extends A_000, A_005, A_190, A_240 {
                A_189 a_040();
                A_189 a_077();
            }
            public interface A_061 extends A_239 {
                A_061 a_044();
            }
            public interface A_104 extends A_239 {
                A_104 a_036();
            }
            public interface A_084 extends A_000, A_005, A_085, A_240 {
                A_084 a_040();
                A_084 a_018();
            }
            public interface A_129 extends A_000, A_005, A_130, A_240 {
                A_129 a_040();
                A_129 a_052();
            }
            public interface A_086 extends A_000, A_005, A_087, A_089, A_240 {
                A_086 a_040();
                A_086 a_024();
                A_086 a_098();
            }
            public interface A_125 extends A_239 {
            }
            public interface A_212 extends A_053, A_084, A_005, A_054, A_085, A_217, A_218, A_240 {
                A_212 a_040();
                A_212 a_000();
                A_212 a_018();
                A_212 a_093();
            }
            public interface A_171 extends A_170, A_175, A_005, A_173, A_176, A_174, A_240 {
                A_171 a_040();
                A_171 a_069();
                A_171 a_071();
                A_171 a_072();
            }
            public interface A_247 extends A_239 {
            }
            public interface A_183 extends A_053, A_084, A_005, A_054, A_085, A_185, A_186, A_240 {
                A_183 a_040();
                A_183 a_000();
                A_183 a_018();
                A_183 a_074();
            }
            public interface A_198 extends A_053, A_196, A_070, A_131, A_005, A_054, A_203, A_071, A_132, A_240 {
                A_198 a_040();
                A_198 a_000();
                A_198 a_084();
                A_198 a_011();
                A_198 a_056();
            }
            public interface A_070 extends A_000, A_005, A_071, A_240 {
                A_070 a_040();
                A_070 a_011();
            }
            public interface A_109 extends A_106, A_212, A_005, A_115, A_113, A_112, A_054, A_085, A_217, A_218, A_240 {
                A_109 a_040();
                A_109 a_039();
                A_109 a_032();
                A_109 a_033();
                A_109 a_000();
                A_109 a_018();
                A_109 a_093();
            }
            public interface A_158 extends A_159, A_161, A_152, A_005, A_054, A_160, A_162, A_153, A_154, A_240 {
                A_158 a_040();
                A_158 a_000();
                A_158 a_079();
            }
            public interface A_110 extends A_106, A_212, A_183, A_005, A_054, A_085, A_115, A_113, A_112, A_217, A_218, A_185, A_186, A_240 {
                A_110 a_040();
                A_110 a_000();
                A_110 a_018();
                A_110 a_039();
                A_110 a_032();
                A_110 a_033();
                A_110 a_093();
                A_110 a_074();
            }
            public interface A_200 extends A_000, A_005, A_202, A_240 {
                A_200 a_040();
                A_200 a_085();
            }
            public interface A_161 extends A_053, A_005, A_054, A_162, A_240 {
                A_161 a_040();
                A_161 a_000();
            }
            public interface A_175 extends A_000, A_005, A_176, A_240 {
                A_175 a_040();
                A_175 a_071();
            }
            public interface A_103 extends A_000, A_084, A_005, A_085, A_104, A_240 {
                A_103 a_040();
                A_103 a_018();
                A_103 a_036();
            }
            public interface A_093 extends A_090, A_152, A_005, A_054, A_085, A_091, A_092, A_153, A_154, A_240 {
                A_093 a_040();
                A_093 a_000();
                A_093 a_018();
                A_093 a_026();
                A_093 a_079();
                A_093 a_027();
            }
            public interface A_204 extends A_000, A_005, A_205, A_240 {
                A_204 a_040();
                A_204 a_086();
            }
            public interface A_067 extends A_059, A_152, A_005, A_054, A_085, A_063, A_062, A_064, A_065, A_066, A_061, A_060, A_153, A_154, A_240 {
                A_067 a_040();
                A_067 a_000();
                A_067 a_018();
                A_067 a_046();
                A_067 a_045();
                A_067 a_047();
                A_067 a_049();
                A_067 a_044();
                A_067 a_043();
                A_067 a_079();
            }
            public interface A_101 extends A_070, A_005, A_071, A_240 {
                A_101 a_040();
                A_101 a_011();
            }
            public interface A_224 extends A_000, A_225, A_240 {
                A_224 a_054();
                A_224 a_040();
            }
            public interface A_156 extends A_053, A_084, A_155, A_059, A_005, A_054, A_085, A_160, A_162, A_063, A_062, A_064, A_065, A_066, A_061, A_060, A_240 {
                A_156 a_040();
                A_156 a_000();
                A_156 a_018();
                A_156 a_046();
                A_156 a_045();
                A_156 a_047();
                A_156 a_049();
                A_156 a_044();
                A_156 a_043();
            }
            public interface A_122 extends A_116, A_152, A_005, A_054, A_085, A_121, A_119, A_118, A_120, A_153, A_154, A_240 {
                A_122 a_040();
                A_122 a_000();
                A_122 a_018();
                A_122 a_053();
                A_122 a_046();
                A_122 a_045();
                A_122 a_048();
                A_122 a_079();
                A_122 a_080();
            }
            public interface A_184 extends A_183, A_152, A_005, A_054, A_085, A_185, A_186, A_153, A_154, A_240 {
                A_184 a_040();
                A_184 a_000();
                A_184 a_018();
                A_184 a_074();
                A_184 a_079();
            }
            public interface A_180 extends A_000, A_181, A_240 {
                A_180 a_005();
                A_180 a_040();
            }
            public interface A_191 extends A_000, A_005, A_192, A_240 {
                A_191 a_040();
                A_191 a_078();
            }
            public interface A_107 extends A_106, A_094, A_005, A_115, A_113, A_112, A_095, A_096, A_240 {
                A_107 a_040();
                A_107 a_039();
                A_107 a_032();
                A_107 a_033();
                A_107 a_029();
                A_107 a_000();
                A_107 a_018();
            }
            public interface A_102 extends A_196, A_005, A_203, A_240 {
                A_102 a_040();
                A_102 a_084();
            }
            public interface A_177 extends A_000, A_005, A_179, A_240 {
                A_177 a_040();
            }
            public interface A_123 extends A_195, A_005, A_054, A_124, A_127, A_128, A_126, A_125, A_240 {
                A_123 a_040();
                A_123 a_000();
                A_123 a_028();
                A_123 a_083();
                A_123 a_064();
                A_123 a_055();
                A_123 a_018();
                A_123 a_079();
                A_123 a_080();
                A_123 a_081();
                A_123 a_077();
                A_123 a_036();
                A_123 a_056();
                A_123 a_012();
                A_123 a_078();
                A_123 a_076();
                A_123 a_057();
            }
            public interface A_088 extends A_106, A_086, A_240 {
                A_088 a_040();
                A_088 a_039();
                A_088 a_032();
                A_088 a_033();
                A_088 a_000();
                A_088 a_018();
                A_088 a_024();
                A_088 a_098();
            }
            public interface A_094 extends A_084, A_005, A_085, A_095, A_096, A_240 {
                A_094 a_040();
                A_094 a_018();
                A_094 a_029();
            }
            public interface A_105 extends A_098, A_236, A_005, A_085, A_153, A_074, A_099, A_100, A_240 {
                A_105 a_040();
                A_105 a_018();
                A_105 a_079();
                A_105 a_012();
                A_105 a_030();
                A_105 a_031();
                A_105 a_000();
                A_105 a_081();
                A_105 a_077();
                A_105 a_036();
                A_105 a_056();
                A_105 a_078();
                A_105 a_076();
                A_105 a_057();
            }
            public interface A_199 extends A_196, A_090, A_005, A_054, A_085, A_091, A_092, A_203, A_240 {
                A_199 a_040();
                A_199 a_000();
                A_199 a_018();
                A_199 a_026();
                A_199 a_084();
                A_199 a_027();
            }
            public interface A_080 extends A_075, A_236, A_005, A_085, A_153, A_074, A_076, A_077, A_078, A_079, A_240 {
                A_080 a_040();
                A_080 a_018();
                A_080 a_079();
                A_080 a_012();
                A_080 a_014();
                A_080 a_015();
                A_080 a_016();
                A_080 a_000();
                A_080 a_080();
                A_080 a_081();
                A_080 a_077();
                A_080 a_036();
                A_080 a_056();
                A_080 a_078();
                A_080 a_076();
                A_080 a_057();
            }
            public interface A_172 extends A_170, A_219, A_005, A_054, A_085, A_173, A_222, A_223, A_174, A_240 {
                A_172 a_040();
                A_172 a_000();
                A_172 a_018();
                A_172 a_069();
                A_172 a_095();
                A_172 a_072();
            }
            public interface A_108 extends A_106, A_180, A_206, A_005, A_115, A_113, A_112, A_181, A_208, A_207, A_209, A_240 {
                A_108 a_040();
                A_108 a_039();
                A_108 a_032();
                A_108 a_033();
                A_108 a_005();
                A_108 a_089();
                A_108 a_088();
                A_108 a_090();
                A_108 a_000();
                A_108 a_018();
            }
            public interface A_195 extends A_053, A_084, A_152, A_193, A_189, A_103, A_131, A_073, A_191, A_187, A_133, A_005, A_054, A_085, A_153, A_154, A_194, A_190, A_104, A_132, A_074, A_192, A_188, A_134, A_240 {
                A_195 a_040();
                A_195 a_000();
                A_195 a_018();
                A_195 a_079();
                A_195 a_080();
                A_195 a_081();
                A_195 a_077();
                A_195 a_036();
                A_195 a_056();
                A_195 a_012();
                A_195 a_078();
                A_195 a_076();
                A_195 a_057();
            }
            public interface A_220 extends A_219, A_236, A_005, A_085, A_153, A_074, A_240 {
                A_220 a_040();
                A_220 a_018();
                A_220 a_079();
                A_220 a_012();
                A_220 a_000();
                A_220 a_095();
                A_220 a_080();
                A_220 a_081();
                A_220 a_077();
                A_220 a_036();
                A_220 a_056();
                A_220 a_078();
                A_220 a_076();
                A_220 a_057();
            }
            public interface A_146 extends A_000, A_005, A_151, A_150, A_149, A_240 {
                A_146 a_040();
                A_146 a_073();
                A_146 a_051();
            }
            public interface A_090 extends A_000, A_053, A_084, A_005, A_054, A_085, A_237, A_091, A_092, A_240 {
                A_090 a_040();
                A_090 a_000();
                A_090 a_018();
                A_090 a_027();
                A_090 a_026();
            }
            public interface A_057 extends A_106, A_058, A_240 {
                A_057 a_002();
                A_057 a_040();
                A_057 a_039();
                A_057 a_032();
                A_057 a_033();
                A_057 a_000();
                A_057 a_018();
            }
            public interface A_098 extends A_084, A_005, A_085, A_099, A_100, A_240 {
            }
            public interface A_136 extends A_084, A_005, A_085, A_138, A_137, A_240 {
            }
            public interface A_116 extends A_053, A_084, A_005, A_054, A_085, A_121, A_119, A_118, A_120, A_240 {
                A_116 a_040();
                A_116 a_000();
                A_116 a_018();
                A_116 a_053();
                A_116 a_046();
                A_116 a_045();
                A_116 a_048();
            }
            public interface A_159 extends A_053, A_005, A_054, A_160, A_240 {
                A_159 a_040();
                A_159 a_000();
            }
            public interface A_140 extends A_139, A_236, A_005, A_085, A_153, A_074, A_141, A_142, A_240 {
                A_140 a_040();
                A_140 a_018();
                A_140 a_079();
                A_140 a_012();
                A_140 a_060();
                A_140 a_061();
                A_140 a_000();
                A_140 a_080();
                A_140 a_081();
                A_140 a_077();
                A_140 a_036();
                A_140 a_056();
                A_140 a_078();
                A_140 a_076();
                A_140 a_057();
            }
            public interface A_178 extends A_177, A_144, A_005, A_179, A_145, A_240 {
                A_178 a_040();
            }
            public interface A_139 extends A_053, A_005, A_054, A_141, A_142, A_240 {
                A_139 a_040();
                A_139 a_000();
                A_139 a_060();
                A_139 a_061();
            }
            public interface A_165 extends A_163, A_152, A_005, A_054, A_166, A_167, A_153, A_154, A_240 {
                A_165 a_040();
                A_165 a_000();
                A_165 a_065();
                A_165 a_066();
                A_165 a_079();
                A_165 a_080();
            }
            public interface A_053 extends A_000, A_238<Long>, A_005, A_054, A_240 {
                A_053 a_040();
                A_053 a_000();
            }
            public interface A_135 extends A_136, A_236, A_005, A_085, A_153, A_074, A_138, A_137, A_240 {
                A_135 a_040();
                A_135 a_018();
                A_135 a_079();
                A_135 a_012();
                A_135 a_059();
                A_135 a_058();
                A_135 a_000();
                A_135 a_081();
                A_135 a_077();
                A_135 a_036();
                A_135 a_056();
                A_135 a_078();
                A_135 a_076();
                A_135 a_057();
            }
            public interface A_148 extends A_146, A_236, A_005, A_085, A_153, A_074, A_240 {
                A_148 a_040();
                A_148 a_018();
                A_148 a_079();
                A_148 a_012();
                A_148 a_051();
                A_148 a_000();
                A_148 a_081();
                A_148 a_077();
                A_148 a_036();
                A_148 a_056();
                A_148 a_078();
                A_148 a_076();
                A_148 a_057();
            }
            public interface A_206 extends A_000, A_005, A_208, A_207, A_209, A_240 {
                A_206 a_040();
                A_206 a_089();
                A_206 a_088();
                A_206 a_090();
            }
            public interface A_215 extends A_000, A_005, A_216, A_240 {
                A_215 a_040();
                A_215 a_092();
            }
            public interface A_117 extends A_116, A_090, A_005, A_054, A_085, A_121, A_119, A_118, A_120, A_091, A_092, A_240 {
                A_117 a_040();
                A_117 a_000();
                A_117 a_018();
                A_117 a_053();
                A_117 a_046();
                A_117 a_045();
                A_117 a_048();
                A_117 a_026();
                A_117 a_027();
            }
            public interface A_082 extends A_000, A_005, A_083, A_240 {
                A_082 a_040();
            }
            public interface A_182 extends A_053, A_084, A_152, A_193, A_189, A_005, A_054, A_085, A_153, A_154, A_194, A_190, A_240 {
                A_182 a_040();
                A_182 a_000();
                A_182 a_018();
                A_182 a_079();
                A_182 a_080();
                A_182 a_081();
                A_182 a_077();
            }
            public interface A_055 extends A_000, A_005, A_056, A_240 {
            }
            public interface A_193 extends A_000, A_005, A_194, A_240 {
                A_193 a_040();
                A_193 a_081();
            }
            public interface A_214 extends A_212, A_152, A_005, A_054, A_085, A_217, A_218, A_153, A_154, A_240 {
                A_214 a_040();
                A_214 a_000();
                A_214 a_018();
                A_214 a_093();
                A_214 a_079();
            }
            public interface A_059 extends A_053, A_084, A_005, A_054, A_085, A_063, A_062, A_064, A_065, A_066, A_061, A_060, A_240 {
                A_059 a_040();
                A_059 a_000();
                A_059 a_018();
                A_059 a_046();
                A_059 a_045();
                A_059 a_047();
                A_059 a_048();
                A_059 a_049();
                A_059 a_044();
                A_059 a_043();
            }
            public interface A_226 extends A_000, A_228, A_240 {
                A_226 a_100();
                A_226 a_040();
            }
            public interface A_210 extends A_053, A_005, A_054, A_211, A_240 {
                A_210 a_040();
                A_210 a_000();
                A_210 a_091();
            }
            public interface A_073 extends A_000, A_005, A_074, A_240 {
                A_073 a_040();
                A_073 a_012();
            }
            public interface A_157 extends A_155, A_236, A_005, A_085, A_153, A_074, A_160, A_162, A_240 {
                A_157 a_040();
                A_157 a_018();
                A_157 a_079();
                A_157 a_012();
                A_157 a_000();
                A_157 a_081();
                A_157 a_077();
                A_157 a_036();
                A_157 a_056();
                A_157 a_078();
                A_157 a_076();
                A_157 a_057();
            }
            public interface A_131 extends A_053, A_005, A_054, A_132, A_240 {
                A_131 a_040();
                A_131 a_000();
                A_131 a_056();
            }
            public interface A_152 extends A_053, A_005, A_054, A_153, A_154, A_240 {
                A_152 a_040();
                A_152 a_000();
                A_152 a_079();
            }
            public interface A_106 extends A_053, A_084, A_005, A_115, A_113, A_112, A_240 {
                A_106 a_040();
                A_106 a_039();
                A_106 a_032();
                A_106 a_033();
                A_106 a_000();
                A_106 a_018();
            }
            public interface A_147 extends A_106, A_236, A_005, A_085, A_153, A_074, A_240 {
                A_147 a_040();
                A_147 a_018();
                A_147 a_012();
                A_147 a_039();
                A_147 a_032();
                A_147 a_033();
                A_147 a_000();
                A_147 a_081();
                A_147 a_077();
                A_147 a_036();
                A_147 a_056();
                A_147 a_078();
                A_147 a_076();
                A_147 a_057();
            }
            public interface A_081 extends A_075, A_152, A_005, A_054, A_076, A_077, A_078, A_079, A_153, A_154, A_240 {
                A_081 a_040();
                A_081 a_000();
                A_081 a_014();
                A_081 a_015();
                A_081 a_016();
                A_081 a_079();
                A_081 a_080();
            }
            public interface A_197 extends A_196, A_070, A_236, A_005, A_085, A_153, A_074, A_203, A_071, A_240 {
                A_197 a_040();
                A_197 a_018();
                A_197 a_079();
                A_197 a_012();
                A_197 a_084();
                A_197 a_011();
                A_197 a_000();
                A_197 a_081();
                A_197 a_077();
                A_197 a_036();
                A_197 a_056();
                A_197 a_078();
                A_197 a_076();
                A_197 a_057();
            }
            public interface A_213 extends A_212, A_215, A_236, A_005, A_085, A_153, A_074, A_240 {
                A_213 a_040();
                A_213 a_018();
                A_213 a_079();
                A_213 a_012();
                A_213 a_000();
                A_213 a_093();
                A_213 a_092();
                A_213 a_081();
                A_213 a_077();
                A_213 a_036();
                A_213 a_056();
                A_213 a_078();
                A_213 a_076();
                A_213 a_057();
            }
            public interface A_143 extends A_139, A_152, A_005, A_141, A_142, A_153, A_154, A_240 {
                A_143 a_040();
                A_143 a_060();
                A_143 a_061();
                A_143 a_079();
                A_143 a_080();
                A_143 a_000();
            }
            public interface A_221 extends A_219, A_152, A_005, A_054, A_085, A_222, A_223, A_153, A_154, A_240 {
                A_221 a_040();
                A_221 a_000();
                A_221 a_018();
                A_221 a_095();
                A_221 a_079();
                A_221 a_080();
            }
            public interface A_196 extends A_000, A_005, A_203, A_240 {
                A_196 a_040();
                A_196 a_084();
            }
            public interface A_155 extends A_159, A_161, A_005, A_054, A_160, A_162, A_240 {
                A_155 a_040();
                A_155 a_000();
            }
            public interface A_097 extends A_094, A_152, A_005, A_085, A_095, A_096, A_153, A_154, A_240 {
                A_097 a_040();
                A_097 a_018();
                A_097 a_029();
                A_097 a_079();
                A_097 a_000();
            }
            public interface A_219 extends A_053, A_084, A_005, A_054, A_085, A_222, A_223, A_240 {
                A_219 a_040();
                A_219 a_000();
                A_219 a_018();
                A_219 a_095();
                A_219 a_096();
            }
            public interface A_068 extends A_053, A_005, A_054, A_069, A_240 {
                A_068 a_040();
                A_068 a_000();
                A_068 a_010();
            }
            public interface A_114 extends A_106, A_236, A_005, A_085, A_153, A_074, A_115, A_113, A_240 {
                A_114 a_040();
                A_114 a_018();
                A_114 a_079();
                A_114 a_012();
                A_114 a_039();
                A_114 a_032();
                A_114 a_033();
                A_114 a_000();
                A_114 a_080();
                A_114 a_081();
                A_114 a_077();
                A_114 a_036();
                A_114 a_056();
                A_114 a_078();
                A_114 a_076();
                A_114 a_057();
            }
            public interface A_163 extends A_053, A_005, A_054, A_166, A_167, A_240 {
                A_163 a_040();
                A_163 a_000();
                A_163 a_065();
                A_163 a_066();
            }
            public interface A_187 extends A_000, A_005, A_188, A_240 {
                A_187 a_040();
                A_187 a_076();
            }
            public interface A_144 extends A_000, A_005, A_145, A_240 {
                A_144 a_040();
            }
            public interface A_111 extends A_106, A_212, A_219, A_170, A_005, A_054, A_085, A_115, A_113, A_112, A_217, A_218, A_222, A_223, A_173, A_240 {
                A_111 a_040();
                A_111 a_000();
                A_111 a_018();
                A_111 a_039();
                A_111 a_032();
                A_111 a_033();
                A_111 a_093();
                A_111 a_095();
                A_111 a_069();
            }
            public interface A_168 extends A_000, A_053, A_005, A_054, A_169, A_240 {
                A_168 a_040();
                A_168 a_000();
                A_168 a_037();
            }
            public interface A_227 extends A_226, A_236, A_005, A_085, A_153, A_074, A_228, A_240 {
                A_227 a_040();
                A_227 a_018();
                A_227 a_079();
                A_227 a_012();
                A_227 a_100();
                A_227 a_000();
                A_227 a_081();
                A_227 a_077();
                A_227 a_036();
                A_227 a_056();
                A_227 a_078();
                A_227 a_076();
                A_227 a_057();
            }
            public interface A_075 extends A_053, A_005, A_054, A_076, A_077, A_078, A_079, A_240 {
                A_075 a_040();
                A_075 a_000();
                A_075 a_014();
                A_075 a_015();
                A_075 a_016();
                A_075 a_017();
            }
            public interface A_008 extends A_239 {
                A_008 a_040();
            }
            public interface A_072 extends A_070, A_090, A_005, A_054, A_085, A_091, A_092, A_071, A_240 {
                A_072 a_040();
                A_072 a_000();
                A_072 a_018();
                A_072 a_026();
                A_072 a_011();
                A_072 a_027();
            }
            public interface A_170 extends A_000, A_005, A_173, A_174, A_240 {
                A_170 a_040();
                A_170 a_069();
                A_170 a_072();
            }
            public interface A_012 extends A_239 {
                A_012 a_063();
            }
            public interface A_164 extends A_163, A_236, A_005, A_085, A_153, A_074, A_166, A_167, A_240 {
                A_164 a_040();
                A_164 a_018();
                A_164 a_079();
                A_164 a_012();
                A_164 a_065();
                A_164 a_066();
                A_164 a_000();
                A_164 a_080();
                A_164 a_081();
                A_164 a_077();
                A_164 a_036();
                A_164 a_056();
                A_164 a_078();
                A_164 a_076();
                A_164 a_057();
            }
            public interface A_006 extends A_239 {
                A_006 a_004();
            }
            public interface A_007 extends A_239 {
            }
            public interface A_201 extends A_200, A_236, A_005, A_085, A_153, A_074, A_240 {
                A_201 a_040();
                A_201 a_018();
                A_201 a_079();
                A_201 a_012();
                A_201 a_085();
                A_201 a_000();
                A_201 a_081();
                A_201 a_077();
                A_201 a_036();
                A_201 a_056();
                A_201 a_078();
                A_201 a_076();
                A_201 a_057();
            }
            public interface A_011 extends A_239 {
                A_011 a_062();
            }
            public interface A_014 extends A_239 {
                A_014 a_075();
            }
            public interface A_009 extends A_239 {
                A_009 a_045();
            }
            public interface A_010 extends A_239 {
                A_010 a_050();
            }
            public interface A_013 extends A_239 {
                A_013 a_067();
            }
            public interface A_236 extends A_195, A_005, A_085, A_153, A_074, A_240 {
                A_236 a_040();
                A_236 a_018();
                A_236 a_079();
                A_236 a_012();
                A_236 a_000();
                A_236 a_081();
                A_236 a_077();
                A_236 a_036();
                A_236 a_056();
                A_236 a_078();
                A_236 a_076();
                A_236 a_057();
            }

        }
        ---------- END SOURCE ----------

        CUSTOMER SUBMITTED WORKAROUND :
        -Djava.util.Arrays.useLegacyMergeSort=true

        FREQUENCY : occasionally


        Attachments

          1. Capture.PNG
            Capture.PNG
            79 kB
          2. Main.java
            41 kB

          Issue Links

            Activity

              People

                serb Sergey Bylokhov
                webbuggrp Webbug Group
                Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: