After debugging JRE generated hs_err_pid logs from several Steam Titles that are using the JRE in conjunction with OpenGL and other frameworks such as SDL, Glew, etc. that are invoking NVidia’s OpenGL nvoglv64.dll with the exception code 0xc000001d with an offset of 0x9ea213 I believe is natively assuming that your CPU/Motherboard Chipset combo has the popcnt instruction. If you don’t have this, it will throw the EXECPTION_ILLEGAL_INSTRUCTION at least through the JRE geneated logs. And there currently isn’t any pre sanity sections upon initialization within these drivers and no branching options for any fallbacks.
I find this to be ridiculous. If it isn’t broke don’t fix it. Assuming and forcing everyone to use a specific hardware instruction (opcode) that not everyone has is breaking thousands of applications for millions of people. Quit it already! It’s okay to check for and if available to use such features especially for optimizations, but if not present resort to an already solved and existing solution that previously worked before you broke it. Are you paying me $250,000 to trouble shoot and debug the problems you created when I am the consumer user? Are you buying or pay for me to acquire new hardware to build an entire new system? No? Then Don’t break it! It’s call Consumer Rights! I’m not getting paid to do your job and you’re not paying for my hardware! Enough is enough! Rant is over!
Other than that, I hope that this helps others to see what the actual issue is. I followed the trace stack within the generated log files. This isn’t a single isolated issue, it’s affecting many applications across many platforms and devices.
Here’s the meta data from one of the generated hs_err_pid log files:
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) at pc=0x00007ffbe701a213, pid=1952, tid=3036
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (16.0.1+9) (build 16.0.1+9)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (16.0.1+9, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C [nvoglv64.dll+0x9ea213]
Here’s the stack trace, processes, threads results. I won’t show the heap it’s too large.
--------------- S U M M A R Y ------------
Command Line: -Dhttps.protocols=TLSv1.2,TLSv1.1,TLSv1 -XX:+ShowCodeDetailsInExceptionMessages
Host: Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz, 4 cores, 7G, Windows 10 , 64 bit Build 19041 (10.0.19041.5915)
Time: Tue Jul 1 00:48:29 2025 Central Daylight Time elapsed time: 0.960934 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x000001fd0c1047b0): JavaThread "main" [_thread_in_native, id=3036, stack(0x000000659b400000,0x000000659b500000)]
Stack: [0x000000659b400000,0x000000659b500000], sp=0x000000659b4fc310, free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [nvoglv64.dll+0x9ea213]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j arc.backend.sdl.jni.SDL.SDL_CreateWindow(Ljava/lang/String;III)J+0
j arc.backend.sdl.SdlApplication.init()V+262
j arc.backend.sdl.SdlApplication.<init>(Larc/ApplicationListener;Larc/backend/sdl/SdlConfig;)V+54
j mindustry.desktop.DesktopLauncher.main([Ljava/lang/String;)V+23
v ~StubRoutines::call_stub
siginfo: EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d)
Register to memory mapping:
RIP=0x00007ffbe701a213 nvoglv64.dll
RAX=0x0000000000000001 is an unknown value
RBX=0x0 is NULL
RCX=0x0000000000000001 is an unknown value
RDX=0x000001fd23b73770 points into unknown readable memory: 0x0000000000000001 | 01 00 00 00 00 00 00 00
RSP=0x000000659b4fc310 is pointing into the stack for thread: 0x000001fd0c1047b0
RBP=0x000000659b4fc530 is pointing into the stack for thread: 0x000001fd0c1047b0
RSI=0x0000000000000001 is an unknown value
RDI=0x0 is NULL
R8 =0x0000000000000001 is an unknown value
R9 =0x000001fd23b73750 points into unknown readable memory: 0x0000003000000000 | 00 00 00 00 30 00 00 00
R10=0x0000000000000001 is an unknown value
R11=0x000000000000000f is an unknown value
R12=0x0 is NULL
R13=0x0 is NULL
R14=0x000001fd23b73810 points into unknown readable memory: 0x00007ffbee3ec5a0 | a0 c5 3e ee fb 7f 00 00
R15=0x000001fd23b73750 points into unknown readable memory: 0x0000003000000000 | 00 00 00 00 30 00 00 00
Registers:
RAX=0x0000000000000001, RBX=0x0000000000000000, RCX=0x0000000000000001, RDX=0x000001fd23b73770
RSP=0x000000659b4fc310, RBP=0x000000659b4fc530, RSI=0x0000000000000001, RDI=0x0000000000000000
R8 =0x0000000000000001, R9 =0x000001fd23b73750, R10=0x0000000000000001, R11=0x000000000000000f
R12=0x0000000000000000, R13=0x0000000000000000, R14=0x000001fd23b73810, R15=0x000001fd23b73750
RIP=0x00007ffbe701a213, EFLAGS=0x0000000000210202
Top of Stack: (sp=0x000000659b4fc310)
0x000000659b4fc310: 0000000000000000 0000000000000000
0x000000659b4fc320: 0000000000000000 0000000000000000
0x000000659b4fc330: 00007ffc36420000 000000000000000f
0x000000659b4fc340: 0000000000000001 0000000000000000
0x000000659b4fc350: 0000000000000000 00007ffc36dc3f10
0x000000659b4fc360: 0000000000000001 000000000000000f
0x000000659b4fc370: 00007ffc36420000 000000659b4fc700
0x000000659b4fc380: 000000000000000f 0000000000000000
0x000000659b4fc390: 00007ffbe700b480 0000000000000001
0x000000659b4fc3a0: 00007ffbe700ca10 00000000000007a0
0x000000659b4fc3b0: 0000000000000bdc 0000000000000bdc
0x000000659b4fc3c0: 00000000000007a0 00007ffbe7019269
0x000000659b4fc3d0: 00000000000000c0 0000000000000000
0x000000659b4fc3e0: 00007ffc00000000 0000000000000000
0x000000659b4fc3f0: 0000000000000001 00007ffbe6d9da3c
0x000000659b4fc400: 00007ffc36420000 00007ffc3915b86b
Instructions: (pc=0x00007ffbe701a213)
0x00007ffbe701a113: 49 8b cf 0f b7 44 24 78 89 84 24 c8 00 00 00 4c
0x00007ffbe701a123: 89 ac 24 88 00 00 00 ff 15 58 87 ae 00 48 89 44
0x00007ffbe701a133: 24 48 4c 8b e8 48 85 c0 0f 84 6a 02 00 00 4c 8d
0x00007ffbe701a143: 84 24 c0 00 00 00 c7 84 24 c0 00 00 00 00 00 00
0x00007ffbe701a153: 00 33 d2 33 c9 41 ff d5 85 c0 75 0f ff 15 c3 87
0x00007ffbe701a163: ae 00 83 f8 7a 0f 85 3d 02 00 00 8b 8c 24 c0 00
0x00007ffbe701a173: 00 00 85 c9 0f 84 2e 02 00 00 48 8b 05 3c 8b b6
0x00007ffbe701a183: 01 ff d0 4c 8b f8 48 85 c0 0f 84 19 02 00 00 4c
0x00007ffbe701a193: 8d 84 24 c0 00 00 00 48 8b d0 33 c9 41 ff d5 85
0x00007ffbe701a1a3: c0 0f 84 f8 01 00 00 44 8b b4 24 c0 00 00 00 33
0x00007ffbe701a1b3: c9 4d 03 f7 44 8b c1 4d 8b cf 4d 3b fe 0f 83 7d
0x00007ffbe701a1c3: 00 00 00 4c 8b 5c 24 28 44 8b eb 44 8b a4 24 c8
0x00007ffbe701a1d3: 00 00 00 41 0f b7 41 1e 66 3b c8 73 4f 49 8d 51
0x00007ffbe701a1e3: 20 44 8b d0 0f b7 42 08 41 3b c4 75 23 48 8b 0a
0x00007ffbe701a1f3: 49 8b c0 48 f7 d0 48 23 c1 49 23 c3 74 0f 41 80
0x00007ffbe701a203: 79 09 00 74 05 48 0b f8 eb 03 48 0b f0 4c 0b c1
0x00007ffbe701a213: f3 48 0f b8 02 0f b6 c8 48 83 c2 10 44 03 e9 49
0x00007ffbe701a223: 83 ea 01 75 bf 44 89 6c 24 3c 33 c9 41 8b 41 04
0x00007ffbe701a233: 4c 03 c8 4d 3b ce 72 9b 4c 8b 6c 24 48 44 8b e3
0x00007ffbe701a243: 8b 15 c7 33 cb 01 48 85 ff 48 8b c1 48 89 4c 24
0x00007ffbe701a253: 28 48 0f 45 c6 f6 c2 01 74 0f 48 85 ff 48 8b ce
0x00007ffbe701a263: 48 0f 45 cf 48 89 4c 24 28 f6 c2 02 74 0b 48 0b
0x00007ffbe701a273: c1 48 8b c8 48 89 44 24 28 48 85 c9 0f 84 1d 01
0x00007ffbe701a283: 00 00 32 d2 66 0f 1f 84 00 00 00 00 00 fe c2 48
0x00007ffbe701a293: 8d 41 ff 48 23 c8 75 f5 48 8b 05 26 8a b6 01 0f
0x00007ffbe701a2a3: b6 ca ba 20 00 00 00 89 4c 24 20 ff d0 48 89 44
0x00007ffbe701a2b3: 24 30 48 8b c8 48 85 c0 0f 84 e1 00 00 00 44 8b
0x00007ffbe701a2c3: b4 24 c0 00 00 00 33 c0 4d 03 f7 8b f0 4d 8b df
0x00007ffbe701a2d3: 4d 3b fe 0f 83 fb 00 00 00 0f 1f 40 00 8b f8 66
0x00007ffbe701a2e3: 41 3b 43 1e 0f 83 9c 00 00 00 8b 94 24 c8 00 00
0x00007ffbe701a2f3: 00 4d 8d 53 20 0f 1f 84 00 00 00 00 00 41 0f b7
0x00007ffbe701a303: 42 08 3b c2 75 6d 4c 8b c6 49 f7 d0 4d 23 02 4c
Stack slot to memory mapping:
stack at sp + 0 slots: 0x0 is NULL
stack at sp + 1 slots: 0x0 is NULL
stack at sp + 2 slots: 0x0 is NULL
stack at sp + 3 slots: 0x0 is NULL
stack at sp + 4 slots: 0x00007ffc36420000 ntmarta.dll
stack at sp + 5 slots: 0x000000000000000f is an unknown value
stack at sp + 6 slots: 0x0000000000000001 is an unknown value
stack at sp + 7 slots: 0x0 is NULL
--------------- P R O C E S S ---------------
Threads class SMR info:
_java_thread_list=0x000001fd22d1a110, length=12, elements={
0x000001fd0c1047b0, 0x000001fd22be8370, 0x000001fd22bf9a40, 0x000001fd22c1f810,
0x000001fd22c22130, 0x000001fd22c251f0, 0x000001fd22c2a2b0, 0x000001fd22c2f330,
0x000001fd22c32430, 0x000001fd22c35d20, 0x000001fd22cc2d00, 0x000001fd22d2f1d0
}
Java Threads: ( => current thread )
=>0x000001fd0c1047b0 JavaThread "main" [_thread_in_native, id=3036, stack(0x000000659b400000,0x000000659b500000)]
0x000001fd22be8370 JavaThread "Reference Handler" daemon [_thread_blocked, id=9372, stack(0x000000659be00000,0x000000659bf00000)]
0x000001fd22bf9a40 JavaThread "Finalizer" daemon [_thread_blocked, id=7784, stack(0x000000659bf00000,0x000000659c000000)]
0x000001fd22c1f810 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9676, stack(0x000000659c000000,0x000000659c100000)]
0x000001fd22c22130 JavaThread "Attach Listener" daemon [_thread_blocked, id=1880, stack(0x000000659c100000,0x000000659c200000)]
0x000001fd22c251f0 JavaThread "Service Thread" daemon [_thread_blocked, id=2568, stack(0x000000659c200000,0x000000659c300000)]
0x000001fd22c2a2b0 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=11668, stack(0x000000659c300000,0x000000659c400000)]
0x000001fd22c2f330 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=4800, stack(0x000000659c400000,0x000000659c500000)]
0x000001fd22c32430 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4856, stack(0x000000659c500000,0x000000659c600000)]
0x000001fd22c35d20 JavaThread "Sweeper thread" daemon [_thread_blocked, id=10860, stack(0x000000659c600000,0x000000659c700000)]
0x000001fd22cc2d00 JavaThread "Notification Thread" daemon [_thread_blocked, id=8472, stack(0x000000659c700000,0x000000659c800000)]
0x000001fd22d2f1d0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=6772, stack(0x000000659c900000,0x000000659ca00000)]
Other Threads:
0x000001fd22bd4380 VMThread "VM Thread" [stack: 0x000000659bd00000,0x000000659be00000] [id=1412]
0x000001fd22cc3220 WatcherThread [stack: 0x000000659c800000,0x000000659c900000] [id=2584]
0x000001fd0c13e1f0 GCTaskThread "GC Thread#0" [stack: 0x000000659b800000,0x000000659b900000] [id=5596]
0x000001fd0c14ff40 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000659b900000,0x000000659ba00000] [id=9100]
0x000001fd0c150880 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000659ba00000,0x000000659bb00000] [id=3352]
0x000001fd0c1cae00 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000659bb00000,0x000000659bc00000] [id=9080]
0x000001fd0c1cb530 ConcurrentGCThread "G1 Service" [stack: 0x000000659bc00000,0x000000659bd00000] [id=6292]
Threads with active compile tasks:
VM state: not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x0000000080200000, size: 2046 MB, Compressed Oops mode: 32-bit
CDS disabled.
Compressed class space mapped at: 0x0000000100000000-0x0000000140000000, reserved size: 1073741824
Narrow klass base: 0x0000000000000000, Narrow klass shift: 3, Narrow klass range: 0x140000000
GC Precious Log:
CPUs: 4 total, 4 available
Memory: 8180M
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (32-bit)
Heap Region Size: 1M
Heap Min Capacity: 8M
Heap Initial Capacity: 128M
Heap Max Capacity: 2046M
Pre-touch: Disabled
Parallel Workers: 4
Concurrent Workers: 1
Concurrent Refinement Workers: 4
Periodic GC: Disabled