JDK-8038985 : Bad graph detected in build_loop_late
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7u45,8,9
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2014-04-01
  • Updated: 2019-09-13
  • Resolved: 2016-06-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u20Resolved 9Resolved
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

openjdk version "1.8.0-jdk8-b132-fastdebug"
OpenJDK Runtime Environment (build 1.8.0-jdk8-b132-fastdebug-20140401)
OpenJDK 64-Bit Server VM (build 25.0-b70-fastdebug, mixed mode)


FULL OS VERSION :
Linux spica 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux


A DESCRIPTION OF THE PROBLEM :
C2 compiler always crashes in PhaseIdealLoop::build_loop_late_post..
Reproduced on 1.7u45, 1.8.0 and 1.8.0 fastdebug (always reproducible).

Please find attached the console log, error log and JIT replay log generated when running with fastdebug JVM.

Note: the code has been obfuscated using ProGuard to obtain these logs for confidentiality reasons, however the bug is always reproducible without it.

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
I cannot provide the program to reproduce this bug. I am reachable for any further information or test.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
================================================================================
Standard out
================================================================================
Bad graph detected in build_loop_late
n:  10093	AddP	=== _  2068  10095  236  [[ 2974  2972 ]]  !orig=[2952],[2582] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n):  2489	Region	===  2489  2494  2493  2485  [[ 2489  2504  2498 ]]  !jvms: TObjectHash::insertKeyRehash @ bci:44 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(1):  2068	CastPP	===  2061  2055  [[ 2069  2069  2103  2135  2135  2147  2103  2102  2522  2522  2530  2531  2531  2902  2701  10095  2760  10093  10095  2574  2594  2776  10096  10096  10094  2964  2661  2944  9400  9401  9401 ]]  #narrowoop: java/lang/Object *[int:>=0]:NotNull * !orig=[2415] !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(1)):  2061	IfTrue	===  2060  [[ 2075  2068  2070  2136 ]] #1 !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(1)->in(1):  2055	DecodeN	=== _  2054  [[ 2068  2056 ]]  #narrowoop: java/lang/Object *[int:>=0] * !orig=[2551] !jvms: TObjectHash::insertKey @ bci:25 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(1)->in(1)):  1885	IfTrue	===  1882  [[ 1951  1886  1926  3150  2054  1945  3017  3319  3157  3162 ]] #1 !jvms: ah::j @ bci:4 ah::a @ bci:1 d::b @ bci:26 d::a @ bci:27
n->in(2):  10095	AddP	=== _  2068  2068  10097  [[ 10093 ]]  !orig=[2953],[2583] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(2)):  2489	Region	===  2489  2494  2493  2485  [[ 2489  2504  2498 ]]  !jvms: TObjectHash::insertKeyRehash @ bci:44 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(2)->in(1):  2068	CastPP	===  2061  2055  [[ 2069  2069  2103  2135  2135  2147  2103  2102  2522  2522  2530  2531  2531  2902  2701  10095  2760  10093  10095  2574  2594  2776  10096  10096  10094  2964  2661  2944  9400  9401  9401 ]]  #narrowoop: java/lang/Object *[int:>=0]:NotNull * !orig=[2415] !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(2)->in(1)):  2061	IfTrue	===  2060  [[ 2075  2068  2070  2136 ]] #1 !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(2)->in(2):  2068	CastPP	===  2061  2055  [[ 2069  2069  2103  2135  2135  2147  2103  2102  2522  2522  2530  2531  2531  2902  2701  10095  2760  10093  10095  2574  2594  2776  10096  10096  10094  2964  2661  2944  9400  9401  9401 ]]  #narrowoop: java/lang/Object *[int:>=0]:NotNull * !orig=[2415] !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(2)->in(2)):  2061	IfTrue	===  2060  [[ 2075  2068  2070  2136 ]] #1 !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(2)->in(3):  10097	LShiftL	=== _  10099  257  [[ 10095 ]]  !orig=[8945],[2581] !jvms: TObjectHash::insertKeyRehash @ bci:85 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
early(n->in(2)->in(3)):  2489	Region	===  2489  2494  2493  2485  [[ 2489  2504  2498 ]]  !jvms: TObjectHash::insertKeyRehash @ bci:44 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->in(3):  236	ConL	===  0  [[ 4234  4092  8094  8027  527  8010  673  7995  882  7820  1034  7755  1175  1262  7737  7722  1384  1509  7448  9797  1587  1767  1770  7370  7200  2102  7061  6772  6716  2297  6676  2530  10041  4439  6435  4732  6274  2810  4591  10094  4819  3053  5922  3093  3149  5731  5394  3438  5391  5159  9804  5083  4940  3578  9159  9164  9235  9239  9280  9284  9335  9339  9393  9400  10040  9562  9567  9638  9642  9683  9687  9737  9741  10093 ]]  #long:16
early(n->in(3)):  0	Root	===  0  122  161  375  394  490  507  8090  578  7670  628  644  7588  803  5827  5805  878  7816  930  7489  6151  989  1005  7444  1171  7396  6669  1234  1250  1365  1380  1415  1444  1473  1485  8120  6608  6654  6330  1585  1856  1892  1958  1975  2067  2082  2151  2180  2202  7196  2251  2267  6573  2431  6203  5778  2526  7181  2578  2598  7145  6056  2665  2705  7129  7801  2764  2780  7075  2948  2968  2984  3030  3045  3074  3089  3109  7054  6955  3332  3431  3452  3507  3523  3559  3574  3694  3731  3952  3969  4057  4072  7944  4140  6732  4189  4205  6712  4363  5711  5892  4435  7867  4487  6697  5876  4546  4562  6593  4728  6405  6389  4791  4807  4921  4936  4971  5000  5038  5050  8119  6223  6290  6270  5157  5485  5521  5587  5604  5696  [[ 0  1  3  44  62  71  92  96  108  117  144  156  165  166  7720  7665  7648  7508  236  242  257  258  259  261  7507  7491  265  7484  269  297  299  303  7738  359  370  380  389  7466  424  447  7432  7402  458  473  475  492  502  7272  532  566  623  790  820  833  873  1350  1546  1547  2138  2146  7271  3492  2979  3049  8137  8226  8343  8423  8440  8459  8460  8461  8614  8615  8652  9980  8618  8619  8620  8621  8656  8623  8657  9318  8627  8628  8629  8630  8631  9997  9076  8634  8635  8636  8637  8653  8754  8640  8641  8642  8643  8756  8645  8758  9989  8649  8650  8651 ]] 

