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

C2 compilation fails with assert(!had_error) failed: bad dominance

    XMLWordPrintable

Details

    • b13
    • Verified

    Backports

      Description

        Bad graph detected in compute_lca_of_uses
        n: 5455 Phi === 5447 4121 458 [[ 3438 2781 4983 5176 5163 2504 2300 5058 2161 4903 2034 ]] #int:-17..127 !orig=[4180]
        early(n): 5447 Region === 5447 5448 3594 [[ 5447 3052 4526 5451 5453 5572 5455 5459 5461 5463 5466 5469 5471 5507 5478 ]] !orig=[4455]
        n->in(1): 4121 ConI === 0 [[ 5455 ]] #int:1802
        early(n->in(1)): 0 Root === 0 98 119 3495 1462 1517 1445 1766 1496 2038 1872 1855 1429 1414 1397 1105 1121 1138 1837 1820 1804 1304 1321 1336 3496 1479 [[ 0 1 3 20 21 24 27 29 2839 2832 2774 36 2084 40 2083 44 53 56 2082 74 93 107 114 127 140 155 166 167 177 184 201 204 232 238 257 300 303 1901 317 326 1840 387 388 1717 1702 1688 1466 452 458 1144 1142 468 470 472 494 1090 500 507 1068 1033 812 811 650 652 654 3497 3516 3533 3574 3583 3604 3614 3615 3616 3617 3627 3629 3630 3631 3632 3690 3692 3699 4092 4093 4094 4095 4096 4097 4098 4114 4117 4119 4121 4123 4124 4129 4134 4138 5368 4179 4185 4143 4177 5241 4201 4147 4222 4189 4211 4872 4183 4155 4156 4157 4181 4178 4160 4161 4162 4163 4208 4165 4757 4167 4195 4223 4225 4221 4172 4191 4174 4186 4205 ]]
        n->in(2): 458 ConI === 0 [[ 1492 2300 2161 2504 5163 4983 5058 2781 1410 5176 1458 5455 1868 1134 1833 824 614 1317 474 4903 ]] #int:-17
        early(n->in(2)): 0 Root === 0 98 119 3495 1462 1517 1445 1766 1496 2038 1872 1855 1429 1414 1397 1105 1121 1138 1837 1820 1804 1304 1321 1336 3496 1479 [[ 0 1 3 20 21 24 27 29 2839 2832 2774 36 2084 40 2083 44 53 56 2082 74 93 107 114 127 140 155 166 167 177 184 201 204 232 238 257 300 303 1901 317 326 1840 387 388 1717 1702 1688 1466 452 458 1144 1142 468 470 472 494 1090 500 507 1068 1033 812 811 650 652 654 3497 3516 3533 3574 3583 3604 3614 3615 3616 3617 3627 3629 3630 3631 3632 3690 3692 3699 4092 4093 4094 4095 4096 4097 4098 4114 4117 4119 4121 4123 4124 4129 4134 4138 5368 4179 4185 4143 4177 5241 4201 4147 4222 4189 4211 4872 4183 4155 4156 4157 4181 4178 4160 4161 4162 4163 4208 4165 4757 4167 4195 4223 4225 4221 4172 4191 4174 4186 4205 ]]

        LCA(n): 3552 IfFalse === 3551 [[ 1156 1140 ]] #0 !orig=[1130] !jvms: MainClass::method1 @ bci:1092 (line 207)
        n->out(0): 3438 SafePoint === 4923 1 3439 1 1 3442 183 2813 1 1 1 1 383 1 384 4225 1 1 1 4178 3437 1 1 1 1 1 1 1 1 1 1 1 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4935 631 841 [[ 3675 ]] SafePoint !jvms: MainClass::method1 @ bci:1698 (line 241)
        n->out(0)->out(0): 3675 CountedLoopEnd === 3438 3674 [[ 3447 3446 ]] [lt] P=0.800000, C=8020.000000 !orig=[3445] !jvms: MainClass::method1 @ bci:1466 (line 241)
        n->out(1): 2781 AllocateArray === 5066 5055 2772 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 5044 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 5056 631 841 ) [[ 2782 2783 2784 2791 2792 2793 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(1)->out(0): 2782 Proj === 2781 [[ 2785 ]] #0 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(2): 4983 AllocateArray === 4994 4997 4987 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 4996 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4984 631 841 ) [[ 4976 4977 4979 4980 4982 5000 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !orig=2781 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(2)->out(5): 5000 Proj === 4983 [[ 4998 ]] #0 !orig=2782 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(3): 5176 AllocateArray === 5169 5160 5149 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 5141 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 5161 631 841 ) [[ 5170 5171 5172 5173 5175 5193 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !orig=2781 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(3)->out(5): 5193 Proj === 5176 [[ 5191 ]] #0 !orig=2782 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(4): 5163 AllocateArray === 5034 4980 5180 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 4969 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4981 631 841 ) [[ 5156 5157 5159 5160 5162 5164 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !orig=5058,2781 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(4)->out(5): 5164 Proj === 5163 [[ 5165 ]] #0 !orig=5075,2782 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(5): 2504 AllocateArray === 2314 2311 2497 8 1 ( 494 812 21 811 183 5507 1 1 1 1 383 1 384 4191 1 1 1 4157 2079 2082 1 2083 1 2084 1 1 1 1 1 1 4138 1 4138 458 452 2178 2317 56 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4749 631 841 ) [[ 2505 2506 2507 2514 2515 2516 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1488 (line 245) !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1488 (line 245)
        n->out(5)->out(0): 2505 Proj === 2504 [[ 2508 ]] #0 !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1488 (line 245)
        n->out(6): 2300 AllocateArray === 2175 2172 2294 8 1 ( 388 74 21 468 183 5507 1 1 1 1 383 1 384 4189 1 1 1 4174 2079 2082 1 2083 1 2084 1 1 1 1 1 1 4147 4147 4147 458 452 2178 56 56 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4749 631 841 ) [[ 2301 2302 2303 2310 2311 2312 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1488 (line 245) !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1488 (line 245)
        n->out(6)->out(0): 2301 Proj === 2300 [[ 2304 ]] #0 !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1488 (line 245)
        n->out(7): 5058 AllocateArray === 5188 5173 5062 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 5155 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 5174 631 841 ) [[ 5051 5052 5054 5055 5057 5075 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !orig=2781 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(7)->out(5): 5075 Proj === 5058 [[ 5073 ]] #0 !orig=2782 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(8): 2161 AllocateArray === 3676 2067 2120 8 1 ( 472 74 21 155 183 5507 1 1 1 1 383 1 384 4186 1 1 1 4172 2079 2082 1 2083 1 2084 1 1 1 1 1 1 4134 4134 4134 458 452 56 56 56 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4749 631 841 ) [[ 2162 2163 2164 2171 2172 2173 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1488 (line 245) !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1488 (line 245)
        n->out(8)->out(0): 2162 Proj === 2161 [[ 2165 ]] #0 !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1488 (line 245)
        n->out(9): 4903 AllocateArray === 4914 4917 4907 8 1 ( 650 74 21 326 183 5507 1 1 1 1 383 1 384 4201 1 1 1 4160 2079 2082 1 2083 1 2084 1 4143 4916 2774 1 1 458 452 2178 2317 2521 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 4904 631 841 ) [[ 4896 4897 4899 4900 4902 4920 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) MainClass::method1 @ bci:1509 (line 248) !orig=2781 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(9)->out(5): 4920 Proj === 4903 [[ 4918 ]] #0 !orig=2782 !jvms: MainClass::method1 @ bci:1509 (line 248)
        n->out(10): 2034 CallStaticJava === 4452 835 2032 8 9 ( 127 183 5508 1 1 1 1 383 1 384 4179 1 1 1 4167 21 1 1 1 1 1 1 1 1 1 1 1 21 500 4114 4114 4114 4114 4114 4114 4114 4114 4114 5455 452 491 631 841 ) [[ 2035 ]] # Static uncommon_trap(reason='profile_predicate' action='maybe_recompile' debug_id='0') void ( int ) C=0.000100 MainClass::method1 @ bci:1466 (line 241) reexecute !jvms: MainClass::method1 @ bci:1466 (line 241)
        n->out(10)->out(0): 2035 Proj === 2034 [[ 2038 ]] #0 !jvms: MainClass::method1 @ bci:1466 (line 241)

        idoms of early 5447:
        idom[0] 5447 Region === 5447 5448 3594 [[ 5447 3052 4526 5451 5453 5572 5455 5459 5461 5463 5466 5469 5471 5507 5478 ]] !orig=[4455]
        idom[1] 1156 If === 3552 1155 [[ 1157 1158 ]] P=0.646384, C=2005.000000 !orig=[4454] !jvms: MainClass::method1 @ bci:1110 (line 208)
        idom[2] 3552 IfFalse === 3551 [[ 1156 1140 ]] #0 !orig=[1130] !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[3] 3551 RangeCheck === 1115 3550 [[ 3552 3553 ]] P=0.000001, C=-1.000000 !orig=[1129] !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[4] 1115 IfTrue === 1114 [[ 3551 1122 ]] #1 !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[5] 1114 If === 1099 1111 [[ 1115 1116 ]] P=0.999999, C=-1.000000 !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[6] 1099 IfTrue === 1098 [[ 1114 1106 ]] #1 !jvms: MainClass::method1 @ bci:1088 (line 207)
        idom[7] 1098 If === 838 1095 [[ 1099 1100 ]] P=0.999999, C=-1.000000 !jvms: MainClass::method1 @ bci:1088 (line 207)
        idom[8] 838 Proj === 837 [[ 1098 841 ]] #0 !orig=[855] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[9] 837 Initialize === 829 1 840 1 1 836 [[ 838 839 ]] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[10] 829 CatchProj === 828 [[ 837 ]] #0@bci -1 !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[11] 828 Catch === 825 827 [[ 829 830 ]] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[12] 825 Proj === 824 [[ 828 ]] #0 !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[13] 824 AllocateArray === 628 625 810 8 1 ( 494 812 21 811 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4195 1 4195 458 452 491 631 56 ) [[ 825 826 827 834 835 836 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[14] 628 Proj === 627 [[ 824 631 ]] #0 !orig=[661] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[15] 627 Initialize === 619 1 630 1 1 626 [[ 628 629 ]] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[16] 619 CatchProj === 618 [[ 627 ]] #0@bci -1 !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[17] 618 Catch === 615 617 [[ 619 620 ]] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[18] 615 Proj === 614 [[ 618 ]] #0 !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[19] 614 AllocateArray === 488 485 607 8 1 ( 388 74 21 468 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4205 4205 4205 458 452 491 56 56 ) [[ 615 616 617 624 625 626 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[20] 488 Proj === 487 [[ 614 491 ]] #0 !orig=[516] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[21] 487 Initialize === 479 1 490 1 1 486 [[ 488 489 ]] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[22] 479 CatchProj === 478 [[ 487 ]] #0@bci -1 !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[23] 478 Catch === 475 477 [[ 479 480 ]] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[24] 475 Proj === 474 [[ 478 ]] #0 !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[25] 474 AllocateArray === 3651 379 424 8 1 ( 472 74 21 155 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4211 4211 4211 458 452 56 56 56 ) [[ 475 476 477 484 485 486 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[26] 3651 CountedLoop === 3651 5270 3460 [[ 3651 474 379 380 381 382 383 384 ]] stride: 1 !orig=[3642],[378] !jvms: MainClass::method1 @ bci:1057 (line 203)
        idom[27] 5270 Region === 5270 5269 322 [[ 5270 3651 5271 5275 ]] !orig=[346] !jvms: MainClass::method1 @ bci:1054 (line 202)
        idom[28] 5280 If === 5295 5279 [[ 322 5281 ]] P=0.500000, C=-1.000000
        idom[29] 5295 Region === 5295 5294 5276 [[ 5295 5280 5296 5298 5300 ]]
        idom[30] 5305 If === 5301 5304 [[ 5294 5306 ]] P=0.999999, C=-1.000000
        idom[31] 5301 IfFalse === 5290 [[ 5305 ]] #0
        idom[32] 5290 CountedLoopEnd === 5292 5283 [[ 5291 5301 ]] [lt] P=0.500000, C=3609.000000 !orig=4229,[320] !jvms: MainClass::method1 @ bci:981 (line 197)
        idom[33] 5292 CountedLoop === 5292 4432 5291 [[ 5286 5289 5290 5292 5293 ]] inner stride: 1 pre of N4230 !orig=[4230],[3637],[147] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[34] 4432 IfTrue === 4431 [[ 5292 254 ]] #1 !orig=[120] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[35] 4431 If === 4519 4438 [[ 4432 4433 ]] P=0.999999, C=-1.000000
        idom[36] 4519 IfFalse === 4518 [[ 4435 4431 ]] #0 !orig=[4423]
        idom[37] 4518 RangeCheck === 4415 4517 [[ 4519 4520 ]] P=0.000001, C=-1.000000 !orig=[4422]
        idom[38] 4415 IfTrue === 4414 [[ 4518 4425 ]] #1
        idom[39] 4414 If === 4407 209 [[ 4415 4416 ]] P=0.999999, C=-1.000000
        idom[40] 4407 IfTrue === 4406 [[ 4414 200 ]] #1
        idom[41] 4406 If === 4404 189 [[ 4407 4408 ]] P=0.999999, C=-1.000000
        idom[42] 4404 IfTrue === 4403 [[ 4406 183 ]] #1
        idom[43] 4403 If === 75 171 [[ 4404 4405 ]] P=0.999999, C=-1.000000
        idom[44] 75 Region === 75 3504 80 [[ 75 76 4403 ]] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[45] 79 If === 54 78 [[ 80 81 ]] P=0.999000, C=-1.000000 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[46] 54 Region === 54 3500 60 [[ 54 55 79 ]] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[47] 59 If === 47 58 [[ 60 61 ]] P=0.999000, C=-1.000000 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[48] 47 Proj === 46 [[ 59 ]] #0 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[49] 46 CallLeaf === 5 1 7 8 1 ( 10 ) [[ 47 49 ]] # OSR_migration_end void ( rawptr:BotPTR ) !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[50] 5 Parm === 3 [[ 45 46 26 30 37 41 ]] Control !jvms: MainClass::method1 @ bci:987 (line 198)

        idoms of (wrong) LCA 3552:
        idom[0] 3552 IfFalse === 3551 [[ 1156 1140 ]] #0 !orig=[1130] !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[1] 3551 RangeCheck === 1115 3550 [[ 3552 3553 ]] P=0.000001, C=-1.000000 !orig=[1129] !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[2] 1115 IfTrue === 1114 [[ 3551 1122 ]] #1 !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[3] 1114 If === 1099 1111 [[ 1115 1116 ]] P=0.999999, C=-1.000000 !jvms: MainClass::method1 @ bci:1092 (line 207)
        idom[4] 1099 IfTrue === 1098 [[ 1114 1106 ]] #1 !jvms: MainClass::method1 @ bci:1088 (line 207)
        idom[5] 1098 If === 838 1095 [[ 1099 1100 ]] P=0.999999, C=-1.000000 !jvms: MainClass::method1 @ bci:1088 (line 207)
        idom[6] 838 Proj === 837 [[ 1098 841 ]] #0 !orig=[855] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[7] 837 Initialize === 829 1 840 1 1 836 [[ 838 839 ]] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[8] 829 CatchProj === 828 [[ 837 ]] #0@bci -1 !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[9] 828 Catch === 825 827 [[ 829 830 ]] !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[10] 825 Proj === 824 [[ 828 ]] #0 !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[11] 824 AllocateArray === 628 625 810 8 1 ( 494 812 21 811 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4195 1 4195 458 452 491 631 56 ) [[ 825 826 827 834 835 836 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:34 (line 6) MainClass::method1 @ bci:1061 (line 203)
        idom[12] 628 Proj === 627 [[ 824 631 ]] #0 !orig=[661] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[13] 627 Initialize === 619 1 630 1 1 626 [[ 628 629 ]] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[14] 619 CatchProj === 618 [[ 627 ]] #0@bci -1 !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[15] 618 Catch === 615 617 [[ 619 620 ]] !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[16] 615 Proj === 614 [[ 618 ]] #0 !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[17] 614 AllocateArray === 488 485 607 8 1 ( 388 74 21 468 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4205 4205 4205 458 452 491 56 56 ) [[ 615 616 617 624 625 626 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:27 (line 5) MainClass::method1 @ bci:1061 (line 203)
        idom[18] 488 Proj === 487 [[ 614 491 ]] #0 !orig=[516] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[19] 487 Initialize === 479 1 490 1 1 486 [[ 488 489 ]] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[20] 479 CatchProj === 478 [[ 487 ]] #0@bci -1 !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[21] 478 Catch === 475 477 [[ 479 480 ]] !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[22] 475 Proj === 474 [[ 478 ]] #0 !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[23] 474 AllocateArray === 3651 379 424 8 1 ( 472 74 21 155 183 76 1 1 1 1 383 1 384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4211 4211 4211 458 452 56 56 56 ) [[ 475 476 477 484 485 486 ]] rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203) !jvms: Test0::<init> @ bci:20 (line 4) MainClass::method1 @ bci:1061 (line 203)
        idom[24] 3651 CountedLoop === 3651 5270 3460 [[ 3651 474 379 380 381 382 383 384 ]] stride: 1 !orig=[3642],[378] !jvms: MainClass::method1 @ bci:1057 (line 203)
        idom[25] 5270 Region === 5270 5269 322 [[ 5270 3651 5271 5275 ]] !orig=[346] !jvms: MainClass::method1 @ bci:1054 (line 202)
        idom[26] 5280 If === 5295 5279 [[ 322 5281 ]] P=0.500000, C=-1.000000
        idom[27] 5295 Region === 5295 5294 5276 [[ 5295 5280 5296 5298 5300 ]]
        idom[28] 5305 If === 5301 5304 [[ 5294 5306 ]] P=0.999999, C=-1.000000
        idom[29] 5301 IfFalse === 5290 [[ 5305 ]] #0
        idom[30] 5290 CountedLoopEnd === 5292 5283 [[ 5291 5301 ]] [lt] P=0.500000, C=3609.000000 !orig=4229,[320] !jvms: MainClass::method1 @ bci:981 (line 197)
        idom[31] 5292 CountedLoop === 5292 4432 5291 [[ 5286 5289 5290 5292 5293 ]] inner stride: 1 pre of N4230 !orig=[4230],[3637],[147] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[32] 4432 IfTrue === 4431 [[ 5292 254 ]] #1 !orig=[120] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[33] 4431 If === 4519 4438 [[ 4432 4433 ]] P=0.999999, C=-1.000000
        idom[34] 4519 IfFalse === 4518 [[ 4435 4431 ]] #0 !orig=[4423]
        idom[35] 4518 RangeCheck === 4415 4517 [[ 4519 4520 ]] P=0.000001, C=-1.000000 !orig=[4422]
        idom[36] 4415 IfTrue === 4414 [[ 4518 4425 ]] #1
        idom[37] 4414 If === 4407 209 [[ 4415 4416 ]] P=0.999999, C=-1.000000
        idom[38] 4407 IfTrue === 4406 [[ 4414 200 ]] #1
        idom[39] 4406 If === 4404 189 [[ 4407 4408 ]] P=0.999999, C=-1.000000
        idom[40] 4404 IfTrue === 4403 [[ 4406 183 ]] #1
        idom[41] 4403 If === 75 171 [[ 4404 4405 ]] P=0.999999, C=-1.000000
        idom[42] 75 Region === 75 3504 80 [[ 75 76 4403 ]] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[43] 79 If === 54 78 [[ 80 81 ]] P=0.999000, C=-1.000000 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[44] 54 Region === 54 3500 60 [[ 54 55 79 ]] !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[45] 59 If === 47 58 [[ 60 61 ]] P=0.999000, C=-1.000000 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[46] 47 Proj === 46 [[ 59 ]] #0 !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[47] 46 CallLeaf === 5 1 7 8 1 ( 10 ) [[ 47 49 ]] # OSR_migration_end void ( rawptr:BotPTR ) !jvms: MainClass::method1 @ bci:987 (line 198)
        idom[48] 5 Parm === 3 [[ 45 46 26 30 37 41 ]] Control !jvms: MainClass::method1 @ bci:987 (line 198)

        Real LCA of early 5447 (idom[2]) and (wrong) LCA 3552 (idom[0]):
         3552 IfFalse === 3551 [[ 1156 1140 ]] #0 !orig=[1130] !jvms: MainClass::method1 @ bci:1092 (line 207)


        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S14556/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f9886d7a-0ace-4c83-85fd-c101daf0871b/runs/d37d62ae-53de-438f-8106-b4389296baa1/workspace/open/src/hotspot/share/opto/loopnode.cpp:4916), pid=2298779, tid=2298792
        # assert(!had_error) failed: bad dominance


        Current CompileTask:
        C2: 292 1 % b 4 MainClass::method1 @ 987 (1722 bytes)

        Stack: [0x00007f124a8fd000,0x00007f124a9fe000], sp=0x00007f124a9f81a0, free space=1004k
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x12c6a32] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x6e2
        V [libjvm.so+0x12c73c0] PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0x140
        V [libjvm.so+0x12c7a5a] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0xba
        V [libjvm.so+0x12ce357] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x507
        V [libjvm.so+0xa0f921] PhaseIdealLoop::verify(PhaseIterGVN&)+0x341
        V [libjvm.so+0xa01b1f] Compile::process_for_post_loop_opts_igvn(PhaseIterGVN&)+0x1f
        V [libjvm.so+0xa0bca0] Compile::Optimize()+0x15f0
        V [libjvm.so+0xa0d9b5] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1905
        V [libjvm.so+0x8394da] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1ea
        V [libjvm.so+0xa1d881] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1
        V [libjvm.so+0xa1e508] CompileBroker::compiler_thread_loop()+0x5a8
        V [libjvm.so+0x1841b16] JavaThread::thread_main_inner()+0x256
        V [libjvm.so+0x1847f90] Thread::call_run()+0x100
        V [libjvm.so+0x1533dd6] thread_native_entry(Thread*)+0x116

        Attachments

          Issue Links

            Activity

              People

                roland Roland Westrelin
                thartmann Tobias Hartmann
                Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: