JDK-8247693 : C2 crash in assert(proj != __null) at compile.cpp:3009
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_10
  • CPU: x86_64
  • Submitted: 2020-06-12
  • Updated: 2020-10-15
  • Resolved: 2020-10-15
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
8-poolResolved
Related Reports
Duplicate :  
Description
ADDITIONAL SYSTEM INFORMATION :
JRE version: Java(TM) SE Runtime Environment (8.0_251-b08)(build 1.8.0_251-b08)
Java VM: Java HotSpot(Tm) 64-Bit Server VM (25.251-b08 mixed mode windows-amd 64 compressed oops)
problematic frame:
V [jvm.dll + 0x46e340]

A DESCRIPTION OF THE PROBLEM :
Exception_Access_violation (0xc0000005)at pc=0x0000000065cee340,pid=2612,tid=0x0000000000002c4c of a fatal error was detected by the java Runtime Enviroment.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

An error report file with more information is saved as 
C:\Users\narih\eclipse-workespace\MH2414 2020\hs_err_pid2616.log


---------- BEGIN SOURCE ----------
public class LadyBug0 {
	static int id=0;
	public static void main(String[] args) {
		// TODO ������������������������������������������������������������������������������������������

		String a4[]=new String[] {null,(String)null,};{a4[0]=String.valueOf(1);}
		String b4[]=new String[]{"",a4[0],};
		int a=1;
		
		//
		//int id=0;
		System.out.println(a4[0]!=Integer.toString(a--)?a:b4[a]);
		while(a4[0]!=b4[0]) {
		double a0;
			int d0;
			double h0;
			double c0;
			double c1;
			boolean f0;
			String g0;
			int i0;
			//
			String a1[]=new String[] {(String)null,};{a1[0]="1";}
			String b1[]=new String[] {a1[0],(String)null,};
			while(b1[0]==a1[0]) {
				a0=Double.valueOf(1003);
				a0/=Integer.valueOf(3);
				a0/=3;
				a0=Math.round(a0);
				a0/=111.1;
				d0=Integer.valueOf(111);
				h0=d0;
				c0=Double.valueOf(111.1);
				h0/=111.1;
				h0=Double.valueOf(h0);
				c1=d0/c0;
				c0=d0/c0;
				c1=100;
				c0/=100;
				Double e0=Double.valueOf(a0);
				e0+=Double.valueOf(2000);
				e0/=Double.valueOf(10000);
				e0/=Double.valueOf(1000);
				e0/=3;
				h0+=e0;
				f0=true;
				for(int i=26,ii=0;i<=30&ii<=2;i++,ii++) {
					while(ii<=2) {
						g0=Double.toString(e0).replaceAll("01","00")+1;
						g0+=1;
						while(i<=26) {
							if(c0*i>=c1*26) {
								while(a0<=1) {
									if(ii==2) {
										System.out.println(g0);
									}
								}
								a0/=Double.valueOf((2/3));
								a0/=a0;
								String b0=Double.toString(a0);
								if(a0!=0) {
									a0-=1;}else {a0+=1;
									a0=(int)a0++;
									a0/=--a0+0;
									System.out.println(a0+0);
									}
								a0--;
								while(a0<=0) {
									if(a0!=0) {
										a0+=(int)--a0;
										a0+=1;
										a0/=--a0;
										System.out.println(a0);
									}
								}
								while(Double.toString(a0)=="NaN") {
									a0+=1;
									a0=(int)a0++;
									a0/=a0--;
								}
								f0=a0*i>=24;
								System.out.println(f0);
								System.out.println(b0);
							}
						}
					}
				}
				if(b1[0]!=b1[1]) {
					
				}else {
					
				}
				System.out.println(b1[Integer.valueOf(a1[0])]);
			}
			id+=Math.min(id++ +0, id);
			id+=m(id++);
			id++;
			if(id!=(int)1){a4[0]=b4[0];}}//operant from ! to <. if !=(int1{a4[0]=b4[0];}}  or <=(int)3.3{a4[0]=b4[0]}
				a4[0]=b4[0];
			}
	LadyBug0(int b){
		this.id=id;
	}
	private static int m(int id) {
		int ia=1;
		ia=id;
		id=l(ia);
		ia=id;
		return id;
	}

	private static int l(int ia) {
		String b="ia";
		int ie=1;
		while(b!="0"){
			ia+=Math.min(ia, ie)+ie;{ie=Math.min(ia, ie++ +ia);}
			if(ie==0)b+=ia;{b=b.replaceAll(b, "");
			b+="";{if(b=="0") {break;}
			}}
		ia+=Math.min(ia, ie)+ie;
		return ia;
	}
		return ie=ia;
	}
	}

---------- END SOURCE ----------


Comments
Yes but I meant with newer JDK versions (because you wrote "15ea27: Fail"). As I said, the "hang" is not an issue. The program just seems to be very long running.
18-06-2020

Yes, I, was able to reproduce the crash in OS: Window 10, when executing the program from Eclipse IDE, 8u251 and when executing the program from console, hangs after printing 0 in 8u251, 8u241
18-06-2020

Apologies!, Executing program in Eclipse in 14.0.1 and 15ea : program hangs after printing 0 , no crash is observed! Thanks for correcting!
18-06-2020

[~pnarayanaswa] I'm not able to reproduce the crash (on Linux) and I think that the program "hangs" after printing 0 is expected. Were you able to reproduce the crash with versions > 8u?
17-06-2020

Test Result =========== 8u251: Fail 14.0.1: Fail 15ea27: Fail From Eclipse, program crashes hs_err file and replay file(files attached) From Console, program hangs after printing 0 Moving it to JDK for dev team's evaluation.
16-06-2020