LCA(n):  8371	IfFalse	===  8370  [[ 2974  2392  2977  2972 ]] #0 !orig=[2962] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->out(0):  2974	CastP2X	===  8371  10093  [[ 2975 ]]  !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
later(n->out(0)):  8371	IfFalse	===  8370  [[ 2974  2392  2977  2972 ]] #0 !orig=[2962] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->out(0)->out(0):  2975	URShiftL	=== _  2974  297  [[ 2976 ]]  !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
later(n->out(0)->out(0)):  8371	IfFalse	===  8370  [[ 2974  2392  2977  2972 ]] #0 !orig=[2962] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->out(1):  2972	StoreN	===  8371  1808  10093  2156  [[ 2612 ]]  @narrowoop: java/lang/Object *[int:>=0]+any * [narrow], idx=11;  Memory: @narrowoop: java/lang/Object *[int:>=0]:NotNull+any * [narrow], idx=11; !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
later(n->out(1)):  8371	IfFalse	===  8370  [[ 2974  2392  2977  2972 ]] #0 !orig=[2962] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
n->out(1)->out(0):  2612	Phi	===  2392  2602  2669  2972  1808  [[ 2167 ]]  #memory  Memory: @narrowoop: java/lang/Object *[int:>=0]+any * [narrow], idx=11; !orig=2394 !jvms: TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
later(n->out(1)->out(0)):  2392	Region	===  2392  8312  8316  8371  2683  [[ 2392  2613  1916  2612  2396  2609  8925 ]]  !jvms: TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27

idom[0]  8371	IfFalse	===  8370  [[ 2974  2392  2977  2972 ]] #0 !orig=[2962] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[1]  8370	If	===  2942  8292  [[ 8371  8372 ]] P=0.000001, C=-1.000000 !orig=[2961] !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[2]  2942	IfTrue	===  2941  [[ 8370 ]] #1 !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[3]  2941	If	===  2914  9533  [[ 2942  2943 ]] P=0.999999, C=-1.000000 !jvms: TObjectHash::insertKeyRehash @ bci:143 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[4]  2914	IfTrue	===  2913  [[ 2941 ]] #1 !orig=[2927] !jvms: TObjectHash::insertKeyRehash @ bci:133 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[5]  2913	If	===  9456  9525  [[ 2914  2915 ]] P=0.999999, C=-1.000000 !jvms: TObjectHash::insertKeyRehash @ bci:133 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[6]  9456	Region	===  9456  9455  2908  [[ 9456  2913  9491 ]] 
idom[7]  9422	If	===  9448  9372  [[ 9423  9455 ]] P=0.900000, C=-1.000000 !orig=2906 !jvms: TObjectHash::insertKeyRehash @ bci:127 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[8]  9448	Region	===  9448  9447  9449  [[ 9422  9448 ]]  !orig=2826,[8941],[2898] !jvms: ai::equals @ bci:36 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[9]  9444	If	===  9443  9390  [[ 9445  9449 ]] P=0.250073, C=10241.000000 !orig=2821,[2896] !jvms: ai::equals @ bci:19 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[10]  9443	IfFalse	===  9442  [[ 9394  9444  9392  9388 ]] #0 !orig=8346,[2771] !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[11]  9442	If	===  9441  9367  [[ 9443  9469 ]] P=0.000000, C=-1.000000 !orig=8345,[2770] !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[12]  9441	IfTrue	===  9440  [[ 9395  9442  9370 ]] #1 !orig=2756 !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[13]  9440	If	===  9437  9365  [[ 9441  9467 ]] P=0.999999, C=-1.000000 !orig=2754 !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[14]  9437	IfTrue	===  9436  [[ 9440 ]] #1 !orig=2697,[2714] !jvms: TCustomObjectHash::equals @ bci:4 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[15]  9436	If	===  9435  9396  [[ 9437  9463 ]] P=1.000000, C=8985.000000 !orig=2696 !jvms: TCustomObjectHash::equals @ bci:4 TObjectHash::insertKeyRehash @ bci:113 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[16]  9435	IfTrue	===  9434  [[ 9436 ]] #1 !orig=2679 !jvms: TObjectHash::insertKeyRehash @ bci:106 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[17]  9434	If	===  9433  9384  [[ 9435  9461 ]] P=0.900000, C=-1.000000 !orig=2678 !jvms: TObjectHash::insertKeyRehash @ bci:106 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[18]  9433	IfTrue	===  9432  [[ 9434 ]] #1 !orig=2537 !jvms: TObjectHash::insertKeyRehash @ bci:69 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[19]  9432	If	===  9431  9382  [[ 9433  9459 ]] P=0.900000, C=-1.000000 !orig=2536 !jvms: TObjectHash::insertKeyRehash @ bci:69 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[20]  9431	IfTrue	===  9430  [[ 9399  9432 ]] #1 !orig=2520 !jvms: TObjectHash::insertKeyRehash @ bci:61 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[21]  9430	If	===  9426  9374  [[ 9431  9457 ]] P=0.999999, C=-1.000000 !orig=2519 !jvms: TObjectHash::insertKeyRehash @ bci:61 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[22]  9426	Region	===  9426  9450  9425  [[ 9426  9428  9430 ]]  !orig=2509 !jvms: TObjectHash::insertKeyRehash @ bci:58 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[23]  9424	If	===  2425  9363  [[ 9425  9450 ]] P=0.500000, C=-1.000000 !orig=2504 !jvms: TObjectHash::insertKeyRehash @ bci:50 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[24]  2425	IfTrue	===  2424  [[ 9424  2432 ]] #1 !orig=[2456] !jvms: TObjectHash::insertKeyRehash @ bci:17 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[25]  2424	If	===  2313  2421  [[ 2425  2426 ]] P=0.999999, C=-1.000000 !jvms: TObjectHash::insertKeyRehash @ bci:17 TObjectHash::insertKey @ bci:88 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[26]  2313	Region	===  2313  2354  2309  [[ 2313  2424 ]]  !orig=[8960],[2385] !jvms: ai::equals @ bci:36 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[27]  2308	If	===  8302  2307  [[ 2309  2310 ]] P=0.250073, C=10241.000000 !orig=[2383] !jvms: ai::equals @ bci:19 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[28]  8302	IfFalse	===  8301  [[ 2260  2308  2298  2343 ]] #0 !orig=[2258] !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[29]  8301	If	===  2243  8300  [[ 8302  8303 ]] P=0.000000, C=-1.000000 !orig=[2257] !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[30]  2243	IfTrue	===  2241  [[ 8301  2244  2253 ]] #1 !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[31]  2241	If	===  2194  2240  [[ 2242  2243 ]] P=0.999999, C=-1.000000 !jvms: ai::equals @ bci:5 TCustomObjectHash::equals @ bci:13 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[32]  2194	IfTrue	===  2193  [[ 2241 ]] #1 !orig=[8298],[2215] !jvms: TCustomObjectHash::equals @ bci:4 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[33]  2193	If	===  2172  2192  [[ 2194  2195 ]] P=1.000000, C=8985.000000 !jvms: TCustomObjectHash::equals @ bci:4 TObjectHash::insertKey @ bci:71 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[34]  2172	IfTrue	===  2171  [[ 2193 ]] #1 !jvms: TObjectHash::insertKey @ bci:64 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[35]  2171	If	===  2109  2170  [[ 2172  2173 ]] P=1.000000, C=1253.000000 !jvms: TObjectHash::insertKey @ bci:64 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[36]  2109	IfTrue	===  2108  [[ 2171 ]] #1 !jvms: TObjectHash::insertKey @ bci:44 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[37]  2108	If	===  2076  2107  [[ 2109  2110 ]] P=0.179796, C=6969.000000 !jvms: TObjectHash::insertKey @ bci:44 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[38]  2076	IfTrue	===  2075  [[ 2083  2104  2108 ]] #1 !jvms: TObjectHash::insertKey @ bci:29 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[39]  2075	If	===  2061  2072  [[ 2076  2077 ]] P=0.999999, C=-1.000000 !jvms: TObjectHash::insertKey @ bci:29 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[40]  2061	IfTrue	===  2060  [[ 2075  2068  2070  2136 ]] #1 !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[41]  2060	If	===  8274  2057  [[ 2061  2062 ]] P=0.999999, C=-1.000000 !jvms: TObjectHash::insertKey @ bci:28 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[42]  8274	IfFalse	===  8273  [[ 2060 ]] #0 !orig=[1966] !jvms: TCustomObjectHash::hash @ bci:5 TObjectHash::insertKey @ bci:16 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[43]  8273	If	===  1952  8272  [[ 8274  8275 ]] P=0.000001, C=-1.000000 !orig=[1965] !jvms: TCustomObjectHash::hash @ bci:5 TObjectHash::insertKey @ bci:16 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[44]  1952	IfTrue	===  1951  [[ 8273  1959  1961 ]] #1 !jvms: TCustomObjectHash::hash @ bci:5 TObjectHash::insertKey @ bci:16 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[45]  1951	If	===  1885  1948  [[ 1952  1953 ]] P=0.999999, C=-1.000000 !jvms: TCustomObjectHash::hash @ bci:5 TObjectHash::insertKey @ bci:16 TCustomHashMap::put @ bci:2 ah::a @ bci:10 d::b @ bci:26 d::a @ bci:27
idom[46]  1885	IfTrue	===  1882  [[ 1951  1886  1926  3150  2054  1945  3017  3319  3157  3162 ]] #1 !jvms: ah::j @ bci:4 ah::a @ bci:1 d::b @ bci:26 d::a @ bci:27
idom[47]  1882	If	===  8260  1881  [[ 1885  1887 ]] P=1.000000, C=12065.000000 !jvms: ah::j @ bci:4 ah::a @ bci:1 d::b @ bci:26 d::a @ bci:27
idom[48]  8260	IfFalse	===  8259  [[ 1849  1882  1878 ]] #0 !orig=[1847] !jvms: d::b @ bci:26 d::a @ bci:27
idom[49]  8259	If	===  8257  8146  [[ 8260  8261 ]] P=0.000001, C=-1.000000 !orig=[1846] !jvms: d::b @ bci:26 d::a @ bci:27
idom[50]  8257	IfTrue	===  8255  [[ 8259 ]] #1 !orig=[1837] !jvms: d::b @ bci:26 d::a @ bci:27
idom[51]  8255	If	===  1807  8142  [[ 8256  8257 ]] P=0.408295, C=-1.000000 !orig=[1835] !jvms: d::b @ bci:26 d::a @ bci:27
idom[52]  1807	Proj	===  1806  [[ 1810  1815  1820  8255  1817  1823  1814 ]] #0 !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[53]  1806	Initialize	===  1798  1  1809  1  1  1805  [[ 1807  1808 ]]  !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[54]  1798	CatchProj	===  1797  [[ 1806 ]] #0@bci -1  !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[55]  1797	Catch	===  1794  1796  [[ 1798  1799 ]]  !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[56]  1794	Proj	===  1793  [[ 1797 ]] #0 !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[57]  1793	AllocateArray	===  1784  1710  1785  8  1 ( 242  258  44  257  10  11  1  13  1  15  1  17  1  19  1  21  1  10  1  1  1  1  1  1716  1716  1  1  1  1  1716 ) [[ 1794  1795  1796  1803  1804  1805 ]]  rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, int ) af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27 !jvms: af::<init> @ bci:8 d::b @ bci:18 d::a @ bci:27
idom[58]  1784	Proj	===  1783  [[ 1793 ]] #0 !jvms: af::<init> @ bci:-1 d::b @ bci:18 d::a @ bci:27
idom[59]  1783	MemBarRelease	===  1713  1  1736  1  1  [[ 1784  1785 ]]  !jvms: af::<init> @ bci:-1 d::b @ bci:18 d::a @ bci:27
idom[60]  1713	Proj	===  1712  [[ 1783  1716  2021  1999  2156 ]] #0 !jvms: d::b @ bci:12 d::a @ bci:27
idom[61]  1712	Initialize	===  1704  1  1715  1  1  1711  1769  1774  [[ 1713  1714 ]]  !jvms: d::b @ bci:12 d::a @ bci:27
idom[62]  1704	CatchProj	===  1703  [[ 1712  1769  1774 ]] #0@bci -1  !jvms: d::b @ bci:12 d::a @ bci:27
idom[63]  1703	Catch	===  1700  1702  [[ 1704  1705 ]]  !jvms: d::b @ bci:12 d::a @ bci:27
idom[64]  1700	Proj	===  1699  [[ 1703 ]] #0 !jvms: d::b @ bci:12 d::a @ bci:27
idom[65]  1699	Allocate	===  1696  1678  1425  8  1 ( 166  165  44  1  10  11  1  13  1  15  1  17  1  19  1  21  1  10  11  1  13  1  1 ) [[ 1700  1701  1702  1709  1710  1711 ]]  rawptr:NotNull ( int:>=0, java/lang/Object:NotNull *, bool, top ) d::b @ bci:12 d::a @ bci:27 !jvms: d::b @ bci:12 d::a @ bci:27
idom[66]  1696	IfFalse	===  1690  [[ 1699 ]] #0 !jvms: d::b @ bci:9 d::a @ bci:27
idom[67]  1690	If	===  1677  1689  [[ 1693  1696 ]] P=0.331021, C=11389.000000 !jvms: d::b @ bci:9 d::a @ bci:27
idom[68]  1677	Region	===  1677  1422  1392  [[ 1677  1690  1678  1679  1680  1681  1682  1683  1685 ]]  !jvms: d::b @ bci:-1 d::a @ bci:27
idom[69]  8143	If	===  8140  8142  [[ 8144  8145 ]] P=0.454045, C=-1.000000 !orig=[99] !jvms: d::b @ bci:3 d::a @ bci:27
idom[70]  8140	IfFalse	===  8139  [[ 8143 ]] #0 !orig=[77] !jvms: d::a @ bci:16
idom[71]  8139	If	===  8122  8138  [[ 8140  8141 ]] P=0.749917, C=12048.000000 !orig=[74] !jvms: d::a @ bci:16
idom[72]  8122	Region	===  8122  49  58  [[ 8122  8139 ]]  !orig=[8132]
idom[73]  48	If	===  5  47  [[ 49  50 ]] P=0.500000, C=9110.000000 !jvms: b::a @ bci:4 d::a @ bci:6
idom[74]  5	Parm	===  3  [[ 48 ]] Control !jvms: d::a @ bci:-1

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/loopnode.cpp:3513
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/jnicoulaud/openjdkathome/sources/openjdk8/hotspot/src/share/vm/opto/loopnode.cpp:3513), pid=20815, tid=1113610560
#  assert(false) failed: Bad graph detected in build_loop_late
#
# JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-jdk8-b132-fastdebug-20140401)
# Java VM: OpenJDK 64-Bit Server VM (25.0-b70-fastdebug mixed mode linux-amd64 compressed oops)
# Core dump written. Default location: /data/storage/inscale/support/INS-6000-6999/INS-6458/core or core.20815
#
# An error report file with more information is saved as:
# /data-s1/storage/temp/jnicoulaud/log_20140401_143433_958316000/hs_err_main.log
#
# Compiler replay data is saved as:
# /data/storage/inscale/support/INS-6000-6999/INS-6458/replay_pid20815.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Run with flag -XX:CompileCommand=dontinline:modules.h.f.k.b.d::a


Comments
Closing this as a duplicate of JDK-6675699
10-06-2016

I had a look at the original failure reported by the user. The problem happens while compiling TObjectHash::insertKey() and does not show up if loop peeling is disabled. This is most probably a duplicate of JDK-8078262 where we compile TIntIntHash::insertKey() which contains almost the same code. The failure is caused by the long known problem with ConvI2L nodes getting assigned a narrow type but having no dependency with the corresponding range check (JDK-6675699). Could the reporter of this bug try out my (partial/experimental) fix? http://cr.openjdk.java.net/~thartmann/8078262/webrev.00/
03-09-2015

new bug is JDK-8134974
02-09-2015

The nightly failures reported here are unrelated to the original problem reported by the user. They are related to JDK-8130847. I'll get those fixed with another bug.
02-09-2015

Taking this over as requested by [~dtherkel].
01-09-2015

Could be related to JDK-8078262 -> JDK-6675699.
25-08-2015

Paul S will close the 8u20 and will track in the main bug for 9
26-06-2014

SQE-OK per Ilya in meeting.
26-06-2014

SQE is ok to defer from 8u20.
26-06-2014

8u20-defer-request justification: We haven't been able to reproduce the problem in-house and it doesn't seem to be widespread. The reporter cannot share the reproducer. Providing him with instrumented builds will take time.
25-06-2014

Re-ILW based on information added to bug: ILW=Crash on compiled code, only seen by a single user since december, -XX:-PartialPeelLoop=HLM=P3
19-06-2014

Hi, The bug is still present on 8u20 b17. I managed to reproduce it on 8u20 b17 fastdebug with TracePartialPeeling on, the logs are here: 8u20-b17.zip Regards, Julien
09-06-2014

Reopen because Julien provides additional information.
09-06-2014

More information from submitter: Hi, Here are some more tests as asked on the JIRA issue: -XX:-PartialPeelLoop : no crash -XX:-LoopUnswitching : still crashes -XX:-SplitIfBlocks : still crashes -XX:LoopUnrollLimit=0 : no crash -XX:-RangeCheckElimination : still crashes => so it looks like PartialPeelLoop is the cause of the crash. I also tried these tests: -XX:-PartialPeelAtUnsignedTests : no crash -XX:+TracePartialPeeling : no crash -XX:-BackgroundCompilation : no crash -XX:+TracePartialPeeling -XX:CICompilerCount=8 : no crash It looks like a concurrency issue in PartialPeelLoop, but I can't find a way to reproduce it when logging is on. Regards, Julien 2014-04-11 11:39 GMT+02:00 Julien Nicoulaud <julien.nicoulaud@gmail.com>: Hi all, thanks for your answers. I did some further testing and here is the results: - JDK 8u20-b05 : still crashes, but not always - logs at https://dl.dropboxusercontent.com/u/62997/JDK-8038985/8u20-b05.zip - core dump at https://dl.dropboxusercontent.com/u/62997/JDK-8038985/8u20-b05/core.16369.tar.bz2 - JDK 8u0 with -XX:-EliminateAutoBox : still crashes, but not always - logs at https://dl.dropboxusercontent.com/u/62997/JDK-8038985/8u0-no-EliminateAutoBox.zip Also, since the crash always seems to occur when inlining Trove's TCustomHashMap (http://trove.starlight-systems.com/) into my code, I tried to: - Upgrade Trove from 3.0.3 to 3.1a1 (from https://bitbucket.org/robeden/trove/downloads) => still crashes - Replace Trove by other hash map implementations => no crash Regards, Julien
04-06-2014

Mail was sent to submitter requesting more information.
27-05-2014

" Bad graph detected in build_loop_late" can happen for a lot of reasons. If you look on control nodes in idom path you will see orig=<n> which means it was cloned. I would guess some loop optimization happened which used clone_loop() or similar. Without reproducer in our hands it will be difficult to debug it. We can ask him to try to switch off different loop opts flags: -XX:-PartialPeelLoop -XX:-LoopUnswitching -XX:-SplitIfBlocks -XX:LoopUnrollLimit=0 -XX:-RangeCheckElimination It could be related to 8039050 but it is not guarantee.
17-04-2014

ILW=Crash, ?, CompileCommand=H?M=HHM=P1 Similiar to https://bugs.openjdk.java.net/browse/JDK-8032566, but it was supposed to be fixed in b127, and this is b132.
11-04-2014

We need a clear instructions how to reproduce the problem.
01-04-2014