Initial commit

This commit is contained in:
unknown 2023-07-01 09:33:35 -04:00
commit 2a3029f348
26 changed files with 5622 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
/target
/licenseheader.txt
/nb-configuration.xml
/nbactions.xml
/.settings
/.classpath
/.project
/.vscode

711
hs_err_pid15072.log Normal file
View File

@ -0,0 +1,711 @@
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbcc6fdf0d, pid=15072, tid=4048
#
# JRE version: OpenJDK Runtime Environment Temurin-17.0.7+7 (17.0.7+7) (build 17.0.7+7)
# Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (17.0.7+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C [lwjgl_opengl.dll+0xdf0d]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53603 -XX:+ShowCodeDetailsInExceptionMessages electrosphere.Main
Host: 12th Gen Intel(R) Core(TM) i9-12900K, 24 cores, 63G, Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
Time: Fri Jun 30 19:01:48 2023 Eastern Daylight Time elapsed time: 0.341886 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x0000027596f3d9c0): JavaThread "main" [_thread_in_native, id=4048, stack(0x000000c33f300000,0x000000c33f400000)]
Stack: [0x000000c33f300000,0x000000c33f400000], sp=0x000000c33f3fef88, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [lwjgl_opengl.dll+0xdf0d]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.GL15C.nglGenBuffers(IJ)V+0
j org.lwjgl.opengl.GL15C.glGenBuffers()I+20
j org.lwjgl.opengl.GL15.glGenBuffers()I+0
j electrosphere.render.Mesh.meshInitially(Lelectrosphere/FluidSim;)V+8
j electrosphere.Main.main([Ljava/lang/String;)V+13
v ~StubRoutines::call_stub
siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000d98
Register to memory mapping:
RIP=0x00007ffbcc6fdf0d lwjgl_opengl.dll
RAX=0x00000275d8847320 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
RBX={method} {0x00000275d9553e38} 'nglGenBuffers' '(IJ)V' in 'org/lwjgl/opengl/GL15C'
RCX=0x0000000000000001 is an unknown value
RDX=0x00000275d8897e3c points into unknown readable memory: 00 00 00 00
RSP=0x000000c33f3fef88 is pointing into the stack for thread: 0x0000027596f3d9c0
RBP=0x000000c33f3ff010 is pointing into the stack for thread: 0x0000027596f3d9c0
RSI=0x00000275d9191660 is pointing into metadata
RDI=0x00000275a5e7a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000275a5e79160, 0x00000275a5e7b380] 8736 bytes
R8 =0x0000000000000001 is an unknown value
R9 =0x00000275d8897e3c points into unknown readable memory: 00 00 00 00
R10=0x0 is NULL
R11=0x0000000442dba650 is an oop: java.lang.Class
{0x0000000442dba650} - klass: 'java/lang/Class'
- ---- fields (total size 28 words):
- private volatile transient 'classRedefinedCount' 'I' @12 0
- private volatile transient 'cachedConstructor' 'Ljava/lang/reflect/Constructor;' @40 NULL (0)
- private transient 'name' 'Ljava/lang/String;' @44 "org.lwjgl.opengl.GL15C"{0x0000000442dba740} (885b74e8)
- private transient 'module' 'Ljava/lang/Module;' @48 a 'java/lang/Module'{0x0000000443062e60} (8860c5cc)
- private final 'classLoader' 'Ljava/lang/ClassLoader;' @52 a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000443062ca0} (8860c594)
- private transient 'classData' 'Ljava/lang/Object;' @56 NULL (0)
- private transient 'packageName' 'Ljava/lang/String;' @60 "org.lwjgl.opengl"{0x00000004428d85f0} (8851b0be)
- private final 'componentType' 'Ljava/lang/Class;' @64 NULL (0)
- private volatile transient 'reflectionData' 'Ljava/lang/ref/SoftReference;' @68 NULL (0)
- private volatile transient 'genericInfo' 'Lsun/reflect/generics/repository/ClassRepository;' @72 NULL (0)
- private volatile transient 'enumConstants' '[Ljava/lang/Object;' @76 NULL (0)
- private volatile transient 'enumConstantDirectory' 'Ljava/util/Map;' @80 NULL (0)
- private volatile transient 'annotationData' 'Ljava/lang/Class$AnnotationData;' @84 NULL (0)
- private volatile transient 'annotationType' 'Lsun/reflect/annotation/AnnotationType;' @88 NULL (0)
- transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;' @92 NULL (0)
- signature: Lorg/lwjgl/opengl/GL15C;
- fake entry for mirror: 'org/lwjgl/opengl/GL15C'
- fake entry for array: NULL
- fake entry for oop_size: 28
- fake entry for static_oop_field_count: 0
- public static final 'GL_SRC1_ALPHA' 'I' @112 34185 (8589)
- public static final 'GL_ARRAY_BUFFER' 'I' @116 34962 (8892)
- public static final 'GL_ELEMENT_ARRAY_BUFFER' 'I' @120 34963 (8893)
- public static final 'GL_ARRAY_BUFFER_BINDING' 'I' @124 34964 (8894)
- public static final 'GL_ELEMENT_ARRAY_BUFFER_BINDING' 'I' @128 34965 (8895)
- public static final 'GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING' 'I' @132 34975 (889f)
- public static final 'GL_STREAM_DRAW' 'I' @136 35040 (88e0)
- public static final 'GL_STREAM_READ' 'I' @140 35041 (88e1)
- public static final 'GL_STREAM_COPY' 'I' @144 35042 (88e2)
- public static final 'GL_STATIC_DRAW' 'I' @148 35044 (88e4)
- public static final 'GL_STATIC_READ' 'I' @152 35045 (88e5)
- public static final 'GL_STATIC_COPY' 'I' @156 35046 (88e6)
- public static final 'GL_DYNAMIC_DRAW' 'I' @160 35048 (88e8)
- public static final 'GL_DYNAMIC_READ' 'I' @164 35049 (88e9)
- public static final 'GL_DYNAMIC_COPY' 'I' @168 35050 (88ea)
- public static final 'GL_READ_ONLY' 'I' @172 35000 (88b8)
- public static final 'GL_WRITE_ONLY' 'I' @176 35001 (88b9)
- public static final 'GL_READ_WRITE' 'I' @180 35002 (88ba)
- public static final 'GL_BUFFER_SIZE' 'I' @184 34660 (8764)
- public static final 'GL_BUFFER_USAGE' 'I' @188 34661 (8765)
- public static final 'GL_BUFFER_ACCESS' 'I' @192 35003 (88bb)
- public static final 'GL_BUFFER_MAPPED' 'I' @196 35004 (88bc)
- public static final 'GL_BUFFER_MAP_POINTER' 'I' @200 35005 (88bd)
- public static final 'GL_SAMPLES_PASSED' 'I' @204 35092 (8914)
- public static final 'GL_QUERY_COUNTER_BITS' 'I' @208 34916 (8864)
- public static final 'GL_CURRENT_QUERY' 'I' @212 34917 (8865)
- public static final 'GL_QUERY_RESULT' 'I' @216 34918 (8866)
- public static final 'GL_QUERY_RESULT_AVAILABLE' 'I' @220 34919 (8867)
R12=0x0 is NULL
R13={method} {0x00000275d9553e38} 'nglGenBuffers' '(IJ)V' in 'org/lwjgl/opengl/GL15C'
R14=0x000000c33f3ff040 is pointing into the stack for thread: 0x0000027596f3d9c0
R15=0x0000027596f3d9c0 is a thread
Registers:
RAX=0x00000275d8847320, RBX=0x00000275d9553e30, RCX=0x0000000000000001, RDX=0x00000275d8897e3c
RSP=0x000000c33f3fef88, RBP=0x000000c33f3ff010, RSI=0x00000275d9191660, RDI=0x00000275a5e7a218
R8 =0x0000000000000001, R9 =0x00000275d8897e3c, R10=0x0000000000000000, R11=0x0000000442dba650
R12=0x0000000000000000, R13=0x00000275d9553e30, R14=0x000000c33f3ff040, R15=0x0000027596f3d9c0
RIP=0x00007ffbcc6fdf0d, EFLAGS=0x0000000000010202
Top of Stack: (sp=0x000000c33f3fef88)
0x000000c33f3fef88: 00000275a5e81366 00000275a5e7a218
0x000000c33f3fef98: 00000275a5e80cd2 00000275d9553e30
0x000000c33f3fefa8: 00000275d9191660 000000c33f3ff028
0x000000c33f3fefb8: 00000275a5e7a218 00000275a5e80c76
0x000000c33f3fefc8: 000000c33f3fefc8 00000275d9553e30
0x000000c33f3fefd8: 000000c33f3ff040 00000275d9570ce0
0x000000c33f3fefe8: 0000000000000000 0000000442dba650
0x000000c33f3feff8: 00000275d9553e30 0000000000000000
0x000000c33f3ff008: 000000c33f3ff030 000000c33f3ff090
0x000000c33f3ff018: 00000275a5e79efa 0000000442dba650
0x000000c33f3ff028: 00000275a5e7d4f8 00000275d8897e3c
0x000000c33f3ff038: 0000000000000000 0000000000000001
0x000000c33f3ff048: 000000c33f3ff048 00000275d9553fa4
0x000000c33f3ff058: 000000c33f3ff0c0 00000275d9570ce0
0x000000c33f3ff068: 0000000000000000 0000000442dba650
0x000000c33f3ff078: 00000275d9554010 000000c33f3ff030
Instructions: (pc=0x00007ffbcc6fdf0d)
0x00007ffbcc6fde0d: cc cc cc 48 8b 01 0f 28 cb 41 8b c8 48 8b 50 18
0x00007ffbcc6fde1d: 48 ff a2 58 0c 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fde2d: cc cc cc 48 8b 01 41 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fde3d: 49 ff a2 60 0c 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fde4d: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fde5d: 49 ff a2 68 0c 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fde6d: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fde7d: 49 ff a2 70 0c 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fde8d: cc cc cc 40 53 48 8b 01 41 8b d8 44 8b 44 24 30
0x00007ffbcc6fde9d: 41 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6fdead: ff a2 00 0d 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdebd: cc cc cc 48 8b 01 41 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fdecd: 49 ff a2 88 0d 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdedd: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fdeed: 49 ff a2 90 0d 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdefd: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6fdf0d: 49 ff a2 98 0d 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdf1d: cc cc cc 48 8b 01 48 8b 48 18 48 8b 81 a0 0d 00
0x00007ffbcc6fdf2d: 00 41 8b c8 48 ff e0 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdf3d: cc cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6fdf4d: 49 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6fdf5d: ff a2 a8 0d 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdf6d: cc cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6fdf7d: 49 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6fdf8d: ff a2 b0 0d 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdf9d: cc cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6fdfad: 49 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6fdfbd: ff a2 b8 0d 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6fdfcd: cc cc cc 48 8b 01 41 8b d1 48 8b 48 18 48 8b 81
0x00007ffbcc6fdfdd: c0 0d 00 00 41 8b c8 48 ff e0 cc cc cc cc cc cc
0x00007ffbcc6fdfed: cc cc cc 48 8b 01 48 8b 48 18 48 8b 81 c8 0d 00
0x00007ffbcc6fdffd: 00 41 8b c8 48 ff e0 cc cc cc cc cc cc cc cc cc
Stack slot to memory mapping:
stack at sp + 0 slots: 0x00000275a5e81366 is at code_begin+1958 in an Interpreter codelet
method entry point (kind = native) [0x00000275a5e80bc0, 0x00000275a5e81ce0] 4384 bytes
stack at sp + 1 slots: 0x00000275a5e7a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000275a5e79160, 0x00000275a5e7b380] 8736 bytes
stack at sp + 2 slots: 0x00000275a5e80cd2 is at code_begin+274 in an Interpreter codelet
method entry point (kind = native) [0x00000275a5e80bc0, 0x00000275a5e81ce0] 4384 bytes
stack at sp + 3 slots: {method} {0x00000275d9553e38} 'nglGenBuffers' '(IJ)V' in 'org/lwjgl/opengl/GL15C'
stack at sp + 4 slots: 0x00000275d9191660 is pointing into metadata
stack at sp + 5 slots: 0x000000c33f3ff028 is pointing into the stack for thread: 0x0000027596f3d9c0
stack at sp + 6 slots: 0x00000275a5e7a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000275a5e79160, 0x00000275a5e7b380] 8736 bytes
stack at sp + 7 slots: 0x00000275a5e80c76 is at code_begin+182 in an Interpreter codelet
method entry point (kind = native) [0x00000275a5e80bc0, 0x00000275a5e81ce0] 4384 bytes
--------------- P R O C E S S ---------------
Threads class SMR info:
_java_thread_list=0x00000275d8557630, length=19, elements={
0x0000027596f3d9c0, 0x00000275d7dd4140, 0x00000275d7dd48d0, 0x00000275d7dea3a0,
0x00000275d7deb880, 0x00000275d7decd60, 0x00000275d7ded840, 0x00000275d7dfae80,
0x00000275d7e01700, 0x00000275d7e2b650, 0x00000275d7f4a750, 0x00000275d7f4ec80,
0x00000275d7f4f240, 0x00000275d7fbb710, 0x00000275d7fbd5c0, 0x00000275d7fbdbc0,
0x00000275d7fc1e00, 0x00000275d7fcd7e0, 0x00000275d86de870
}
Java Threads: ( => current thread )
=>0x0000027596f3d9c0 JavaThread "main" [_thread_in_native, id=4048, stack(0x000000c33f300000,0x000000c33f400000)]
0x00000275d7dd4140 JavaThread "Reference Handler" daemon [_thread_blocked, id=18464, stack(0x000000c33fa00000,0x000000c33fb00000)]
0x00000275d7dd48d0 JavaThread "Finalizer" daemon [_thread_blocked, id=21328, stack(0x000000c33fb00000,0x000000c33fc00000)]
0x00000275d7dea3a0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3624, stack(0x000000c33fc00000,0x000000c33fd00000)]
0x00000275d7deb880 JavaThread "Attach Listener" daemon [_thread_blocked, id=20408, stack(0x000000c33fd00000,0x000000c33fe00000)]
0x00000275d7decd60 JavaThread "Service Thread" daemon [_thread_blocked, id=22260, stack(0x000000c33fe00000,0x000000c33ff00000)]
0x00000275d7ded840 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=21420, stack(0x000000c33ff00000,0x000000c340000000)]
0x00000275d7dfae80 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=21396, stack(0x000000c340000000,0x000000c340100000)]
0x00000275d7e01700 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=9936, stack(0x000000c340100000,0x000000c340200000)]
0x00000275d7e2b650 JavaThread "Sweeper thread" daemon [_thread_blocked, id=9464, stack(0x000000c340200000,0x000000c340300000)]
0x00000275d7f4a750 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=19804, stack(0x000000c340300000,0x000000c340400000)]
0x00000275d7f4ec80 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=2448, stack(0x000000c340400000,0x000000c340500000)]
0x00000275d7f4f240 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=3124, stack(0x000000c340500000,0x000000c340600000)]
0x00000275d7fbb710 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=19728, stack(0x000000c340600000,0x000000c340700000)]
0x00000275d7fbd5c0 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=20128, stack(0x000000c340700000,0x000000c340800000)]
0x00000275d7fbdbc0 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=20604, stack(0x000000c340800000,0x000000c340900000)]
0x00000275d7fc1e00 JavaThread "Notification Thread" daemon [_thread_blocked, id=22420, stack(0x000000c340900000,0x000000c340a00000)]
0x00000275d7fcd7e0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=2808, stack(0x000000c340b00000,0x000000c340c00000)]
0x00000275d86de870 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=1816, stack(0x000000c340c00000,0x000000c340d00000)]
Other Threads:
0x00000275d7dced20 VMThread "VM Thread" [stack: 0x000000c33f900000,0x000000c33fa00000] [id=21104]
0x00000275d47b0530 WatcherThread [stack: 0x000000c340a00000,0x000000c340b00000] [id=8020]
0x0000027596fed140 GCTaskThread "GC Thread#0" [stack: 0x000000c33f400000,0x000000c33f500000] [id=21032]
0x0000027596f59b50 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000c33f500000,0x000000c33f600000] [id=20052]
0x0000027596ffe4e0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000c33f600000,0x000000c33f700000] [id=8104]
0x00000275d490b040 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000c33f700000,0x000000c33f800000] [id=8180]
0x00000275d49108b0 ConcurrentGCThread "G1 Service" [stack: 0x000000c33f800000,0x000000c33f900000] [id=19756]
Threads with active compile tasks:
VM state: not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x0000000403800000, size: 16328 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
CDS archive(s) mapped at: [0x0000000800000000-0x0000000800bc0000-0x0000000800bc0000), size 12320768, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0.
Compressed class space mapped at: 0x0000000801000000-0x0000000841000000, reserved size: 1073741824
Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
GC Precious Log:
CPUs: 24 total, 24 available
Memory: 65306M
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (Zero based)
Heap Region Size: 8M
Heap Min Capacity: 8M
Heap Initial Capacity: 1G
Heap Max Capacity: 16328M
Pre-touch: Disabled
Parallel Workers: 18
Concurrent Workers: 5
Concurrent Refinement Workers: 18
Periodic GC: Disabled
Heap:
garbage-first heap total 1048576K, used 8192K [0x0000000403800000, 0x0000000800000000)
region size 8192K, 2 young (16384K), 0 survivors (0K)
Metaspace used 3319K, committed 3520K, reserved 1114112K
class space used 220K, committed 320K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
| 0|0x0000000403800000, 0x0000000403800000, 0x0000000404000000| 0%| F| |TAMS 0x0000000403800000, 0x0000000403800000| Untracked
| 1|0x0000000404000000, 0x0000000404000000, 0x0000000404800000| 0%| F| |TAMS 0x0000000404000000, 0x0000000404000000| Untracked
| 2|0x0000000404800000, 0x0000000404800000, 0x0000000405000000| 0%| F| |TAMS 0x0000000404800000, 0x0000000404800000| Untracked
| 3|0x0000000405000000, 0x0000000405000000, 0x0000000405800000| 0%| F| |TAMS 0x0000000405000000, 0x0000000405000000| Untracked
| 4|0x0000000405800000, 0x0000000405800000, 0x0000000406000000| 0%| F| |TAMS 0x0000000405800000, 0x0000000405800000| Untracked
| 5|0x0000000406000000, 0x0000000406000000, 0x0000000406800000| 0%| F| |TAMS 0x0000000406000000, 0x0000000406000000| Untracked
| 6|0x0000000406800000, 0x0000000406800000, 0x0000000407000000| 0%| F| |TAMS 0x0000000406800000, 0x0000000406800000| Untracked
| 7|0x0000000407000000, 0x0000000407000000, 0x0000000407800000| 0%| F| |TAMS 0x0000000407000000, 0x0000000407000000| Untracked
| 8|0x0000000407800000, 0x0000000407800000, 0x0000000408000000| 0%| F| |TAMS 0x0000000407800000, 0x0000000407800000| Untracked
| 9|0x0000000408000000, 0x0000000408000000, 0x0000000408800000| 0%| F| |TAMS 0x0000000408000000, 0x0000000408000000| Untracked
| 10|0x0000000408800000, 0x0000000408800000, 0x0000000409000000| 0%| F| |TAMS 0x0000000408800000, 0x0000000408800000| Untracked
| 11|0x0000000409000000, 0x0000000409000000, 0x0000000409800000| 0%| F| |TAMS 0x0000000409000000, 0x0000000409000000| Untracked
| 12|0x0000000409800000, 0x0000000409800000, 0x000000040a000000| 0%| F| |TAMS 0x0000000409800000, 0x0000000409800000| Untracked
| 13|0x000000040a000000, 0x000000040a000000, 0x000000040a800000| 0%| F| |TAMS 0x000000040a000000, 0x000000040a000000| Untracked
| 14|0x000000040a800000, 0x000000040a800000, 0x000000040b000000| 0%| F| |TAMS 0x000000040a800000, 0x000000040a800000| Untracked
| 15|0x000000040b000000, 0x000000040b000000, 0x000000040b800000| 0%| F| |TAMS 0x000000040b000000, 0x000000040b000000| Untracked
| 16|0x000000040b800000, 0x000000040b800000, 0x000000040c000000| 0%| F| |TAMS 0x000000040b800000, 0x000000040b800000| Untracked
| 17|0x000000040c000000, 0x000000040c000000, 0x000000040c800000| 0%| F| |TAMS 0x000000040c000000, 0x000000040c000000| Untracked
| 18|0x000000040c800000, 0x000000040c800000, 0x000000040d000000| 0%| F| |TAMS 0x000000040c800000, 0x000000040c800000| Untracked
| 19|0x000000040d000000, 0x000000040d000000, 0x000000040d800000| 0%| F| |TAMS 0x000000040d000000, 0x000000040d000000| Untracked
| 20|0x000000040d800000, 0x000000040d800000, 0x000000040e000000| 0%| F| |TAMS 0x000000040d800000, 0x000000040d800000| Untracked
| 21|0x000000040e000000, 0x000000040e000000, 0x000000040e800000| 0%| F| |TAMS 0x000000040e000000, 0x000000040e000000| Untracked
| 22|0x000000040e800000, 0x000000040e800000, 0x000000040f000000| 0%| F| |TAMS 0x000000040e800000, 0x000000040e800000| Untracked
| 23|0x000000040f000000, 0x000000040f000000, 0x000000040f800000| 0%| F| |TAMS 0x000000040f000000, 0x000000040f000000| Untracked
| 24|0x000000040f800000, 0x000000040f800000, 0x0000000410000000| 0%| F| |TAMS 0x000000040f800000, 0x000000040f800000| Untracked
| 25|0x0000000410000000, 0x0000000410000000, 0x0000000410800000| 0%| F| |TAMS 0x0000000410000000, 0x0000000410000000| Untracked
| 26|0x0000000410800000, 0x0000000410800000, 0x0000000411000000| 0%| F| |TAMS 0x0000000410800000, 0x0000000410800000| Untracked
| 27|0x0000000411000000, 0x0000000411000000, 0x0000000411800000| 0%| F| |TAMS 0x0000000411000000, 0x0000000411000000| Untracked
| 28|0x0000000411800000, 0x0000000411800000, 0x0000000412000000| 0%| F| |TAMS 0x0000000411800000, 0x0000000411800000| Untracked
| 29|0x0000000412000000, 0x0000000412000000, 0x0000000412800000| 0%| F| |TAMS 0x0000000412000000, 0x0000000412000000| Untracked
| 30|0x0000000412800000, 0x0000000412800000, 0x0000000413000000| 0%| F| |TAMS 0x0000000412800000, 0x0000000412800000| Untracked
| 31|0x0000000413000000, 0x0000000413000000, 0x0000000413800000| 0%| F| |TAMS 0x0000000413000000, 0x0000000413000000| Untracked
| 32|0x0000000413800000, 0x0000000413800000, 0x0000000414000000| 0%| F| |TAMS 0x0000000413800000, 0x0000000413800000| Untracked
| 33|0x0000000414000000, 0x0000000414000000, 0x0000000414800000| 0%| F| |TAMS 0x0000000414000000, 0x0000000414000000| Untracked
| 34|0x0000000414800000, 0x0000000414800000, 0x0000000415000000| 0%| F| |TAMS 0x0000000414800000, 0x0000000414800000| Untracked
| 35|0x0000000415000000, 0x0000000415000000, 0x0000000415800000| 0%| F| |TAMS 0x0000000415000000, 0x0000000415000000| Untracked
| 36|0x0000000415800000, 0x0000000415800000, 0x0000000416000000| 0%| F| |TAMS 0x0000000415800000, 0x0000000415800000| Untracked
| 37|0x0000000416000000, 0x0000000416000000, 0x0000000416800000| 0%| F| |TAMS 0x0000000416000000, 0x0000000416000000| Untracked
| 38|0x0000000416800000, 0x0000000416800000, 0x0000000417000000| 0%| F| |TAMS 0x0000000416800000, 0x0000000416800000| Untracked
| 39|0x0000000417000000, 0x0000000417000000, 0x0000000417800000| 0%| F| |TAMS 0x0000000417000000, 0x0000000417000000| Untracked
| 40|0x0000000417800000, 0x0000000417800000, 0x0000000418000000| 0%| F| |TAMS 0x0000000417800000, 0x0000000417800000| Untracked
| 41|0x0000000418000000, 0x0000000418000000, 0x0000000418800000| 0%| F| |TAMS 0x0000000418000000, 0x0000000418000000| Untracked
| 42|0x0000000418800000, 0x0000000418800000, 0x0000000419000000| 0%| F| |TAMS 0x0000000418800000, 0x0000000418800000| Untracked
| 43|0x0000000419000000, 0x0000000419000000, 0x0000000419800000| 0%| F| |TAMS 0x0000000419000000, 0x0000000419000000| Untracked
| 44|0x0000000419800000, 0x0000000419800000, 0x000000041a000000| 0%| F| |TAMS 0x0000000419800000, 0x0000000419800000| Untracked
| 45|0x000000041a000000, 0x000000041a000000, 0x000000041a800000| 0%| F| |TAMS 0x000000041a000000, 0x000000041a000000| Untracked
| 46|0x000000041a800000, 0x000000041a800000, 0x000000041b000000| 0%| F| |TAMS 0x000000041a800000, 0x000000041a800000| Untracked
| 47|0x000000041b000000, 0x000000041b000000, 0x000000041b800000| 0%| F| |TAMS 0x000000041b000000, 0x000000041b000000| Untracked
| 48|0x000000041b800000, 0x000000041b800000, 0x000000041c000000| 0%| F| |TAMS 0x000000041b800000, 0x000000041b800000| Untracked
| 49|0x000000041c000000, 0x000000041c000000, 0x000000041c800000| 0%| F| |TAMS 0x000000041c000000, 0x000000041c000000| Untracked
| 50|0x000000041c800000, 0x000000041c800000, 0x000000041d000000| 0%| F| |TAMS 0x000000041c800000, 0x000000041c800000| Untracked
| 51|0x000000041d000000, 0x000000041d000000, 0x000000041d800000| 0%| F| |TAMS 0x000000041d000000, 0x000000041d000000| Untracked
| 52|0x000000041d800000, 0x000000041d800000, 0x000000041e000000| 0%| F| |TAMS 0x000000041d800000, 0x000000041d800000| Untracked
| 53|0x000000041e000000, 0x000000041e000000, 0x000000041e800000| 0%| F| |TAMS 0x000000041e000000, 0x000000041e000000| Untracked
| 54|0x000000041e800000, 0x000000041e800000, 0x000000041f000000| 0%| F| |TAMS 0x000000041e800000, 0x000000041e800000| Untracked
| 55|0x000000041f000000, 0x000000041f000000, 0x000000041f800000| 0%| F| |TAMS 0x000000041f000000, 0x000000041f000000| Untracked
| 56|0x000000041f800000, 0x000000041f800000, 0x0000000420000000| 0%| F| |TAMS 0x000000041f800000, 0x000000041f800000| Untracked
| 57|0x0000000420000000, 0x0000000420000000, 0x0000000420800000| 0%| F| |TAMS 0x0000000420000000, 0x0000000420000000| Untracked
| 58|0x0000000420800000, 0x0000000420800000, 0x0000000421000000| 0%| F| |TAMS 0x0000000420800000, 0x0000000420800000| Untracked
| 59|0x0000000421000000, 0x0000000421000000, 0x0000000421800000| 0%| F| |TAMS 0x0000000421000000, 0x0000000421000000| Untracked
| 60|0x0000000421800000, 0x0000000421800000, 0x0000000422000000| 0%| F| |TAMS 0x0000000421800000, 0x0000000421800000| Untracked
| 61|0x0000000422000000, 0x0000000422000000, 0x0000000422800000| 0%| F| |TAMS 0x0000000422000000, 0x0000000422000000| Untracked
| 62|0x0000000422800000, 0x0000000422800000, 0x0000000423000000| 0%| F| |TAMS 0x0000000422800000, 0x0000000422800000| Untracked
| 63|0x0000000423000000, 0x0000000423000000, 0x0000000423800000| 0%| F| |TAMS 0x0000000423000000, 0x0000000423000000| Untracked
| 64|0x0000000423800000, 0x0000000423800000, 0x0000000424000000| 0%| F| |TAMS 0x0000000423800000, 0x0000000423800000| Untracked
| 65|0x0000000424000000, 0x0000000424000000, 0x0000000424800000| 0%| F| |TAMS 0x0000000424000000, 0x0000000424000000| Untracked
| 66|0x0000000424800000, 0x0000000424800000, 0x0000000425000000| 0%| F| |TAMS 0x0000000424800000, 0x0000000424800000| Untracked
| 67|0x0000000425000000, 0x0000000425000000, 0x0000000425800000| 0%| F| |TAMS 0x0000000425000000, 0x0000000425000000| Untracked
| 68|0x0000000425800000, 0x0000000425800000, 0x0000000426000000| 0%| F| |TAMS 0x0000000425800000, 0x0000000425800000| Untracked
| 69|0x0000000426000000, 0x0000000426000000, 0x0000000426800000| 0%| F| |TAMS 0x0000000426000000, 0x0000000426000000| Untracked
| 70|0x0000000426800000, 0x0000000426800000, 0x0000000427000000| 0%| F| |TAMS 0x0000000426800000, 0x0000000426800000| Untracked
| 71|0x0000000427000000, 0x0000000427000000, 0x0000000427800000| 0%| F| |TAMS 0x0000000427000000, 0x0000000427000000| Untracked
| 72|0x0000000427800000, 0x0000000427800000, 0x0000000428000000| 0%| F| |TAMS 0x0000000427800000, 0x0000000427800000| Untracked
| 73|0x0000000428000000, 0x0000000428000000, 0x0000000428800000| 0%| F| |TAMS 0x0000000428000000, 0x0000000428000000| Untracked
| 74|0x0000000428800000, 0x0000000428800000, 0x0000000429000000| 0%| F| |TAMS 0x0000000428800000, 0x0000000428800000| Untracked
| 75|0x0000000429000000, 0x0000000429000000, 0x0000000429800000| 0%| F| |TAMS 0x0000000429000000, 0x0000000429000000| Untracked
| 76|0x0000000429800000, 0x0000000429800000, 0x000000042a000000| 0%| F| |TAMS 0x0000000429800000, 0x0000000429800000| Untracked
| 77|0x000000042a000000, 0x000000042a000000, 0x000000042a800000| 0%| F| |TAMS 0x000000042a000000, 0x000000042a000000| Untracked
| 78|0x000000042a800000, 0x000000042a800000, 0x000000042b000000| 0%| F| |TAMS 0x000000042a800000, 0x000000042a800000| Untracked
| 79|0x000000042b000000, 0x000000042b000000, 0x000000042b800000| 0%| F| |TAMS 0x000000042b000000, 0x000000042b000000| Untracked
| 80|0x000000042b800000, 0x000000042b800000, 0x000000042c000000| 0%| F| |TAMS 0x000000042b800000, 0x000000042b800000| Untracked
| 81|0x000000042c000000, 0x000000042c000000, 0x000000042c800000| 0%| F| |TAMS 0x000000042c000000, 0x000000042c000000| Untracked
| 82|0x000000042c800000, 0x000000042c800000, 0x000000042d000000| 0%| F| |TAMS 0x000000042c800000, 0x000000042c800000| Untracked
| 83|0x000000042d000000, 0x000000042d000000, 0x000000042d800000| 0%| F| |TAMS 0x000000042d000000, 0x000000042d000000| Untracked
| 84|0x000000042d800000, 0x000000042d800000, 0x000000042e000000| 0%| F| |TAMS 0x000000042d800000, 0x000000042d800000| Untracked
| 85|0x000000042e000000, 0x000000042e000000, 0x000000042e800000| 0%| F| |TAMS 0x000000042e000000, 0x000000042e000000| Untracked
| 86|0x000000042e800000, 0x000000042e800000, 0x000000042f000000| 0%| F| |TAMS 0x000000042e800000, 0x000000042e800000| Untracked
| 87|0x000000042f000000, 0x000000042f000000, 0x000000042f800000| 0%| F| |TAMS 0x000000042f000000, 0x000000042f000000| Untracked
| 88|0x000000042f800000, 0x000000042f800000, 0x0000000430000000| 0%| F| |TAMS 0x000000042f800000, 0x000000042f800000| Untracked
| 89|0x0000000430000000, 0x0000000430000000, 0x0000000430800000| 0%| F| |TAMS 0x0000000430000000, 0x0000000430000000| Untracked
| 90|0x0000000430800000, 0x0000000430800000, 0x0000000431000000| 0%| F| |TAMS 0x0000000430800000, 0x0000000430800000| Untracked
| 91|0x0000000431000000, 0x0000000431000000, 0x0000000431800000| 0%| F| |TAMS 0x0000000431000000, 0x0000000431000000| Untracked
| 92|0x0000000431800000, 0x0000000431800000, 0x0000000432000000| 0%| F| |TAMS 0x0000000431800000, 0x0000000431800000| Untracked
| 93|0x0000000432000000, 0x0000000432000000, 0x0000000432800000| 0%| F| |TAMS 0x0000000432000000, 0x0000000432000000| Untracked
| 94|0x0000000432800000, 0x0000000432800000, 0x0000000433000000| 0%| F| |TAMS 0x0000000432800000, 0x0000000432800000| Untracked
| 95|0x0000000433000000, 0x0000000433000000, 0x0000000433800000| 0%| F| |TAMS 0x0000000433000000, 0x0000000433000000| Untracked
| 96|0x0000000433800000, 0x0000000433800000, 0x0000000434000000| 0%| F| |TAMS 0x0000000433800000, 0x0000000433800000| Untracked
| 97|0x0000000434000000, 0x0000000434000000, 0x0000000434800000| 0%| F| |TAMS 0x0000000434000000, 0x0000000434000000| Untracked
| 98|0x0000000434800000, 0x0000000434800000, 0x0000000435000000| 0%| F| |TAMS 0x0000000434800000, 0x0000000434800000| Untracked
| 99|0x0000000435000000, 0x0000000435000000, 0x0000000435800000| 0%| F| |TAMS 0x0000000435000000, 0x0000000435000000| Untracked
| 100|0x0000000435800000, 0x0000000435800000, 0x0000000436000000| 0%| F| |TAMS 0x0000000435800000, 0x0000000435800000| Untracked
| 101|0x0000000436000000, 0x0000000436000000, 0x0000000436800000| 0%| F| |TAMS 0x0000000436000000, 0x0000000436000000| Untracked
| 102|0x0000000436800000, 0x0000000436800000, 0x0000000437000000| 0%| F| |TAMS 0x0000000436800000, 0x0000000436800000| Untracked
| 103|0x0000000437000000, 0x0000000437000000, 0x0000000437800000| 0%| F| |TAMS 0x0000000437000000, 0x0000000437000000| Untracked
| 104|0x0000000437800000, 0x0000000437800000, 0x0000000438000000| 0%| F| |TAMS 0x0000000437800000, 0x0000000437800000| Untracked
| 105|0x0000000438000000, 0x0000000438000000, 0x0000000438800000| 0%| F| |TAMS 0x0000000438000000, 0x0000000438000000| Untracked
| 106|0x0000000438800000, 0x0000000438800000, 0x0000000439000000| 0%| F| |TAMS 0x0000000438800000, 0x0000000438800000| Untracked
| 107|0x0000000439000000, 0x0000000439000000, 0x0000000439800000| 0%| F| |TAMS 0x0000000439000000, 0x0000000439000000| Untracked
| 108|0x0000000439800000, 0x0000000439800000, 0x000000043a000000| 0%| F| |TAMS 0x0000000439800000, 0x0000000439800000| Untracked
| 109|0x000000043a000000, 0x000000043a000000, 0x000000043a800000| 0%| F| |TAMS 0x000000043a000000, 0x000000043a000000| Untracked
| 110|0x000000043a800000, 0x000000043a800000, 0x000000043b000000| 0%| F| |TAMS 0x000000043a800000, 0x000000043a800000| Untracked
| 111|0x000000043b000000, 0x000000043b000000, 0x000000043b800000| 0%| F| |TAMS 0x000000043b000000, 0x000000043b000000| Untracked
| 112|0x000000043b800000, 0x000000043b800000, 0x000000043c000000| 0%| F| |TAMS 0x000000043b800000, 0x000000043b800000| Untracked
| 113|0x000000043c000000, 0x000000043c000000, 0x000000043c800000| 0%| F| |TAMS 0x000000043c000000, 0x000000043c000000| Untracked
| 114|0x000000043c800000, 0x000000043c800000, 0x000000043d000000| 0%| F| |TAMS 0x000000043c800000, 0x000000043c800000| Untracked
| 115|0x000000043d000000, 0x000000043d000000, 0x000000043d800000| 0%| F| |TAMS 0x000000043d000000, 0x000000043d000000| Untracked
| 116|0x000000043d800000, 0x000000043d800000, 0x000000043e000000| 0%| F| |TAMS 0x000000043d800000, 0x000000043d800000| Untracked
| 117|0x000000043e000000, 0x000000043e000000, 0x000000043e800000| 0%| F| |TAMS 0x000000043e000000, 0x000000043e000000| Untracked
| 118|0x000000043e800000, 0x000000043e800000, 0x000000043f000000| 0%| F| |TAMS 0x000000043e800000, 0x000000043e800000| Untracked
| 119|0x000000043f000000, 0x000000043f000000, 0x000000043f800000| 0%| F| |TAMS 0x000000043f000000, 0x000000043f000000| Untracked
| 120|0x000000043f800000, 0x000000043f800000, 0x0000000440000000| 0%| F| |TAMS 0x000000043f800000, 0x000000043f800000| Untracked
| 121|0x0000000440000000, 0x0000000440000000, 0x0000000440800000| 0%| F| |TAMS 0x0000000440000000, 0x0000000440000000| Untracked
| 122|0x0000000440800000, 0x0000000440800000, 0x0000000441000000| 0%| F| |TAMS 0x0000000440800000, 0x0000000440800000| Untracked
| 123|0x0000000441000000, 0x0000000441000000, 0x0000000441800000| 0%| F| |TAMS 0x0000000441000000, 0x0000000441000000| Untracked
| 124|0x0000000441800000, 0x0000000441800000, 0x0000000442000000| 0%| F| |TAMS 0x0000000441800000, 0x0000000441800000| Untracked
| 125|0x0000000442000000, 0x0000000442000000, 0x0000000442800000| 0%| F| |TAMS 0x0000000442000000, 0x0000000442000000| Untracked
| 126|0x0000000442800000, 0x0000000442dd57f8, 0x0000000443000000| 72%| E| |TAMS 0x0000000442800000, 0x0000000442800000| Complete
| 127|0x0000000443000000, 0x0000000443800000, 0x0000000443800000|100%| E|CS|TAMS 0x0000000443000000, 0x0000000443000000| Complete
Card table byte_map: [0x00000275b07f0000,0x00000275b27e0000] _byte_map_base: 0x00000275ae7d4000
Marking Bits (Prev, Next): (CMBitMap*) 0x0000027596fed560, (CMBitMap*) 0x0000027596fed5a0
Prev Bits: [0x00000275b47d0000, 0x00000275c46f0000)
Next Bits: [0x00000275c46f0000, 0x00000275d4610000)
Polling page: 0x0000027594c40000
Metaspace:
Usage:
Non-class: 3.03 MB used.
Class: 220.98 KB used.
Both: 3.24 MB used.
Virtual space:
Non-class space: 64.00 MB reserved, 3.12 MB ( 5%) committed, 1 nodes.
Class space: 1.00 GB reserved, 320.00 KB ( <1%) committed, 1 nodes.
Both: 1.06 GB reserved, 3.44 MB ( <1%) committed.
Chunk freelists:
Non-Class: 10.53 MB
Class: 15.66 MB
Both: 26.19 MB
MaxMetaspaceSize: unlimited
CompressedClassSpaceSize: 1.00 GB
Initial GC threshold: 21.00 MB
Current GC threshold: 21.00 MB
CDS: on
MetaspaceReclaimPolicy: balanced
- commit_granule_bytes: 65536.
- commit_granule_words: 8192.
- virtual_space_node_default_size: 8388608.
- enlarge_chunks_in_place: 1.
- new_chunks_are_fully_committed: 0.
- uncommit_free_chunks: 1.
- use_allocation_guard: 0.
- handle_deallocations: 1.
Internal statistics:
num_allocs_failed_limit: 0.
num_arena_births: 64.
num_arena_deaths: 0.
num_vsnodes_births: 2.
num_vsnodes_deaths: 0.
num_space_committed: 55.
num_space_uncommitted: 0.
num_chunks_returned_to_freelist: 0.
num_chunks_taken_from_freelist: 138.
num_chunk_merges: 0.
num_chunk_splits: 88.
num_chunks_enlarged: 60.
num_inconsistent_stats: 0.
CodeHeap 'non-profiled nmethods': size=119168Kb used=180Kb max_used=180Kb free=118987Kb
bounds [0x00000275a65c0000, 0x00000275a6830000, 0x00000275ada20000]
CodeHeap 'profiled nmethods': size=119104Kb used=1063Kb max_used=1063Kb free=118040Kb
bounds [0x000002759ea20000, 0x000002759ec90000, 0x00000275a5e70000]
CodeHeap 'non-nmethods': size=7488Kb used=2947Kb max_used=2960Kb free=4540Kb
bounds [0x00000275a5e70000, 0x00000275a6160000, 0x00000275a65c0000]
total_blobs=1115 nmethods=622 adapters=403
compilation: enabled
stopped_count=0, restarted_count=0
full_count=0
Compilation events (20 events):
Event: 0.337 Thread 0x00000275d7f4ec80 613 ! 3 jdk.internal.loader.BuiltinClassLoader::loadClassOrNull (143 bytes)
Event: 0.337 Thread 0x00000275d7f4f240 nmethod 610 0x000002759eb19a90 code [0x000002759eb19c40, 0x000002759eb19e38]
Event: 0.337 Thread 0x00000275d7f4f240 614 3 jdk.internal.loader.BuiltinClassLoader::loadClassOrNull (7 bytes)
Event: 0.337 Thread 0x00000275d7f4f240 nmethod 614 0x000002759eb19f10 code [0x000002759eb1a0c0, 0x000002759eb1a2a8]
Event: 0.337 Thread 0x00000275d7e01700 nmethod 609 0x000002759eb1a390 code [0x000002759eb1a540, 0x000002759eb1a868]
Event: 0.337 Thread 0x00000275d7f4f240 615 3 java.lang.String::indexOf (18 bytes)
Event: 0.337 Thread 0x00000275d7e01700 616 3 java.lang.String::indexOf (113 bytes)
Event: 0.337 Thread 0x00000275d7f4f240 nmethod 615 0x000002759eb1aa10 code [0x000002759eb1abe0, 0x000002759eb1aec8]
Event: 0.337 Thread 0x00000275d7f4a750 nmethod 612 0x000002759eb1b010 code [0x000002759eb1b220, 0x000002759eb1b8b8]
Event: 0.337 Thread 0x00000275d7e01700 nmethod 616 0x000002759eb1bb10 code [0x000002759eb1bd40, 0x000002759eb1c3c8]
Event: 0.338 Thread 0x00000275d7e01700 617 3 java.net.URL::<init> (8 bytes)
Event: 0.338 Thread 0x00000275d7f4a750 618 ! 3 java.net.URL::<init> (543 bytes)
Event: 0.338 Thread 0x00000275d7f4f240 619 3 java.net.URLStreamHandler::setURL (73 bytes)
Event: 0.338 Thread 0x00000275d7f4ec80 nmethod 613 0x000002759eb1c590 code [0x000002759eb1c8c0, 0x000002759eb1de78]
Event: 0.338 Thread 0x00000275d7f4ec80 620 ! 3 java.net.URL::set (114 bytes)
Event: 0.338 Thread 0x00000275d7e01700 nmethod 617 0x000002759eb1e810 code [0x000002759eb1e9c0, 0x000002759eb1eb28]
Event: 0.338 Thread 0x00000275d7e01700 621 3 java.io.RandomAccessFile::seek (22 bytes)
Event: 0.338 Thread 0x00000275d7e01700 nmethod 621 0x000002759eb1ec10 code [0x000002759eb1ede0, 0x000002759eb1f038]
Event: 0.338 Thread 0x00000275d7f4ec80 nmethod 620 0x000002759eb1f190 code [0x000002759eb1f3e0, 0x000002759eb1ffd8]
Event: 0.338 Thread 0x00000275d7f4f240 nmethod 619 0x000002759eb20390 code [0x000002759eb20680, 0x000002759eb214d8]
GC Heap History (0 events):
No events
Dll operation events (9 events):
Event: 0.003 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
Event: 0.010 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
Event: 0.223 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
Event: 0.224 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
Event: 0.226 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
Event: 0.243 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\verify.dll
Event: 0.254 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
Event: 0.301 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
Event: 0.321 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
Deoptimization events (0 events):
No events
Classes unloaded (0 events):
No events
Classes redefined (0 events):
No events
Internal exceptions (18 events):
Event: 0.280 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442b51f88}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object)'> (0x0000000442b51f88)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.280 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442b57390}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000442b57390)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.282 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442b6aa28}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, int)'> (0x0000000442b6aa28)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.282 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442b76890}: 'void java.lang.invoke.DelegatingMethodHandle$Holder.delegate(java.lang.Object, java.lang.Object, int, java.lang.Object)'> (0x0000000442b76890)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.282 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442b7aad0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000442b7aad0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.300 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442c20960}> (0x0000000442c20960)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.300 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442c20ee0}> (0x0000000442c20ee0)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.321 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442ca3c58}> (0x0000000442ca3c58)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.321 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442ca4028}> (0x0000000442ca4028)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.323 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442cad438}> (0x0000000442cad438)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.323 Thread 0x0000027596f3d9c0 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442cad738}> (0x0000000442cad738)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.326 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442cdf930}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object)'> (0x0000000442cdf930)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.328 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442cfca88}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, int, long)'> (0x0000000442cfca88)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.329 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442d025f8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, int)'> (0x0000000442d025f8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.329 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442d113c8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, long, long)'> (0x0000000442d113c8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.330 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442d174d8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, long)'> (0x0000000442d174d8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.330 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442d1b7c8}: 'java.lang.Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(java.lang.Object, long, java.lang.Object)'> (0x0000000442d1b7c8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.331 Thread 0x0000027596f3d9c0 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442d22ee0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, long)'> (0x0000000442d22ee0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
VM Operations (8 events):
Event: 0.027 Executing VM operation: ChangeBreakpoints
Event: 0.027 Executing VM operation: ChangeBreakpoints done
Event: 0.227 Executing VM operation: HandshakeAllThreads
Event: 0.227 Executing VM operation: HandshakeAllThreads done
Event: 0.240 Executing VM operation: ChangeBreakpoints
Event: 0.240 Executing VM operation: ChangeBreakpoints done
Event: 0.306 Executing VM operation: HandshakeAllThreads
Event: 0.306 Executing VM operation: HandshakeAllThreads done
Events (20 events):
Event: 0.327 loading class java/nio/DirectDoubleBufferU
Event: 0.327 loading class java/nio/DirectDoubleBufferU done
Event: 0.327 loading class sun/misc/Unsafe
Event: 0.327 loading class sun/misc/Unsafe done
Event: 0.327 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory
Event: 0.327 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory done
Event: 0.327 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
Event: 0.327 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl
Event: 0.327 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl done
Event: 0.327 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl done
Event: 0.328 loading class java/util/function/LongPredicate
Event: 0.328 loading class java/util/function/LongPredicate done
Event: 0.329 loading class jdk/internal/access/foreign/MemorySegmentProxy
Event: 0.329 loading class jdk/internal/access/foreign/MemorySegmentProxy done
Event: 0.331 loading class java/nio/InvalidMarkException
Event: 0.331 loading class java/nio/InvalidMarkException done
Event: 0.331 loading class java/nio/BufferUnderflowException
Event: 0.331 loading class java/nio/BufferUnderflowException done
Event: 0.335 loading class java/util/Formatter$FixedString
Event: 0.335 loading class java/util/Formatter$FixedString done
Dynamic libraries:
0x00007ff7fa2a0000 - 0x00007ff7fa2ae000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.exe
0x00007ffbe1910000 - 0x00007ffbe1b08000 C:\Windows\SYSTEM32\ntdll.dll
0x00007ffbdfa90000 - 0x00007ffbdfb4f000 C:\Windows\System32\KERNEL32.DLL
0x00007ffbdf220000 - 0x00007ffbdf516000 C:\Windows\System32\KERNELBASE.dll
0x00007ffbdf680000 - 0x00007ffbdf780000 C:\Windows\System32\ucrtbase.dll
0x00007ffbd1770000 - 0x00007ffbd1789000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\VCRUNTIME140.dll
0x00007ffbd1970000 - 0x00007ffbd1987000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jli.dll
0x00007ffbe1290000 - 0x00007ffbe142d000 C:\Windows\System32\USER32.dll
0x00007ffbdf820000 - 0x00007ffbdf842000 C:\Windows\System32\win32u.dll
0x00007ffbd2730000 - 0x00007ffbd29ca000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
0x00007ffbe1430000 - 0x00007ffbe145c000 C:\Windows\System32\GDI32.dll
0x00007ffbe11f0000 - 0x00007ffbe128e000 C:\Windows\System32\msvcrt.dll
0x00007ffbdf850000 - 0x00007ffbdf965000 C:\Windows\System32\gdi32full.dll
0x00007ffbdf780000 - 0x00007ffbdf81d000 C:\Windows\System32\msvcp_win.dll
0x00007ffbe0dc0000 - 0x00007ffbe0df0000 C:\Windows\System32\IMM32.DLL
0x00007ffbdb340000 - 0x00007ffbdb34c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\vcruntime140_1.dll
0x00007ffbb7750000 - 0x00007ffbb77e1000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\msvcp140.dll
0x00007ffb81550000 - 0x00007ffb82198000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server\jvm.dll
0x00007ffbdfd50000 - 0x00007ffbdfdff000 C:\Windows\System32\ADVAPI32.dll
0x00007ffbe0c70000 - 0x00007ffbe0d0c000 C:\Windows\System32\sechost.dll
0x00007ffbe06a0000 - 0x00007ffbe07c6000 C:\Windows\System32\RPCRT4.dll
0x00007ffbb6d00000 - 0x00007ffbb6d09000 C:\Windows\SYSTEM32\WSOCK32.dll
0x00007ffbd3cb0000 - 0x00007ffbd3cd7000 C:\Windows\SYSTEM32\WINMM.dll
0x00007ffbd9520000 - 0x00007ffbd952a000 C:\Windows\SYSTEM32\VERSION.dll
0x00007ffbe08b0000 - 0x00007ffbe091b000 C:\Windows\System32\WS2_32.dll
0x00007ffbdced0000 - 0x00007ffbdcee2000 C:\Windows\SYSTEM32\kernel.appcore.dll
0x00007ffbdaa60000 - 0x00007ffbdaa6a000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
0x00007ffbd32c0000 - 0x00007ffbd34a4000 C:\Windows\SYSTEM32\DBGHELP.DLL
0x00007ffbcc540000 - 0x00007ffbcc574000 C:\Windows\SYSTEM32\dbgcore.DLL
0x00007ffbdf020000 - 0x00007ffbdf0a2000 C:\Windows\System32\bcryptPrimitives.dll
0x00007ffbcc8a0000 - 0x00007ffbcc8db000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jdwp.dll
0x00007ffbbbe60000 - 0x00007ffbbbe85000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
0x00007ffbaf940000 - 0x00007ffbafa16000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
0x00007ffbdfee0000 - 0x00007ffbe0624000 C:\Windows\System32\SHELL32.dll
0x00007ffbdd0d0000 - 0x00007ffbdd863000 C:\Windows\SYSTEM32\windows.storage.dll
0x00007ffbe0e90000 - 0x00007ffbe11e4000 C:\Windows\System32\combase.dll
0x00007ffbdea50000 - 0x00007ffbdea7e000 C:\Windows\SYSTEM32\Wldp.dll
0x00007ffbe0d10000 - 0x00007ffbe0dbd000 C:\Windows\System32\SHCORE.dll
0x00007ffbe0640000 - 0x00007ffbe0695000 C:\Windows\System32\shlwapi.dll
0x00007ffbdef30000 - 0x00007ffbdef4f000 C:\Windows\SYSTEM32\profapi.dll
0x00007ffbd7e00000 - 0x00007ffbd7e0c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\dt_socket.dll
0x00007ffbde450000 - 0x00007ffbde48c000 C:\Windows\SYSTEM32\IPHLPAPI.DLL
0x00007ffbde7b0000 - 0x00007ffbde81a000 C:\Windows\system32\mswsock.dll
0x00007ffbde4a0000 - 0x00007ffbde56b000 C:\Windows\SYSTEM32\DNSAPI.dll
0x00007ffbe0df0000 - 0x00007ffbe0df8000 C:\Windows\System32\NSI.dll
0x00007ffbd1590000 - 0x00007ffbd159a000 C:\Windows\System32\rasadhlp.dll
0x00007ffbd1d40000 - 0x00007ffbd1dc2000 C:\Windows\System32\fwpuclnt.dll
0x00007ffbdeff0000 - 0x00007ffbdf017000 C:\Windows\System32\bcrypt.dll
0x00007ffbcc6c0000 - 0x00007ffbcc6d9000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
0x00007ffbd7570000 - 0x00007ffbd767a000 C:\Windows\SYSTEM32\WINHTTP.dll
0x00007ffbbbe40000 - 0x00007ffbbbe55000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
0x00007ffbcb4c0000 - 0x00007ffbcb4d8000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
0x00007ffbd7df0000 - 0x00007ffbd7e00000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\verify.dll
0x00007ffbb6290000 - 0x00007ffbb630a000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
0x00007ffbcc6f0000 - 0x00007ffbcc74e000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
0x00007ffbb0250000 - 0x00007ffbb0375000 C:\Windows\SYSTEM32\opengl32.dll
0x00007ffbd1900000 - 0x00007ffbd192c000 C:\Windows\SYSTEM32\GLU32.dll
dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server;C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64
VM Arguments:
jvm_args: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53603 -XX:+ShowCodeDetailsInExceptionMessages
java_command: electrosphere.Main
java_class_path (initial): C:\Users\satellite\Documents\fluid-sim\target\classes;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opencl\3.3.2\lwjgl-opencl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\joml\joml\1.10.5\joml-1.10.5.jar
Launcher Type: SUN_STANDARD
[Global flags]
intx CICompilerCount = 12 {product} {ergonomic}
uint ConcGCThreads = 5 {product} {ergonomic}
uint G1ConcRefinementThreads = 18 {product} {ergonomic}
size_t G1HeapRegionSize = 8388608 {product} {ergonomic}
uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
size_t InitialHeapSize = 1073741824 {product} {ergonomic}
size_t MarkStackSize = 4194304 {product} {ergonomic}
size_t MaxHeapSize = 17121148928 {product} {ergonomic}
size_t MaxNewSize = 10267656192 {product} {ergonomic}
size_t MinHeapDeltaBytes = 8388608 {product} {ergonomic}
size_t MinHeapSize = 8388608 {product} {ergonomic}
uintx NonNMethodCodeHeapSize = 7602480 {pd product} {ergonomic}
uintx NonProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
bool SegmentedCodeCache = true {product} {ergonomic}
bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line}
size_t SoftMaxHeapSize = 17121148928 {manageable} {ergonomic}
bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
bool UseCompressedOops = true {product lp64_product} {ergonomic}
bool UseG1GC = true {product} {ergonomic}
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
Logging:
Log output configuration:
#0: stdout all=warning uptime,level,tags
#1: stderr all=off uptime,level,tags
Environment Variables:
JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot
CLASSPATH=.;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\lib;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\jre\lib
PATH=C:\Users\satellite\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\satellite\bin;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\Apache Maven\bin;C:\Program Files\nodejs;C:\Program Files\dotnet;C:\Program Files\Mullvad VPN\resources;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Airshipper;C:\Users\satellite\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Users\satellite\AppData\Local\Microsoft\WindowsApps;C:\Users\satellite\AppData\Roaming\npm;C:\Users\satellite\.dotnet\tools;C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\Program Files\qemu;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin;C:\Program Files\Nuget;C:\Users\satellite\anaconda3\condabin;C:\Users\satellite\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\android-platform-tools;C:\Users\satellite\AppData\Local\Android\Sdk\platform-tools;C:\Program Files\ffmpeg-2022-11-03-git-5ccd4d3060-full_build\bin;C:\Program Files\cli-utils;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
USERNAME=satellite
SHELL=C:\Program Files\Git\usr\bin\bash.exe
DISPLAY=needs-to-be-defined
LANG=en_US.UTF-8
TERM=xterm-256color
TMPDIR=C:\Users\SATELL~1\AppData\Local\Temp
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
TMP=C:\Users\SATELL~1\AppData\Local\Temp
TEMP=C:\Users\SATELL~1\AppData\Local\Temp
--------------- S Y S T E M ---------------
OS:
Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
OS uptime: 0 days 9:51 hours
CPU: total 24 (initial active 24) (12 cores per cpu, 2 threads per core) family 6 model 151 stepping 2 microcode 0x26, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, sha, fma, vzeroupper, clflush, clflushopt, clwb
Memory: 4k page, system-wide physical 65306M (49391M free)
TotalPageFile size 75034M (AvailPageFile size 53576M)
current process WorkingSet (physical memory assigned to process): 56M, peak: 56M
current process commit charge ("private bytes"): 1173M, peak: 1173M
vm_info: OpenJDK 64-Bit Server VM (17.0.7+7) for windows-amd64 JRE (17.0.7+7), built on Apr 18 2023 22:10:42 by "temurin" with MS VC++ 16.7 (VS2019)
END.

921
hs_err_pid3208.log Normal file
View File

@ -0,0 +1,921 @@
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbcc6ffbdd, pid=3208, tid=2024
#
# JRE version: OpenJDK Runtime Environment Temurin-17.0.7+7 (17.0.7+7) (build 17.0.7+7)
# Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (17.0.7+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C [lwjgl_opengl.dll+0xfbdd]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53479 -XX:+ShowCodeDetailsInExceptionMessages electrosphere.Main
Host: 12th Gen Intel(R) Core(TM) i9-12900K, 24 cores, 63G, Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
Time: Fri Jun 30 18:56:45 2023 Eastern Daylight Time elapsed time: 0.209259 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x0000021538297f80): JavaThread "main" [_thread_in_native, id=2024, stack(0x000000e6ef400000,0x000000e6ef500000)]
Stack: [0x000000e6ef400000,0x000000e6ef500000], sp=0x000000e6ef4ff298, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [lwjgl_opengl.dll+0xfbdd]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.GL30C.nglGenVertexArrays(IJ)V+0
j org.lwjgl.opengl.GL30C.glGenVertexArrays()I+20
j org.lwjgl.opengl.GL30.glGenVertexArrays()I+0
j electrosphere.render.Mesh.meshInitially(Lelectrosphere/FluidSim;)V+0
j electrosphere.Main.main([Ljava/lang/String;)V+13
v ~StubRoutines::call_stub
siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x00000000000013c8
Register to memory mapping:
RIP=0x00007ffbcc6ffbdd lwjgl_opengl.dll
RAX=0x0000021579b10030 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
RBX={method} {0x000002157a545610} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
RCX=0x0000000000000001 is an unknown value
RDX=0x0000021579b92dac points into unknown readable memory: 00 00 00 00
RSP=0x000000e6ef4ff298 is pointing into the stack for thread: 0x0000021538297f80
RBP=0x000000e6ef4ff320 is pointing into the stack for thread: 0x0000021538297f80
RSI=0x000002157986b178 points into unknown readable memory: 0x88003a00742cc76c | 6c c7 2c 74 00 3a 00 88
RDI=0x00000215471da218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000215471d9160, 0x00000215471db380] 8736 bytes
R8 =0x0000000000000001 is an unknown value
R9 =0x0000021579b92dac points into unknown readable memory: 00 00 00 00
R10=0x0 is NULL
R11=0x0000000442b91550 is an oop: java.lang.Class
{0x0000000442b91550} - klass: 'java/lang/Class'
- ---- fields (total size 130 words):
- private volatile transient 'classRedefinedCount' 'I' @12 0
- private volatile transient 'cachedConstructor' 'Ljava/lang/reflect/Constructor;' @40 NULL (0)
- private transient 'name' 'Ljava/lang/String;' @44 "org.lwjgl.opengl.GL30C"{0x0000000442b91970} (8857232e)
- private transient 'module' 'Ljava/lang/Module;' @48 a 'java/lang/Module'{0x0000000443062e60} (8860c5cc)
- private final 'classLoader' 'Ljava/lang/ClassLoader;' @52 a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000443062ca0} (8860c594)
- private transient 'classData' 'Ljava/lang/Object;' @56 NULL (0)
- private transient 'packageName' 'Ljava/lang/String;' @60 "org.lwjgl.opengl"{0x0000000443550ef0} (886aa1de)
- private final 'componentType' 'Ljava/lang/Class;' @64 NULL (0)
- private volatile transient 'reflectionData' 'Ljava/lang/ref/SoftReference;' @68 NULL (0)
- private volatile transient 'genericInfo' 'Lsun/reflect/generics/repository/ClassRepository;' @72 NULL (0)
- private volatile transient 'enumConstants' '[Ljava/lang/Object;' @76 NULL (0)
- private volatile transient 'enumConstantDirectory' 'Ljava/util/Map;' @80 NULL (0)
- private volatile transient 'annotationData' 'Ljava/lang/Class$AnnotationData;' @84 NULL (0)
- private volatile transient 'annotationType' 'Lsun/reflect/annotation/AnnotationType;' @88 NULL (0)
- transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;' @92 NULL (0)
- signature: Lorg/lwjgl/opengl/GL30C;
- fake entry for mirror: 'org/lwjgl/opengl/GL30C'
- fake entry for array: NULL
- fake entry for oop_size: 130
- fake entry for static_oop_field_count: 0
- public static final 'GL_MAJOR_VERSION' 'I' @112 33307 (821b)
- public static final 'GL_MINOR_VERSION' 'I' @116 33308 (821c)
- public static final 'GL_NUM_EXTENSIONS' 'I' @120 33309 (821d)
- public static final 'GL_CONTEXT_FLAGS' 'I' @124 33310 (821e)
- public static final 'GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT' 'I' @128 1
- public static final 'GL_COMPARE_REF_TO_TEXTURE' 'I' @132 34894 (884e)
- public static final 'GL_CLIP_DISTANCE0' 'I' @136 12288 (3000)
- public static final 'GL_CLIP_DISTANCE1' 'I' @140 12289 (3001)
- public static final 'GL_CLIP_DISTANCE2' 'I' @144 12290 (3002)
- public static final 'GL_CLIP_DISTANCE3' 'I' @148 12291 (3003)
- public static final 'GL_CLIP_DISTANCE4' 'I' @152 12292 (3004)
- public static final 'GL_CLIP_DISTANCE5' 'I' @156 12293 (3005)
- public static final 'GL_CLIP_DISTANCE6' 'I' @160 12294 (3006)
- public static final 'GL_CLIP_DISTANCE7' 'I' @164 12295 (3007)
- public static final 'GL_MAX_CLIP_DISTANCES' 'I' @168 3378 (d32)
- public static final 'GL_MAX_VARYING_COMPONENTS' 'I' @172 35659 (8b4b)
- public static final 'GL_VERTEX_ATTRIB_ARRAY_INTEGER' 'I' @176 35069 (88fd)
- public static final 'GL_SAMPLER_1D_ARRAY' 'I' @180 36288 (8dc0)
- public static final 'GL_SAMPLER_2D_ARRAY' 'I' @184 36289 (8dc1)
- public static final 'GL_SAMPLER_1D_ARRAY_SHADOW' 'I' @188 36291 (8dc3)
- public static final 'GL_SAMPLER_2D_ARRAY_SHADOW' 'I' @192 36292 (8dc4)
- public static final 'GL_SAMPLER_CUBE_SHADOW' 'I' @196 36293 (8dc5)
- public static final 'GL_UNSIGNED_INT_VEC2' 'I' @200 36294 (8dc6)
- public static final 'GL_UNSIGNED_INT_VEC3' 'I' @204 36295 (8dc7)
- public static final 'GL_UNSIGNED_INT_VEC4' 'I' @208 36296 (8dc8)
- public static final 'GL_INT_SAMPLER_1D' 'I' @212 36297 (8dc9)
- public static final 'GL_INT_SAMPLER_2D' 'I' @216 36298 (8dca)
- public static final 'GL_INT_SAMPLER_3D' 'I' @220 36299 (8dcb)
- public static final 'GL_INT_SAMPLER_CUBE' 'I' @224 36300 (8dcc)
- public static final 'GL_INT_SAMPLER_1D_ARRAY' 'I' @228 36302 (8dce)
- public static final 'GL_INT_SAMPLER_2D_ARRAY' 'I' @232 36303 (8dcf)
- public static final 'GL_UNSIGNED_INT_SAMPLER_1D' 'I' @236 36305 (8dd1)
- public static final 'GL_UNSIGNED_INT_SAMPLER_2D' 'I' @240 36306 (8dd2)
- public static final 'GL_UNSIGNED_INT_SAMPLER_3D' 'I' @244 36307 (8dd3)
- public static final 'GL_UNSIGNED_INT_SAMPLER_CUBE' 'I' @248 36308 (8dd4)
- public static final 'GL_UNSIGNED_INT_SAMPLER_1D_ARRAY' 'I' @252 36310 (8dd6)
- public static final 'GL_UNSIGNED_INT_SAMPLER_2D_ARRAY' 'I' @256 36311 (8dd7)
- public static final 'GL_MIN_PROGRAM_TEXEL_OFFSET' 'I' @260 35076 (8904)
- public static final 'GL_MAX_PROGRAM_TEXEL_OFFSET' 'I' @264 35077 (8905)
- public static final 'GL_QUERY_WAIT' 'I' @268 36371 (8e13)
- public static final 'GL_QUERY_NO_WAIT' 'I' @272 36372 (8e14)
- public static final 'GL_QUERY_BY_REGION_WAIT' 'I' @276 36373 (8e15)
- public static final 'GL_QUERY_BY_REGION_NO_WAIT' 'I' @280 36374 (8e16)
- public static final 'GL_MAP_READ_BIT' 'I' @284 1
- public static final 'GL_MAP_WRITE_BIT' 'I' @288 2
- public static final 'GL_MAP_INVALIDATE_RANGE_BIT' 'I' @292 4
- public static final 'GL_MAP_INVALIDATE_BUFFER_BIT' 'I' @296 8
- public static final 'GL_MAP_FLUSH_EXPLICIT_BIT' 'I' @300 16 (10)
- public static final 'GL_MAP_UNSYNCHRONIZED_BIT' 'I' @304 32 (20)
- public static final 'GL_BUFFER_ACCESS_FLAGS' 'I' @308 37151 (911f)
- public static final 'GL_BUFFER_MAP_LENGTH' 'I' @312 37152 (9120)
- public static final 'GL_BUFFER_MAP_OFFSET' 'I' @316 37153 (9121)
- public static final 'GL_CLAMP_READ_COLOR' 'I' @320 35100 (891c)
- public static final 'GL_FIXED_ONLY' 'I' @324 35101 (891d)
- public static final 'GL_DEPTH_COMPONENT32F' 'I' @328 36012 (8cac)
- public static final 'GL_DEPTH32F_STENCIL8' 'I' @332 36013 (8cad)
- public static final 'GL_FLOAT_32_UNSIGNED_INT_24_8_REV' 'I' @336 36269 (8dad)
- public static final 'GL_TEXTURE_RED_TYPE' 'I' @340 35856 (8c10)
- public static final 'GL_TEXTURE_GREEN_TYPE' 'I' @344 35857 (8c11)
- public static final 'GL_TEXTURE_BLUE_TYPE' 'I' @348 35858 (8c12)
- public static final 'GL_TEXTURE_ALPHA_TYPE' 'I' @352 35859 (8c13)
- public static final 'GL_TEXTURE_DEPTH_TYPE' 'I' @356 35862 (8c16)
- public static final 'GL_UNSIGNED_NORMALIZED' 'I' @360 35863 (8c17)
- public static final 'GL_RGBA32F' 'I' @364 34836 (8814)
- public static final 'GL_RGB32F' 'I' @368 34837 (8815)
- public static final 'GL_RGBA16F' 'I' @372 34842 (881a)
- public static final 'GL_RGB16F' 'I' @376 34843 (881b)
- public static final 'GL_R11F_G11F_B10F' 'I' @380 35898 (8c3a)
- public static final 'GL_UNSIGNED_INT_10F_11F_11F_REV' 'I' @384 35899 (8c3b)
- public static final 'GL_RGB9_E5' 'I' @388 35901 (8c3d)
- public static final 'GL_UNSIGNED_INT_5_9_9_9_REV' 'I' @392 35902 (8c3e)
- public static final 'GL_TEXTURE_SHARED_SIZE' 'I' @396 35903 (8c3f)
- public static final 'GL_FRAMEBUFFER' 'I' @400 36160 (8d40)
- public static final 'GL_READ_FRAMEBUFFER' 'I' @404 36008 (8ca8)
- public static final 'GL_DRAW_FRAMEBUFFER' 'I' @408 36009 (8ca9)
- public static final 'GL_RENDERBUFFER' 'I' @412 36161 (8d41)
- public static final 'GL_STENCIL_INDEX1' 'I' @416 36166 (8d46)
- public static final 'GL_STENCIL_INDEX4' 'I' @420 36167 (8d47)
- public static final 'GL_STENCIL_INDEX8' 'I' @424 36168 (8d48)
- public static final 'GL_STENCIL_INDEX16' 'I' @428 36169 (8d49)
- public static final 'GL_RENDERBUFFER_WIDTH' 'I' @432 36162 (8d42)
- public static final 'GL_RENDERBUFFER_HEIGHT' 'I' @436 36163 (8d43)
- public static final 'GL_RENDERBUFFER_INTERNAL_FORMAT' 'I' @440 36164 (8d44)
- public static final 'GL_RENDERBUFFER_RED_SIZE' 'I' @444 36176 (8d50)
- public static final 'GL_RENDERBUFFER_GREEN_SIZE' 'I' @448 36177 (8d51)
- public static final 'GL_RENDERBUFFER_BLUE_SIZE' 'I' @452 36178 (8d52)
- public static final 'GL_RENDERBUFFER_ALPHA_SIZE' 'I' @456 36179 (8d53)
- public static final 'GL_RENDERBUFFER_DEPTH_SIZE' 'I' @460 36180 (8d54)
- public static final 'GL_RENDERBUFFER_STENCIL_SIZE' 'I' @464 36181 (8d55)
- public static final 'GL_RENDERBUFFER_SAMPLES' 'I' @468 36011 (8cab)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE' 'I' @472 36048 (8cd0)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME' 'I' @476 36049 (8cd1)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL' 'I' @480 36050 (8cd2)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE' 'I' @484 36051 (8cd3)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER' 'I' @488 36052 (8cd4)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING' 'I' @492 33296 (8210)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE' 'I' @496 33297 (8211)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE' 'I' @500 33298 (8212)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE' 'I' @504 33299 (8213)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE' 'I' @508 33300 (8214)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE' 'I' @512 33301 (8215)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE' 'I' @516 33302 (8216)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE' 'I' @520 33303 (8217)
- public static final 'GL_FRAMEBUFFER_DEFAULT' 'I' @524 33304 (8218)
- public static final 'GL_COLOR_ATTACHMENT0' 'I' @528 36064 (8ce0)
- public static final 'GL_COLOR_ATTACHMENT1' 'I' @532 36065 (8ce1)
- public static final 'GL_COLOR_ATTACHMENT2' 'I' @536 36066 (8ce2)
- public static final 'GL_COLOR_ATTACHMENT3' 'I' @540 36067 (8ce3)
- public static final 'GL_COLOR_ATTACHMENT4' 'I' @544 36068 (8ce4)
- public static final 'GL_COLOR_ATTACHMENT5' 'I' @548 36069 (8ce5)
- public static final 'GL_COLOR_ATTACHMENT6' 'I' @552 36070 (8ce6)
- public static final 'GL_COLOR_ATTACHMENT7' 'I' @556 36071 (8ce7)
- public static final 'GL_COLOR_ATTACHMENT8' 'I' @560 36072 (8ce8)
- public static final 'GL_COLOR_ATTACHMENT9' 'I' @564 36073 (8ce9)
- public static final 'GL_COLOR_ATTACHMENT10' 'I' @568 36074 (8cea)
- public static final 'GL_COLOR_ATTACHMENT11' 'I' @572 36075 (8ceb)
- public static final 'GL_COLOR_ATTACHMENT12' 'I' @576 36076 (8cec)
- public static final 'GL_COLOR_ATTACHMENT13' 'I' @580 36077 (8ced)
- public static final 'GL_COLOR_ATTACHMENT14' 'I' @584 36078 (8cee)
- public static final 'GL_COLOR_ATTACHMENT15' 'I' @588 36079 (8cef)
- public static final 'GL_COLOR_ATTACHMENT16' 'I' @592 36080 (8cf0)
- public static final 'GL_COLOR_ATTACHMENT17' 'I' @596 36081 (8cf1)
- public static final 'GL_COLOR_ATTACHMENT18' 'I' @600 36082 (8cf2)
- public static final 'GL_COLOR_ATTACHMENT19' 'I' @604 36083 (8cf3)
- public static final 'GL_COLOR_ATTACHMENT20' 'I' @608 36084 (8cf4)
- public static final 'GL_COLOR_ATTACHMENT21' 'I' @612 36085 (8cf5)
- public static final 'GL_COLOR_ATTACHMENT22' 'I' @616 36086 (8cf6)
- public static final 'GL_COLOR_ATTACHMENT23' 'I' @620 36087 (8cf7)
- public static final 'GL_COLOR_ATTACHMENT24' 'I' @624 36088 (8cf8)
- public static final 'GL_COLOR_ATTACHMENT25' 'I' @628 36089 (8cf9)
- public static final 'GL_COLOR_ATTACHMENT26' 'I' @632 36090 (8cfa)
- public static final 'GL_COLOR_ATTACHMENT27' 'I' @636 36091 (8cfb)
- public static final 'GL_COLOR_ATTACHMENT28' 'I' @640 36092 (8cfc)
- public static final 'GL_COLOR_ATTACHMENT29' 'I' @644 36093 (8cfd)
- public static final 'GL_COLOR_ATTACHMENT30' 'I' @648 36094 (8cfe)
- public static final 'GL_COLOR_ATTACHMENT31' 'I' @652 36095 (8cff)
- public static final 'GL_DEPTH_ATTACHMENT' 'I' @656 36096 (8d00)
- public static final 'GL_STENCIL_ATTACHMENT' 'I' @660 36128 (8d20)
- public static final 'GL_DEPTH_STENCIL_ATTACHMENT' 'I' @664 33306 (821a)
- public static final 'GL_MAX_SAMPLES' 'I' @668 36183 (8d57)
- public static final 'GL_FRAMEBUFFER_COMPLETE' 'I' @672 36053 (8cd5)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT' 'I' @676 36054 (8cd6)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT' 'I' @680 36055 (8cd7)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER' 'I' @684 36059 (8cdb)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER' 'I' @688 36060 (8cdc)
- public static final 'GL_FRAMEBUFFER_UNSUPPORTED' 'I' @692 36061 (8cdd)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE' 'I' @696 36182 (8d56)
- public static final 'GL_FRAMEBUFFER_UNDEFINED' 'I' @700 33305 (8219)
- public static final 'GL_FRAMEBUFFER_BINDING' 'I' @704 36006 (8ca6)
- public static final 'GL_DRAW_FRAMEBUFFER_BINDING' 'I' @708 36006 (8ca6)
- public static final 'GL_READ_FRAMEBUFFER_BINDING' 'I' @712 36010 (8caa)
- public static final 'GL_RENDERBUFFER_BINDING' 'I' @716 36007 (8ca7)
- public static final 'GL_MAX_COLOR_ATTACHMENTS' 'I' @720 36063 (8cdf)
- public static final 'GL_MAX_RENDERBUFFER_SIZE' 'I' @724 34024 (84e8)
- public static final 'GL_INVALID_FRAMEBUFFER_OPERATION' 'I' @728 1286 (506)
- public static final 'GL_DEPTH_STENCIL' 'I' @732 34041 (84f9)
- public static final 'GL_UNSIGNED_INT_24_8' 'I' @736 34042 (84fa)
- public static final 'GL_DEPTH24_STENCIL8' 'I' @740 35056 (88f0)
- public static final 'GL_TEXTURE_STENCIL_SIZE' 'I' @744 35057 (88f1)
- public static final 'GL_HALF_FLOAT' 'I' @748 5131 (140b)
- public static final 'GL_RGBA32UI' 'I' @752 36208 (8d70)
- public static final 'GL_RGB32UI' 'I' @756 36209 (8d71)
- public static final 'GL_RGBA16UI' 'I' @760 36214 (8d76)
- public static final 'GL_RGB16UI' 'I' @764 36215 (8d77)
- public static final 'GL_RGBA8UI' 'I' @768 36220 (8d7c)
- public static final 'GL_RGB8UI' 'I' @772 36221 (8d7d)
- public static final 'GL_RGBA32I' 'I' @776 36226 (8d82)
- public static final 'GL_RGB32I' 'I' @780 36227 (8d83)
- public static final 'GL_RGBA16I' 'I' @784 36232 (8d88)
- public static final 'GL_RGB16I' 'I' @788 36233 (8d89)
- public static final 'GL_RGBA8I' 'I' @792 36238 (8d8e)
- public static final 'GL_RGB8I' 'I' @796 36239 (8d8f)
- public static final 'GL_RED_INTEGER' 'I' @800 36244 (8d94)
- public static final 'GL_GREEN_INTEGER' 'I' @804 36245 (8d95)
- public static final 'GL_BLUE_INTEGER' 'I' @808 36246 (8d96)
- public static final 'GL_RGB_INTEGER' 'I' @812 36248 (8d98)
- public static final 'GL_RGBA_INTEGER' 'I' @816 36249 (8d99)
- public static final 'GL_BGR_INTEGER' 'I' @820 36250 (8d9a)
- public static final 'GL_BGRA_INTEGER' 'I' @824 36251 (8d9b)
- public static final 'GL_TEXTURE_1D_ARRAY' 'I' @828 35864 (8c18)
- public static final 'GL_TEXTURE_2D_ARRAY' 'I' @832 35866 (8c1a)
- public static final 'GL_PROXY_TEXTURE_2D_ARRAY' 'I' @836 35867 (8c1b)
- public static final 'GL_PROXY_TEXTURE_1D_ARRAY' 'I' @840 35865 (8c19)
- public static final 'GL_TEXTURE_BINDING_1D_ARRAY' 'I' @844 35868 (8c1c)
- public static final 'GL_TEXTURE_BINDING_2D_ARRAY' 'I' @848 35869 (8c1d)
- public static final 'GL_MAX_ARRAY_TEXTURE_LAYERS' 'I' @852 35071 (88ff)
- public static final 'GL_COMPRESSED_RED_RGTC1' 'I' @856 36283 (8dbb)
- public static final 'GL_COMPRESSED_SIGNED_RED_RGTC1' 'I' @860 36284 (8dbc)
- public static final 'GL_COMPRESSED_RG_RGTC2' 'I' @864 36285 (8dbd)
- public static final 'GL_COMPRESSED_SIGNED_RG_RGTC2' 'I' @868 36286 (8dbe)
- public static final 'GL_R8' 'I' @872 33321 (8229)
- public static final 'GL_R16' 'I' @876 33322 (822a)
- public static final 'GL_RG8' 'I' @880 33323 (822b)
- public static final 'GL_RG16' 'I' @884 33324 (822c)
- public static final 'GL_R16F' 'I' @888 33325 (822d)
- public static final 'GL_R32F' 'I' @892 33326 (822e)
- public static final 'GL_RG16F' 'I' @896 33327 (822f)
- public static final 'GL_RG32F' 'I' @900 33328 (8230)
- public static final 'GL_R8I' 'I' @904 33329 (8231)
- public static final 'GL_R8UI' 'I' @908 33330 (8232)
- public static final 'GL_R16I' 'I' @912 33331 (8233)
- public static final 'GL_R16UI' 'I' @916 33332 (8234)
- public static final 'GL_R32I' 'I' @920 33333 (8235)
- public static final 'GL_R32UI' 'I' @924 33334 (8236)
- public static final 'GL_RG8I' 'I' @928 33335 (8237)
- public static final 'GL_RG8UI' 'I' @932 33336 (8238)
- public static final 'GL_RG16I' 'I' @936 33337 (8239)
- public static final 'GL_RG16UI' 'I' @940 33338 (823a)
- public static final 'GL_RG32I' 'I' @944 33339 (823b)
- public static final 'GL_RG32UI' 'I' @948 33340 (823c)
- public static final 'GL_RG' 'I' @952 33319 (8227)
- public static final 'GL_COMPRESSED_RED' 'I' @956 33317 (8225)
- public static final 'GL_COMPRESSED_RG' 'I' @960 33318 (8226)
- public static final 'GL_RG_INTEGER' 'I' @964 33320 (8228)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER' 'I' @968 35982 (8c8e)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_START' 'I' @972 35972 (8c84)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_SIZE' 'I' @976 35973 (8c85)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING' 'I' @980 35983 (8c8f)
- public static final 'GL_INTERLEAVED_ATTRIBS' 'I' @984 35980 (8c8c)
- public static final 'GL_SEPARATE_ATTRIBS' 'I' @988 35981 (8c8d)
- public static final 'GL_PRIMITIVES_GENERATED' 'I' @992 35975 (8c87)
- public static final 'GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN' 'I' @996 35976 (8c88)
- public static final 'GL_RASTERIZER_DISCARD' 'I' @1000 35977 (8c89)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS' 'I' @1004 35978 (8c8a)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS' 'I' @1008 35979 (8c8b)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS' 'I' @1012 35968 (8c80)
- public static final 'GL_TRANSFORM_FEEDBACK_VARYINGS' 'I' @1016 35971 (8c83)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_MODE' 'I' @1020 35967 (8c7f)
- public static final 'GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH' 'I' @1024 35958 (8c76)
- public static final 'GL_VERTEX_ARRAY_BINDING' 'I' @1028 34229 (85b5)
- public static final 'GL_FRAMEBUFFER_SRGB' 'I' @1032 36281 (8db9)
R12=0x0 is NULL
R13={method} {0x000002157a545610} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
R14=0x000000e6ef4ff350 is pointing into the stack for thread: 0x0000021538297f80
R15=0x0000021538297f80 is a thread
Registers:
RAX=0x0000021579b10030, RBX=0x000002157a545608, RCX=0x0000000000000001, RDX=0x0000021579b92dac
RSP=0x000000e6ef4ff298, RBP=0x000000e6ef4ff320, RSI=0x000002157986b178, RDI=0x00000215471da218
R8 =0x0000000000000001, R9 =0x0000021579b92dac, R10=0x0000000000000000, R11=0x0000000442b91550
R12=0x0000000000000000, R13=0x000002157a545608, R14=0x000000e6ef4ff350, R15=0x0000021538297f80
RIP=0x00007ffbcc6ffbdd, EFLAGS=0x0000000000010206
Top of Stack: (sp=0x000000e6ef4ff298)
0x000000e6ef4ff298: 00000215471e1366 00000215471da218
0x000000e6ef4ff2a8: 00000215471e0cd2 000002157a545608
0x000000e6ef4ff2b8: 000002157986b178 000000e6ef4ff338
0x000000e6ef4ff2c8: 00000215471da218 00000215471e0c76
0x000000e6ef4ff2d8: 000000e6ef4ff2d8 000002157a545608
0x000000e6ef4ff2e8: 000000e6ef4ff350 000002157a57a400
0x000000e6ef4ff2f8: 0000000000000000 0000000442b91550
0x000000e6ef4ff308: 000002157a545608 0000000000000000
0x000000e6ef4ff318: 000000e6ef4ff340 000000e6ef4ff3a0
0x000000e6ef4ff328: 00000215471d9efa 0000000442b91550
0x000000e6ef4ff338: 00000215471dd4f8 0000021579b92dac
0x000000e6ef4ff348: 0000000000000000 0000000000000001
0x000000e6ef4ff358: 000000e6ef4ff358 000002157a54577c
0x000000e6ef4ff368: 000000e6ef4ff3d0 000002157a57a400
0x000000e6ef4ff378: 0000000000000000 0000000442b91550
0x000000e6ef4ff388: 000002157a5457e8 000000e6ef4ff340
Instructions: (pc=0x00007ffbcc6ffbdd)
0x00007ffbcc6ffadd: 98 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffaed: cc cc cc 48 8b 01 48 8b 48 18 48 ff a1 a0 13 00
0x00007ffbcc6ffafd: 00 cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6ffb0d: 41 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6ffb1d: ff a2 a8 13 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffb2d: cc cc cc 40 53 48 83 ec 40 48 8b 01 41 8b d8 44
0x00007ffbcc6ffb3d: 8b 44 24 70 41 8b d1 4c 8b 4c 24 78 8b cb 4c 8b
0x00007ffbcc6ffb4d: 50 18 48 8b 84 24 90 00 00 00 48 89 44 24 30 48
0x00007ffbcc6ffb5d: 8b 84 24 88 00 00 00 48 89 44 24 28 48 8b 84 24
0x00007ffbcc6ffb6d: 80 00 00 00 48 89 44 24 20 41 ff 92 b0 13 00 00
0x00007ffbcc6ffb7d: 48 83 c4 40 5b c3 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffb8d: cc cc cc 48 8b 01 41 8b c8 48 8b 50 18 48 ff a2
0x00007ffbcc6ffb9d: b8 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbad: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6ffbbd: 49 ff a2 c0 13 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbcd: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6ffbdd: 49 ff a2 c8 13 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbed: cc cc cc 48 8b 01 48 8b 48 18 48 8b 81 d0 13 00
0x00007ffbcc6ffbfd: 00 41 8b c8 48 ff e0 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffc0d: cc cc cc 40 53 48 8b 01 41 8b d8 44 8b 44 24 30
0x00007ffbcc6ffc1d: 41 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6ffc2d: ff a2 d8 13 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffc3d: cc cc cc 40 53 48 8b 01 41 8b d8 44 8b 44 24 30
0x00007ffbcc6ffc4d: 41 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 8b 44
0x00007ffbcc6ffc5d: 24 40 89 44 24 30 5b 49 ff a2 e0 13 00 00 cc cc
0x00007ffbcc6ffc6d: cc cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6ffc7d: 41 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 48 8b
0x00007ffbcc6ffc8d: 44 24 40 48 89 44 24 30 5b 49 ff a2 e8 13 00 00
0x00007ffbcc6ffc9d: cc cc cc 48 8b 01 41 8b c8 48 8b 50 18 48 ff a2
0x00007ffbcc6ffcad: f0 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffcbd: cc cc cc 48 8b 01 45 8b d8 44 8b 44 24 28 41 8b
0x00007ffbcc6ffccd: d1 41 8b cb 4c 8b 50 18 49 ff a2 f8 13 00 00 cc
Stack slot to memory mapping:
stack at sp + 0 slots: 0x00000215471e1366 is at code_begin+1958 in an Interpreter codelet
method entry point (kind = native) [0x00000215471e0bc0, 0x00000215471e1ce0] 4384 bytes
stack at sp + 1 slots: 0x00000215471da218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000215471d9160, 0x00000215471db380] 8736 bytes
stack at sp + 2 slots: 0x00000215471e0cd2 is at code_begin+274 in an Interpreter codelet
method entry point (kind = native) [0x00000215471e0bc0, 0x00000215471e1ce0] 4384 bytes
stack at sp + 3 slots: {method} {0x000002157a545610} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
stack at sp + 4 slots: 0x000002157986b178 points into unknown readable memory: 0x88003a00742cc76c | 6c c7 2c 74 00 3a 00 88
stack at sp + 5 slots: 0x000000e6ef4ff338 is pointing into the stack for thread: 0x0000021538297f80
stack at sp + 6 slots: 0x00000215471da218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x00000215471d9160, 0x00000215471db380] 8736 bytes
stack at sp + 7 slots: 0x00000215471e0c76 is at code_begin+182 in an Interpreter codelet
method entry point (kind = native) [0x00000215471e0bc0, 0x00000215471e1ce0] 4384 bytes
--------------- P R O C E S S ---------------
Threads class SMR info:
_java_thread_list=0x0000021579a2cc70, length=19, elements={
0x0000021538297f80, 0x0000021579135d40, 0x0000021579136ac0, 0x000002157914d2a0,
0x000002157914fb70, 0x0000021579151440, 0x0000021579151d00, 0x00000215791671c0,
0x0000021579169b90, 0x0000021579172090, 0x00000215792982f0, 0x00000215792ba820,
0x00000215792c19a0, 0x000002157932d1e0, 0x000002157932f090, 0x000002157932f580,
0x0000021579331f70, 0x0000021579336040, 0x0000021579b32210
}
Java Threads: ( => current thread )
=>0x0000021538297f80 JavaThread "main" [_thread_in_native, id=2024, stack(0x000000e6ef400000,0x000000e6ef500000)]
0x0000021579135d40 JavaThread "Reference Handler" daemon [_thread_blocked, id=21156, stack(0x000000e6efb00000,0x000000e6efc00000)]
0x0000021579136ac0 JavaThread "Finalizer" daemon [_thread_blocked, id=20360, stack(0x000000e6efc00000,0x000000e6efd00000)]
0x000002157914d2a0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19992, stack(0x000000e6efd00000,0x000000e6efe00000)]
0x000002157914fb70 JavaThread "Attach Listener" daemon [_thread_blocked, id=11392, stack(0x000000e6efe00000,0x000000e6eff00000)]
0x0000021579151440 JavaThread "Service Thread" daemon [_thread_blocked, id=21904, stack(0x000000e6eff00000,0x000000e6f0000000)]
0x0000021579151d00 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=19612, stack(0x000000e6f0000000,0x000000e6f0100000)]
0x00000215791671c0 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=20352, stack(0x000000e6f0100000,0x000000e6f0200000)]
0x0000021579169b90 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=18972, stack(0x000000e6f0200000,0x000000e6f0300000)]
0x0000021579172090 JavaThread "Sweeper thread" daemon [_thread_blocked, id=15344, stack(0x000000e6f0300000,0x000000e6f0400000)]
0x00000215792982f0 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=6256, stack(0x000000e6f0400000,0x000000e6f0500000)]
0x00000215792ba820 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=3988, stack(0x000000e6f0500000,0x000000e6f0600000)]
0x00000215792c19a0 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=1536, stack(0x000000e6f0600000,0x000000e6f0700000)]
0x000002157932d1e0 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=20260, stack(0x000000e6f0700000,0x000000e6f0800000)]
0x000002157932f090 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=21832, stack(0x000000e6f0800000,0x000000e6f0900000)]
0x000002157932f580 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=21232, stack(0x000000e6f0900000,0x000000e6f0a00000)]
0x0000021579331f70 JavaThread "Notification Thread" daemon [_thread_blocked, id=21820, stack(0x000000e6f0a00000,0x000000e6f0b00000)]
0x0000021579336040 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=20816, stack(0x000000e6f0c00000,0x000000e6f0d00000)]
0x0000021579b32210 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=19288, stack(0x000000e6f0d00000,0x000000e6f0e00000)]
Other Threads:
0x0000021579131230 VMThread "VM Thread" [stack: 0x000000e6efa00000,0x000000e6efb00000] [id=9644]
0x0000021575b17940 WatcherThread [stack: 0x000000e6f0b00000,0x000000e6f0c00000] [id=21088]
0x0000021538347700 GCTaskThread "GC Thread#0" [stack: 0x000000e6ef500000,0x000000e6ef600000] [id=6616]
0x00000215382b4f20 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000e6ef600000,0x000000e6ef700000] [id=10844]
0x0000021538359ab0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000e6ef700000,0x000000e6ef800000] [id=21060]
0x0000021575c79450 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000e6ef800000,0x000000e6ef900000] [id=19896]
0x0000021579002010 ConcurrentGCThread "G1 Service" [stack: 0x000000e6ef900000,0x000000e6efa00000] [id=20268]
Threads with active compile tasks:
VM state: not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x0000000403800000, size: 16328 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
CDS archive(s) mapped at: [0x0000000800000000-0x0000000800bc0000-0x0000000800bc0000), size 12320768, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0.
Compressed class space mapped at: 0x0000000801000000-0x0000000841000000, reserved size: 1073741824
Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
GC Precious Log:
CPUs: 24 total, 24 available
Memory: 65306M
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (Zero based)
Heap Region Size: 8M
Heap Min Capacity: 8M
Heap Initial Capacity: 1G
Heap Max Capacity: 16328M
Pre-touch: Disabled
Parallel Workers: 18
Concurrent Workers: 5
Concurrent Refinement Workers: 18
Periodic GC: Disabled
Heap:
garbage-first heap total 1048576K, used 8192K [0x0000000403800000, 0x0000000800000000)
region size 8192K, 2 young (16384K), 0 survivors (0K)
Metaspace used 3209K, committed 3456K, reserved 1114112K
class space used 206K, committed 320K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
| 0|0x0000000403800000, 0x0000000403800000, 0x0000000404000000| 0%| F| |TAMS 0x0000000403800000, 0x0000000403800000| Untracked
| 1|0x0000000404000000, 0x0000000404000000, 0x0000000404800000| 0%| F| |TAMS 0x0000000404000000, 0x0000000404000000| Untracked
| 2|0x0000000404800000, 0x0000000404800000, 0x0000000405000000| 0%| F| |TAMS 0x0000000404800000, 0x0000000404800000| Untracked
| 3|0x0000000405000000, 0x0000000405000000, 0x0000000405800000| 0%| F| |TAMS 0x0000000405000000, 0x0000000405000000| Untracked
| 4|0x0000000405800000, 0x0000000405800000, 0x0000000406000000| 0%| F| |TAMS 0x0000000405800000, 0x0000000405800000| Untracked
| 5|0x0000000406000000, 0x0000000406000000, 0x0000000406800000| 0%| F| |TAMS 0x0000000406000000, 0x0000000406000000| Untracked
| 6|0x0000000406800000, 0x0000000406800000, 0x0000000407000000| 0%| F| |TAMS 0x0000000406800000, 0x0000000406800000| Untracked
| 7|0x0000000407000000, 0x0000000407000000, 0x0000000407800000| 0%| F| |TAMS 0x0000000407000000, 0x0000000407000000| Untracked
| 8|0x0000000407800000, 0x0000000407800000, 0x0000000408000000| 0%| F| |TAMS 0x0000000407800000, 0x0000000407800000| Untracked
| 9|0x0000000408000000, 0x0000000408000000, 0x0000000408800000| 0%| F| |TAMS 0x0000000408000000, 0x0000000408000000| Untracked
| 10|0x0000000408800000, 0x0000000408800000, 0x0000000409000000| 0%| F| |TAMS 0x0000000408800000, 0x0000000408800000| Untracked
| 11|0x0000000409000000, 0x0000000409000000, 0x0000000409800000| 0%| F| |TAMS 0x0000000409000000, 0x0000000409000000| Untracked
| 12|0x0000000409800000, 0x0000000409800000, 0x000000040a000000| 0%| F| |TAMS 0x0000000409800000, 0x0000000409800000| Untracked
| 13|0x000000040a000000, 0x000000040a000000, 0x000000040a800000| 0%| F| |TAMS 0x000000040a000000, 0x000000040a000000| Untracked
| 14|0x000000040a800000, 0x000000040a800000, 0x000000040b000000| 0%| F| |TAMS 0x000000040a800000, 0x000000040a800000| Untracked
| 15|0x000000040b000000, 0x000000040b000000, 0x000000040b800000| 0%| F| |TAMS 0x000000040b000000, 0x000000040b000000| Untracked
| 16|0x000000040b800000, 0x000000040b800000, 0x000000040c000000| 0%| F| |TAMS 0x000000040b800000, 0x000000040b800000| Untracked
| 17|0x000000040c000000, 0x000000040c000000, 0x000000040c800000| 0%| F| |TAMS 0x000000040c000000, 0x000000040c000000| Untracked
| 18|0x000000040c800000, 0x000000040c800000, 0x000000040d000000| 0%| F| |TAMS 0x000000040c800000, 0x000000040c800000| Untracked
| 19|0x000000040d000000, 0x000000040d000000, 0x000000040d800000| 0%| F| |TAMS 0x000000040d000000, 0x000000040d000000| Untracked
| 20|0x000000040d800000, 0x000000040d800000, 0x000000040e000000| 0%| F| |TAMS 0x000000040d800000, 0x000000040d800000| Untracked
| 21|0x000000040e000000, 0x000000040e000000, 0x000000040e800000| 0%| F| |TAMS 0x000000040e000000, 0x000000040e000000| Untracked
| 22|0x000000040e800000, 0x000000040e800000, 0x000000040f000000| 0%| F| |TAMS 0x000000040e800000, 0x000000040e800000| Untracked
| 23|0x000000040f000000, 0x000000040f000000, 0x000000040f800000| 0%| F| |TAMS 0x000000040f000000, 0x000000040f000000| Untracked
| 24|0x000000040f800000, 0x000000040f800000, 0x0000000410000000| 0%| F| |TAMS 0x000000040f800000, 0x000000040f800000| Untracked
| 25|0x0000000410000000, 0x0000000410000000, 0x0000000410800000| 0%| F| |TAMS 0x0000000410000000, 0x0000000410000000| Untracked
| 26|0x0000000410800000, 0x0000000410800000, 0x0000000411000000| 0%| F| |TAMS 0x0000000410800000, 0x0000000410800000| Untracked
| 27|0x0000000411000000, 0x0000000411000000, 0x0000000411800000| 0%| F| |TAMS 0x0000000411000000, 0x0000000411000000| Untracked
| 28|0x0000000411800000, 0x0000000411800000, 0x0000000412000000| 0%| F| |TAMS 0x0000000411800000, 0x0000000411800000| Untracked
| 29|0x0000000412000000, 0x0000000412000000, 0x0000000412800000| 0%| F| |TAMS 0x0000000412000000, 0x0000000412000000| Untracked
| 30|0x0000000412800000, 0x0000000412800000, 0x0000000413000000| 0%| F| |TAMS 0x0000000412800000, 0x0000000412800000| Untracked
| 31|0x0000000413000000, 0x0000000413000000, 0x0000000413800000| 0%| F| |TAMS 0x0000000413000000, 0x0000000413000000| Untracked
| 32|0x0000000413800000, 0x0000000413800000, 0x0000000414000000| 0%| F| |TAMS 0x0000000413800000, 0x0000000413800000| Untracked
| 33|0x0000000414000000, 0x0000000414000000, 0x0000000414800000| 0%| F| |TAMS 0x0000000414000000, 0x0000000414000000| Untracked
| 34|0x0000000414800000, 0x0000000414800000, 0x0000000415000000| 0%| F| |TAMS 0x0000000414800000, 0x0000000414800000| Untracked
| 35|0x0000000415000000, 0x0000000415000000, 0x0000000415800000| 0%| F| |TAMS 0x0000000415000000, 0x0000000415000000| Untracked
| 36|0x0000000415800000, 0x0000000415800000, 0x0000000416000000| 0%| F| |TAMS 0x0000000415800000, 0x0000000415800000| Untracked
| 37|0x0000000416000000, 0x0000000416000000, 0x0000000416800000| 0%| F| |TAMS 0x0000000416000000, 0x0000000416000000| Untracked
| 38|0x0000000416800000, 0x0000000416800000, 0x0000000417000000| 0%| F| |TAMS 0x0000000416800000, 0x0000000416800000| Untracked
| 39|0x0000000417000000, 0x0000000417000000, 0x0000000417800000| 0%| F| |TAMS 0x0000000417000000, 0x0000000417000000| Untracked
| 40|0x0000000417800000, 0x0000000417800000, 0x0000000418000000| 0%| F| |TAMS 0x0000000417800000, 0x0000000417800000| Untracked
| 41|0x0000000418000000, 0x0000000418000000, 0x0000000418800000| 0%| F| |TAMS 0x0000000418000000, 0x0000000418000000| Untracked
| 42|0x0000000418800000, 0x0000000418800000, 0x0000000419000000| 0%| F| |TAMS 0x0000000418800000, 0x0000000418800000| Untracked
| 43|0x0000000419000000, 0x0000000419000000, 0x0000000419800000| 0%| F| |TAMS 0x0000000419000000, 0x0000000419000000| Untracked
| 44|0x0000000419800000, 0x0000000419800000, 0x000000041a000000| 0%| F| |TAMS 0x0000000419800000, 0x0000000419800000| Untracked
| 45|0x000000041a000000, 0x000000041a000000, 0x000000041a800000| 0%| F| |TAMS 0x000000041a000000, 0x000000041a000000| Untracked
| 46|0x000000041a800000, 0x000000041a800000, 0x000000041b000000| 0%| F| |TAMS 0x000000041a800000, 0x000000041a800000| Untracked
| 47|0x000000041b000000, 0x000000041b000000, 0x000000041b800000| 0%| F| |TAMS 0x000000041b000000, 0x000000041b000000| Untracked
| 48|0x000000041b800000, 0x000000041b800000, 0x000000041c000000| 0%| F| |TAMS 0x000000041b800000, 0x000000041b800000| Untracked
| 49|0x000000041c000000, 0x000000041c000000, 0x000000041c800000| 0%| F| |TAMS 0x000000041c000000, 0x000000041c000000| Untracked
| 50|0x000000041c800000, 0x000000041c800000, 0x000000041d000000| 0%| F| |TAMS 0x000000041c800000, 0x000000041c800000| Untracked
| 51|0x000000041d000000, 0x000000041d000000, 0x000000041d800000| 0%| F| |TAMS 0x000000041d000000, 0x000000041d000000| Untracked
| 52|0x000000041d800000, 0x000000041d800000, 0x000000041e000000| 0%| F| |TAMS 0x000000041d800000, 0x000000041d800000| Untracked
| 53|0x000000041e000000, 0x000000041e000000, 0x000000041e800000| 0%| F| |TAMS 0x000000041e000000, 0x000000041e000000| Untracked
| 54|0x000000041e800000, 0x000000041e800000, 0x000000041f000000| 0%| F| |TAMS 0x000000041e800000, 0x000000041e800000| Untracked
| 55|0x000000041f000000, 0x000000041f000000, 0x000000041f800000| 0%| F| |TAMS 0x000000041f000000, 0x000000041f000000| Untracked
| 56|0x000000041f800000, 0x000000041f800000, 0x0000000420000000| 0%| F| |TAMS 0x000000041f800000, 0x000000041f800000| Untracked
| 57|0x0000000420000000, 0x0000000420000000, 0x0000000420800000| 0%| F| |TAMS 0x0000000420000000, 0x0000000420000000| Untracked
| 58|0x0000000420800000, 0x0000000420800000, 0x0000000421000000| 0%| F| |TAMS 0x0000000420800000, 0x0000000420800000| Untracked
| 59|0x0000000421000000, 0x0000000421000000, 0x0000000421800000| 0%| F| |TAMS 0x0000000421000000, 0x0000000421000000| Untracked
| 60|0x0000000421800000, 0x0000000421800000, 0x0000000422000000| 0%| F| |TAMS 0x0000000421800000, 0x0000000421800000| Untracked
| 61|0x0000000422000000, 0x0000000422000000, 0x0000000422800000| 0%| F| |TAMS 0x0000000422000000, 0x0000000422000000| Untracked
| 62|0x0000000422800000, 0x0000000422800000, 0x0000000423000000| 0%| F| |TAMS 0x0000000422800000, 0x0000000422800000| Untracked
| 63|0x0000000423000000, 0x0000000423000000, 0x0000000423800000| 0%| F| |TAMS 0x0000000423000000, 0x0000000423000000| Untracked
| 64|0x0000000423800000, 0x0000000423800000, 0x0000000424000000| 0%| F| |TAMS 0x0000000423800000, 0x0000000423800000| Untracked
| 65|0x0000000424000000, 0x0000000424000000, 0x0000000424800000| 0%| F| |TAMS 0x0000000424000000, 0x0000000424000000| Untracked
| 66|0x0000000424800000, 0x0000000424800000, 0x0000000425000000| 0%| F| |TAMS 0x0000000424800000, 0x0000000424800000| Untracked
| 67|0x0000000425000000, 0x0000000425000000, 0x0000000425800000| 0%| F| |TAMS 0x0000000425000000, 0x0000000425000000| Untracked
| 68|0x0000000425800000, 0x0000000425800000, 0x0000000426000000| 0%| F| |TAMS 0x0000000425800000, 0x0000000425800000| Untracked
| 69|0x0000000426000000, 0x0000000426000000, 0x0000000426800000| 0%| F| |TAMS 0x0000000426000000, 0x0000000426000000| Untracked
| 70|0x0000000426800000, 0x0000000426800000, 0x0000000427000000| 0%| F| |TAMS 0x0000000426800000, 0x0000000426800000| Untracked
| 71|0x0000000427000000, 0x0000000427000000, 0x0000000427800000| 0%| F| |TAMS 0x0000000427000000, 0x0000000427000000| Untracked
| 72|0x0000000427800000, 0x0000000427800000, 0x0000000428000000| 0%| F| |TAMS 0x0000000427800000, 0x0000000427800000| Untracked
| 73|0x0000000428000000, 0x0000000428000000, 0x0000000428800000| 0%| F| |TAMS 0x0000000428000000, 0x0000000428000000| Untracked
| 74|0x0000000428800000, 0x0000000428800000, 0x0000000429000000| 0%| F| |TAMS 0x0000000428800000, 0x0000000428800000| Untracked
| 75|0x0000000429000000, 0x0000000429000000, 0x0000000429800000| 0%| F| |TAMS 0x0000000429000000, 0x0000000429000000| Untracked
| 76|0x0000000429800000, 0x0000000429800000, 0x000000042a000000| 0%| F| |TAMS 0x0000000429800000, 0x0000000429800000| Untracked
| 77|0x000000042a000000, 0x000000042a000000, 0x000000042a800000| 0%| F| |TAMS 0x000000042a000000, 0x000000042a000000| Untracked
| 78|0x000000042a800000, 0x000000042a800000, 0x000000042b000000| 0%| F| |TAMS 0x000000042a800000, 0x000000042a800000| Untracked
| 79|0x000000042b000000, 0x000000042b000000, 0x000000042b800000| 0%| F| |TAMS 0x000000042b000000, 0x000000042b000000| Untracked
| 80|0x000000042b800000, 0x000000042b800000, 0x000000042c000000| 0%| F| |TAMS 0x000000042b800000, 0x000000042b800000| Untracked
| 81|0x000000042c000000, 0x000000042c000000, 0x000000042c800000| 0%| F| |TAMS 0x000000042c000000, 0x000000042c000000| Untracked
| 82|0x000000042c800000, 0x000000042c800000, 0x000000042d000000| 0%| F| |TAMS 0x000000042c800000, 0x000000042c800000| Untracked
| 83|0x000000042d000000, 0x000000042d000000, 0x000000042d800000| 0%| F| |TAMS 0x000000042d000000, 0x000000042d000000| Untracked
| 84|0x000000042d800000, 0x000000042d800000, 0x000000042e000000| 0%| F| |TAMS 0x000000042d800000, 0x000000042d800000| Untracked
| 85|0x000000042e000000, 0x000000042e000000, 0x000000042e800000| 0%| F| |TAMS 0x000000042e000000, 0x000000042e000000| Untracked
| 86|0x000000042e800000, 0x000000042e800000, 0x000000042f000000| 0%| F| |TAMS 0x000000042e800000, 0x000000042e800000| Untracked
| 87|0x000000042f000000, 0x000000042f000000, 0x000000042f800000| 0%| F| |TAMS 0x000000042f000000, 0x000000042f000000| Untracked
| 88|0x000000042f800000, 0x000000042f800000, 0x0000000430000000| 0%| F| |TAMS 0x000000042f800000, 0x000000042f800000| Untracked
| 89|0x0000000430000000, 0x0000000430000000, 0x0000000430800000| 0%| F| |TAMS 0x0000000430000000, 0x0000000430000000| Untracked
| 90|0x0000000430800000, 0x0000000430800000, 0x0000000431000000| 0%| F| |TAMS 0x0000000430800000, 0x0000000430800000| Untracked
| 91|0x0000000431000000, 0x0000000431000000, 0x0000000431800000| 0%| F| |TAMS 0x0000000431000000, 0x0000000431000000| Untracked
| 92|0x0000000431800000, 0x0000000431800000, 0x0000000432000000| 0%| F| |TAMS 0x0000000431800000, 0x0000000431800000| Untracked
| 93|0x0000000432000000, 0x0000000432000000, 0x0000000432800000| 0%| F| |TAMS 0x0000000432000000, 0x0000000432000000| Untracked
| 94|0x0000000432800000, 0x0000000432800000, 0x0000000433000000| 0%| F| |TAMS 0x0000000432800000, 0x0000000432800000| Untracked
| 95|0x0000000433000000, 0x0000000433000000, 0x0000000433800000| 0%| F| |TAMS 0x0000000433000000, 0x0000000433000000| Untracked
| 96|0x0000000433800000, 0x0000000433800000, 0x0000000434000000| 0%| F| |TAMS 0x0000000433800000, 0x0000000433800000| Untracked
| 97|0x0000000434000000, 0x0000000434000000, 0x0000000434800000| 0%| F| |TAMS 0x0000000434000000, 0x0000000434000000| Untracked
| 98|0x0000000434800000, 0x0000000434800000, 0x0000000435000000| 0%| F| |TAMS 0x0000000434800000, 0x0000000434800000| Untracked
| 99|0x0000000435000000, 0x0000000435000000, 0x0000000435800000| 0%| F| |TAMS 0x0000000435000000, 0x0000000435000000| Untracked
| 100|0x0000000435800000, 0x0000000435800000, 0x0000000436000000| 0%| F| |TAMS 0x0000000435800000, 0x0000000435800000| Untracked
| 101|0x0000000436000000, 0x0000000436000000, 0x0000000436800000| 0%| F| |TAMS 0x0000000436000000, 0x0000000436000000| Untracked
| 102|0x0000000436800000, 0x0000000436800000, 0x0000000437000000| 0%| F| |TAMS 0x0000000436800000, 0x0000000436800000| Untracked
| 103|0x0000000437000000, 0x0000000437000000, 0x0000000437800000| 0%| F| |TAMS 0x0000000437000000, 0x0000000437000000| Untracked
| 104|0x0000000437800000, 0x0000000437800000, 0x0000000438000000| 0%| F| |TAMS 0x0000000437800000, 0x0000000437800000| Untracked
| 105|0x0000000438000000, 0x0000000438000000, 0x0000000438800000| 0%| F| |TAMS 0x0000000438000000, 0x0000000438000000| Untracked
| 106|0x0000000438800000, 0x0000000438800000, 0x0000000439000000| 0%| F| |TAMS 0x0000000438800000, 0x0000000438800000| Untracked
| 107|0x0000000439000000, 0x0000000439000000, 0x0000000439800000| 0%| F| |TAMS 0x0000000439000000, 0x0000000439000000| Untracked
| 108|0x0000000439800000, 0x0000000439800000, 0x000000043a000000| 0%| F| |TAMS 0x0000000439800000, 0x0000000439800000| Untracked
| 109|0x000000043a000000, 0x000000043a000000, 0x000000043a800000| 0%| F| |TAMS 0x000000043a000000, 0x000000043a000000| Untracked
| 110|0x000000043a800000, 0x000000043a800000, 0x000000043b000000| 0%| F| |TAMS 0x000000043a800000, 0x000000043a800000| Untracked
| 111|0x000000043b000000, 0x000000043b000000, 0x000000043b800000| 0%| F| |TAMS 0x000000043b000000, 0x000000043b000000| Untracked
| 112|0x000000043b800000, 0x000000043b800000, 0x000000043c000000| 0%| F| |TAMS 0x000000043b800000, 0x000000043b800000| Untracked
| 113|0x000000043c000000, 0x000000043c000000, 0x000000043c800000| 0%| F| |TAMS 0x000000043c000000, 0x000000043c000000| Untracked
| 114|0x000000043c800000, 0x000000043c800000, 0x000000043d000000| 0%| F| |TAMS 0x000000043c800000, 0x000000043c800000| Untracked
| 115|0x000000043d000000, 0x000000043d000000, 0x000000043d800000| 0%| F| |TAMS 0x000000043d000000, 0x000000043d000000| Untracked
| 116|0x000000043d800000, 0x000000043d800000, 0x000000043e000000| 0%| F| |TAMS 0x000000043d800000, 0x000000043d800000| Untracked
| 117|0x000000043e000000, 0x000000043e000000, 0x000000043e800000| 0%| F| |TAMS 0x000000043e000000, 0x000000043e000000| Untracked
| 118|0x000000043e800000, 0x000000043e800000, 0x000000043f000000| 0%| F| |TAMS 0x000000043e800000, 0x000000043e800000| Untracked
| 119|0x000000043f000000, 0x000000043f000000, 0x000000043f800000| 0%| F| |TAMS 0x000000043f000000, 0x000000043f000000| Untracked
| 120|0x000000043f800000, 0x000000043f800000, 0x0000000440000000| 0%| F| |TAMS 0x000000043f800000, 0x000000043f800000| Untracked
| 121|0x0000000440000000, 0x0000000440000000, 0x0000000440800000| 0%| F| |TAMS 0x0000000440000000, 0x0000000440000000| Untracked
| 122|0x0000000440800000, 0x0000000440800000, 0x0000000441000000| 0%| F| |TAMS 0x0000000440800000, 0x0000000440800000| Untracked
| 123|0x0000000441000000, 0x0000000441000000, 0x0000000441800000| 0%| F| |TAMS 0x0000000441000000, 0x0000000441000000| Untracked
| 124|0x0000000441800000, 0x0000000441800000, 0x0000000442000000| 0%| F| |TAMS 0x0000000441800000, 0x0000000441800000| Untracked
| 125|0x0000000442000000, 0x0000000442000000, 0x0000000442800000| 0%| F| |TAMS 0x0000000442000000, 0x0000000442000000| Untracked
| 126|0x0000000442800000, 0x0000000442be4320, 0x0000000443000000| 48%| E| |TAMS 0x0000000442800000, 0x0000000442800000| Complete
| 127|0x0000000443000000, 0x0000000443800000, 0x0000000443800000|100%| E|CS|TAMS 0x0000000443000000, 0x0000000443000000| Complete
Card table byte_map: [0x0000021551b60000,0x0000021553b50000] _byte_map_base: 0x000002154fb44000
Marking Bits (Prev, Next): (CMBitMap*) 0x0000021538347b20, (CMBitMap*) 0x0000021538347b60
Prev Bits: [0x0000021555b40000, 0x0000021565a60000)
Next Bits: [0x0000021565a60000, 0x0000021575980000)
Polling page: 0x0000021535fd0000
Metaspace:
Usage:
Non-class: 2.93 MB used.
Class: 206.12 KB used.
Both: 3.13 MB used.
Virtual space:
Non-class space: 64.00 MB reserved, 3.06 MB ( 5%) committed, 1 nodes.
Class space: 1.00 GB reserved, 320.00 KB ( <1%) committed, 1 nodes.
Both: 1.06 GB reserved, 3.38 MB ( <1%) committed.
Chunk freelists:
Non-Class: 10.48 MB
Class: 15.67 MB
Both: 26.15 MB
MaxMetaspaceSize: unlimited
CompressedClassSpaceSize: 1.00 GB
Initial GC threshold: 21.00 MB
Current GC threshold: 21.00 MB
CDS: on
MetaspaceReclaimPolicy: balanced
- commit_granule_bytes: 65536.
- commit_granule_words: 8192.
- virtual_space_node_default_size: 8388608.
- enlarge_chunks_in_place: 1.
- new_chunks_are_fully_committed: 0.
- uncommit_free_chunks: 1.
- use_allocation_guard: 0.
- handle_deallocations: 1.
Internal statistics:
num_allocs_failed_limit: 0.
num_arena_births: 62.
num_arena_deaths: 0.
num_vsnodes_births: 2.
num_vsnodes_deaths: 0.
num_space_committed: 54.
num_space_uncommitted: 0.
num_chunks_returned_to_freelist: 0.
num_chunks_taken_from_freelist: 134.
num_chunk_merges: 0.
num_chunk_splits: 90.
num_chunks_enlarged: 62.
num_inconsistent_stats: 0.
CodeHeap 'non-profiled nmethods': size=119168Kb used=147Kb max_used=147Kb free=119020Kb
bounds [0x0000021547920000, 0x0000021547b90000, 0x000002154ed80000]
CodeHeap 'profiled nmethods': size=119104Kb used=812Kb max_used=812Kb free=118291Kb
bounds [0x000002153fd80000, 0x000002153fff0000, 0x00000215471d0000]
CodeHeap 'non-nmethods': size=7488Kb used=2938Kb max_used=2957Kb free=4549Kb
bounds [0x00000215471d0000, 0x00000215474c0000, 0x0000021547920000]
total_blobs=997 nmethods=516 adapters=391
compilation: enabled
stopped_count=0, restarted_count=0
full_count=0
Compilation events (20 events):
Event: 0.203 Thread 0x0000021579169b90 nmethod 505 0x000002153fe43f90 code [0x000002153fe44160, 0x000002153fe444b8]
Event: 0.203 Thread 0x00000215792c19a0 nmethod 506 0x000002153fe44610 code [0x000002153fe447a0, 0x000002153fe44908]
Event: 0.203 Thread 0x00000215792982f0 nmethod 504 0x000002153fe44a10 code [0x000002153fe44c40, 0x000002153fe45398]
Event: 0.204 Thread 0x00000215792982f0 508 3 java.net.URL::isBuiltinStreamHandler (32 bytes)
Event: 0.204 Thread 0x00000215792ba820 509 3 java.net.URL::isBuiltinStreamHandler (8 bytes)
Event: 0.204 Thread 0x0000021579169b90 510 3 sun.net.util.IPAddressUtil::checkHostString (53 bytes)
Event: 0.204 Thread 0x00000215792c19a0 511 3 sun.net.util.IPAddressUtil::scan (92 bytes)
Event: 0.204 Thread 0x00000215791671c0 nmethod 501 0x0000021547944190 code [0x0000021547944300, 0x0000021547944478]
Event: 0.204 Thread 0x00000215792ba820 nmethod 509 0x000002153fe45790 code [0x000002153fe45940, 0x000002153fe45b08]
Event: 0.204 Thread 0x00000215792c19a0 nmethod 511 0x000002153fe45c10 code [0x000002153fe45e80, 0x000002153fe469f8]
Event: 0.204 Thread 0x00000215792982f0 nmethod 508 0x000002153fe46f90 code [0x000002153fe47260, 0x000002153fe48358]
Event: 0.204 Thread 0x0000021579169b90 nmethod 510 0x000002153fe48990 code [0x000002153fe48c40, 0x000002153fe497e8]
Event: 0.205 Thread 0x0000021579169b90 512 1 java.lang.NamedPackage::module (5 bytes)
Event: 0.205 Thread 0x0000021579169b90 nmethod 512 0x0000021547944590 code [0x0000021547944720, 0x00000215479447f8]
Event: 0.206 Thread 0x0000021579169b90 513 3 java.lang.String::indexOf (18 bytes)
Event: 0.206 Thread 0x00000215792c19a0 514 3 java.lang.String::indexOf (113 bytes)
Event: 0.206 Thread 0x00000215792982f0 515 3 java.io.RandomAccessFile::seek (22 bytes)
Event: 0.206 Thread 0x0000021579169b90 nmethod 513 0x000002153fe49c90 code [0x000002153fe49e60, 0x000002153fe4a148]
Event: 0.206 Thread 0x00000215792c19a0 nmethod 514 0x000002153fe4a290 code [0x000002153fe4a4c0, 0x000002153fe4ab48]
Event: 0.206 Thread 0x00000215792982f0 nmethod 515 0x000002153fe4ad10 code [0x000002153fe4aee0, 0x000002153fe4b138]
GC Heap History (0 events):
No events
Dll operation events (8 events):
Event: 0.003 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
Event: 0.009 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
Event: 0.113 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
Event: 0.115 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
Event: 0.117 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
Event: 0.153 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
Event: 0.164 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
Event: 0.187 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
Deoptimization events (12 events):
Event: 0.182 Thread 0x0000021538297f80 DEOPT PACKING pc=0x000002153fe0c05a sp=0x000000e6ef4fbf10
Event: 0.182 Thread 0x0000021538297f80 DEOPT UNPACKING pc=0x0000021547227143 sp=0x000000e6ef4fb398 mode 0
Event: 0.183 Thread 0x0000021538297f80 DEOPT PACKING pc=0x000002153fe0c05a sp=0x000000e6ef4fbf10
Event: 0.183 Thread 0x0000021538297f80 DEOPT UNPACKING pc=0x0000021547227143 sp=0x000000e6ef4fb398 mode 0
Event: 0.183 Thread 0x0000021538297f80 DEOPT PACKING pc=0x000002153fe0c05a sp=0x000000e6ef4fbf10
Event: 0.183 Thread 0x0000021538297f80 DEOPT UNPACKING pc=0x0000021547227143 sp=0x000000e6ef4fb398 mode 0
Event: 0.196 Thread 0x0000021538297f80 DEOPT PACKING pc=0x000002153fd994ea sp=0x000000e6ef4fa860
Event: 0.196 Thread 0x0000021538297f80 DEOPT UNPACKING pc=0x0000021547227143 sp=0x000000e6ef4f9c80 mode 0
Event: 0.206 Thread 0x0000021538297f80 Uncommon trap: trap_request=0xffffff54 fr.pc=0x0000021547943c6c relative=0x000000000000006c
Event: 0.206 Thread 0x0000021538297f80 Uncommon trap: reason=speculate_null_assert action=make_not_entrant pc=0x0000021547943c6c method=sun.misc.Unsafe.putLong(Ljava/lang/Object;JJ)V @ 7 c2
Event: 0.206 Thread 0x0000021538297f80 DEOPT PACKING pc=0x0000021547943c6c sp=0x000000e6ef4ff1c0
Event: 0.206 Thread 0x0000021538297f80 DEOPT UNPACKING pc=0x00000215472269a3 sp=0x000000e6ef4ff158 mode 2
Classes unloaded (0 events):
No events
Classes redefined (0 events):
No events
Internal exceptions (18 events):
Event: 0.138 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x00000004428cc130}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object)'> (0x00000004428cc130)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.140 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x00000004428d9a68}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000004428d9a68)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.142 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x00000004428ee350}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, int)'> (0x00000004428ee350)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.142 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x00000004428fa1b8}: 'void java.lang.invoke.DelegatingMethodHandle$Holder.delegate(java.lang.Object, java.lang.Object, int, java.lang.Object)'> (0x00000004428fa1b8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.143 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x00000004428fe3f8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000004428fe3f8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.163 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x00000004429aaaf8}> (0x00000004429aaaf8)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.163 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x00000004429ab078}> (0x00000004429ab078)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.187 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442a2f090}> (0x0000000442a2f090)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.187 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442a2f460}> (0x0000000442a2f460)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.189 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442a38870}> (0x0000000442a38870)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.189 Thread 0x0000021538297f80 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442a38b70}> (0x0000000442a38b70)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.191 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442a6b668}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object)'> (0x0000000442a6b668)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.193 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442a885d0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, int, long)'> (0x0000000442a885d0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.194 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442a8e140}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, int)'> (0x0000000442a8e140)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.195 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442a9cfe8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, long, long)'> (0x0000000442a9cfe8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.195 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442aa30f8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, long)'> (0x0000000442aa30f8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.195 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442aa73e8}: 'java.lang.Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(java.lang.Object, long, java.lang.Object)'> (0x0000000442aa73e8)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.196 Thread 0x0000021538297f80 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442aaeb00}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, long)'> (0x0000000442aaeb00)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
VM Operations (6 events):
Event: 0.026 Executing VM operation: ChangeBreakpoints
Event: 0.027 Executing VM operation: ChangeBreakpoints done
Event: 0.117 Executing VM operation: HandshakeAllThreads
Event: 0.117 Executing VM operation: HandshakeAllThreads done
Event: 0.170 Executing VM operation: HandshakeAllThreads
Event: 0.170 Executing VM operation: HandshakeAllThreads done
Events (20 events):
Event: 0.192 loading class java/nio/DirectDoubleBufferU
Event: 0.192 loading class java/nio/DirectDoubleBufferU done
Event: 0.192 loading class sun/misc/Unsafe
Event: 0.192 loading class sun/misc/Unsafe done
Event: 0.192 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory
Event: 0.192 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory done
Event: 0.192 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
Event: 0.192 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl
Event: 0.192 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl done
Event: 0.192 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl done
Event: 0.193 loading class java/util/function/LongPredicate
Event: 0.193 loading class java/util/function/LongPredicate done
Event: 0.194 loading class jdk/internal/access/foreign/MemorySegmentProxy
Event: 0.194 loading class jdk/internal/access/foreign/MemorySegmentProxy done
Event: 0.197 loading class java/nio/InvalidMarkException
Event: 0.197 loading class java/nio/InvalidMarkException done
Event: 0.197 loading class java/nio/BufferUnderflowException
Event: 0.197 loading class java/nio/BufferUnderflowException done
Event: 0.201 loading class java/util/Formatter$FixedString
Event: 0.201 loading class java/util/Formatter$FixedString done
Dynamic libraries:
0x00007ff7fa2a0000 - 0x00007ff7fa2ae000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.exe
0x00007ffbe1910000 - 0x00007ffbe1b08000 C:\Windows\SYSTEM32\ntdll.dll
0x00007ffbdfa90000 - 0x00007ffbdfb4f000 C:\Windows\System32\KERNEL32.DLL
0x00007ffbdf220000 - 0x00007ffbdf516000 C:\Windows\System32\KERNELBASE.dll
0x00007ffbdf680000 - 0x00007ffbdf780000 C:\Windows\System32\ucrtbase.dll
0x00007ffbd1770000 - 0x00007ffbd1789000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\VCRUNTIME140.dll
0x00007ffbd1970000 - 0x00007ffbd1987000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jli.dll
0x00007ffbe1290000 - 0x00007ffbe142d000 C:\Windows\System32\USER32.dll
0x00007ffbdf820000 - 0x00007ffbdf842000 C:\Windows\System32\win32u.dll
0x00007ffbd2730000 - 0x00007ffbd29ca000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
0x00007ffbe1430000 - 0x00007ffbe145c000 C:\Windows\System32\GDI32.dll
0x00007ffbe11f0000 - 0x00007ffbe128e000 C:\Windows\System32\msvcrt.dll
0x00007ffbdf850000 - 0x00007ffbdf965000 C:\Windows\System32\gdi32full.dll
0x00007ffbdf780000 - 0x00007ffbdf81d000 C:\Windows\System32\msvcp_win.dll
0x00007ffbe0dc0000 - 0x00007ffbe0df0000 C:\Windows\System32\IMM32.DLL
0x00007ffbdb340000 - 0x00007ffbdb34c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\vcruntime140_1.dll
0x00007ffbb7750000 - 0x00007ffbb77e1000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\msvcp140.dll
0x00007ffb81550000 - 0x00007ffb82198000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server\jvm.dll
0x00007ffbdfd50000 - 0x00007ffbdfdff000 C:\Windows\System32\ADVAPI32.dll
0x00007ffbe0c70000 - 0x00007ffbe0d0c000 C:\Windows\System32\sechost.dll
0x00007ffbe06a0000 - 0x00007ffbe07c6000 C:\Windows\System32\RPCRT4.dll
0x00007ffbb6d00000 - 0x00007ffbb6d09000 C:\Windows\SYSTEM32\WSOCK32.dll
0x00007ffbe08b0000 - 0x00007ffbe091b000 C:\Windows\System32\WS2_32.dll
0x00007ffbd3cb0000 - 0x00007ffbd3cd7000 C:\Windows\SYSTEM32\WINMM.dll
0x00007ffbd9520000 - 0x00007ffbd952a000 C:\Windows\SYSTEM32\VERSION.dll
0x00007ffbdced0000 - 0x00007ffbdcee2000 C:\Windows\SYSTEM32\kernel.appcore.dll
0x00007ffbdaa60000 - 0x00007ffbdaa6a000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
0x00007ffbd32c0000 - 0x00007ffbd34a4000 C:\Windows\SYSTEM32\DBGHELP.DLL
0x00007ffbcc540000 - 0x00007ffbcc574000 C:\Windows\SYSTEM32\dbgcore.DLL
0x00007ffbdf020000 - 0x00007ffbdf0a2000 C:\Windows\System32\bcryptPrimitives.dll
0x00007ffbd1ac0000 - 0x00007ffbd1afb000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jdwp.dll
0x00007ffbbbe60000 - 0x00007ffbbbe85000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
0x00007ffbaf940000 - 0x00007ffbafa16000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
0x00007ffbdfee0000 - 0x00007ffbe0624000 C:\Windows\System32\SHELL32.dll
0x00007ffbdd0d0000 - 0x00007ffbdd863000 C:\Windows\SYSTEM32\windows.storage.dll
0x00007ffbe0e90000 - 0x00007ffbe11e4000 C:\Windows\System32\combase.dll
0x00007ffbdea50000 - 0x00007ffbdea7e000 C:\Windows\SYSTEM32\Wldp.dll
0x00007ffbe0d10000 - 0x00007ffbe0dbd000 C:\Windows\System32\SHCORE.dll
0x00007ffbe0640000 - 0x00007ffbe0695000 C:\Windows\System32\shlwapi.dll
0x00007ffbdef30000 - 0x00007ffbdef4f000 C:\Windows\SYSTEM32\profapi.dll
0x00007ffbdb370000 - 0x00007ffbdb37c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\dt_socket.dll
0x00007ffbde450000 - 0x00007ffbde48c000 C:\Windows\SYSTEM32\IPHLPAPI.DLL
0x00007ffbde7b0000 - 0x00007ffbde81a000 C:\Windows\system32\mswsock.dll
0x00007ffbde4a0000 - 0x00007ffbde56b000 C:\Windows\SYSTEM32\DNSAPI.dll
0x00007ffbe0df0000 - 0x00007ffbe0df8000 C:\Windows\System32\NSI.dll
0x00007ffbd1590000 - 0x00007ffbd159a000 C:\Windows\System32\rasadhlp.dll
0x00007ffbd1d40000 - 0x00007ffbd1dc2000 C:\Windows\System32\fwpuclnt.dll
0x00007ffbdeff0000 - 0x00007ffbdf017000 C:\Windows\System32\bcrypt.dll
0x00007ffbcc6c0000 - 0x00007ffbcc6d9000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
0x00007ffbd7570000 - 0x00007ffbd767a000 C:\Windows\SYSTEM32\WINHTTP.dll
0x00007ffbbbe40000 - 0x00007ffbbbe55000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
0x00007ffbcb4c0000 - 0x00007ffbcb4d8000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
0x00007ffbb6290000 - 0x00007ffbb630a000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
0x00007ffbcc6f0000 - 0x00007ffbcc74e000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
0x00007ffbb0460000 - 0x00007ffbb0585000 C:\Windows\SYSTEM32\opengl32.dll
0x00007ffbd1900000 - 0x00007ffbd192c000 C:\Windows\SYSTEM32\GLU32.dll
dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server;C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64
VM Arguments:
jvm_args: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53479 -XX:+ShowCodeDetailsInExceptionMessages
java_command: electrosphere.Main
java_class_path (initial): C:\Users\satellite\Documents\fluid-sim\target\classes;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opencl\3.3.2\lwjgl-opencl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\joml\joml\1.10.5\joml-1.10.5.jar
Launcher Type: SUN_STANDARD
[Global flags]
intx CICompilerCount = 12 {product} {ergonomic}
uint ConcGCThreads = 5 {product} {ergonomic}
uint G1ConcRefinementThreads = 18 {product} {ergonomic}
size_t G1HeapRegionSize = 8388608 {product} {ergonomic}
uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
size_t InitialHeapSize = 1073741824 {product} {ergonomic}
size_t MarkStackSize = 4194304 {product} {ergonomic}
size_t MaxHeapSize = 17121148928 {product} {ergonomic}
size_t MaxNewSize = 10267656192 {product} {ergonomic}
size_t MinHeapDeltaBytes = 8388608 {product} {ergonomic}
size_t MinHeapSize = 8388608 {product} {ergonomic}
uintx NonNMethodCodeHeapSize = 7602480 {pd product} {ergonomic}
uintx NonProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
bool SegmentedCodeCache = true {product} {ergonomic}
bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line}
size_t SoftMaxHeapSize = 17121148928 {manageable} {ergonomic}
bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
bool UseCompressedOops = true {product lp64_product} {ergonomic}
bool UseG1GC = true {product} {ergonomic}
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
Logging:
Log output configuration:
#0: stdout all=warning uptime,level,tags
#1: stderr all=off uptime,level,tags
Environment Variables:
JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot
CLASSPATH=.;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\lib;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\jre\lib
PATH=C:\Users\satellite\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\satellite\bin;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\Apache Maven\bin;C:\Program Files\nodejs;C:\Program Files\dotnet;C:\Program Files\Mullvad VPN\resources;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Airshipper;C:\Users\satellite\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Users\satellite\AppData\Local\Microsoft\WindowsApps;C:\Users\satellite\AppData\Roaming\npm;C:\Users\satellite\.dotnet\tools;C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\Program Files\qemu;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin;C:\Program Files\Nuget;C:\Users\satellite\anaconda3\condabin;C:\Users\satellite\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\android-platform-tools;C:\Users\satellite\AppData\Local\Android\Sdk\platform-tools;C:\Program Files\ffmpeg-2022-11-03-git-5ccd4d3060-full_build\bin;C:\Program Files\cli-utils;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
USERNAME=satellite
SHELL=C:\Program Files\Git\usr\bin\bash.exe
DISPLAY=needs-to-be-defined
LANG=en_US.UTF-8
TERM=xterm-256color
TMPDIR=C:\Users\SATELL~1\AppData\Local\Temp
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
TMP=C:\Users\SATELL~1\AppData\Local\Temp
TEMP=C:\Users\SATELL~1\AppData\Local\Temp
--------------- S Y S T E M ---------------
OS:
Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
OS uptime: 0 days 9:46 hours
CPU: total 24 (initial active 24) (12 cores per cpu, 2 threads per core) family 6 model 151 stepping 2 microcode 0x26, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, sha, fma, vzeroupper, clflush, clflushopt, clwb
Memory: 4k page, system-wide physical 65306M (49561M free)
TotalPageFile size 75034M (AvailPageFile size 53843M)
current process WorkingSet (physical memory assigned to process): 51M, peak: 51M
current process commit charge ("private bytes"): 1172M, peak: 1172M
vm_info: OpenJDK 64-Bit Server VM (17.0.7+7) for windows-amd64 JRE (17.0.7+7), built on Apr 18 2023 22:10:42 by "temurin" with MS VC++ 16.7 (VS2019)
END.

916
hs_err_pid4144.log Normal file
View File

@ -0,0 +1,916 @@
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbcc6ffbdd, pid=4144, tid=3968
#
# JRE version: OpenJDK Runtime Environment Temurin-17.0.7+7 (17.0.7+7) (build 17.0.7+7)
# Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (17.0.7+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C [lwjgl_opengl.dll+0xfbdd]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53400 -XX:+ShowCodeDetailsInExceptionMessages electrosphere.Main
Host: 12th Gen Intel(R) Core(TM) i9-12900K, 24 cores, 63G, Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
Time: Fri Jun 30 18:54:32 2023 Eastern Daylight Time elapsed time: 0.272894 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x000001ac89e07030): JavaThread "main" [_thread_in_native, id=3968, stack(0x000000a41e600000,0x000000a41e700000)]
Stack: [0x000000a41e600000,0x000000a41e700000], sp=0x000000a41e6fee98, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [lwjgl_opengl.dll+0xfbdd]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.GL30C.nglGenVertexArrays(IJ)V+0
j org.lwjgl.opengl.GL30C.glGenVertexArrays()I+20
j org.lwjgl.opengl.GL30.glGenVertexArrays()I+0
j electrosphere.render.Mesh.meshInitially(Lelectrosphere/FluidSim;)V+0
j electrosphere.Main.main([Ljava/lang/String;)V+13
v ~StubRoutines::call_stub
siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x00000000000013c8
Register to memory mapping:
RIP=0x00007ffbcc6ffbdd lwjgl_opengl.dll
RAX=0x000001accf6b5e00 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
RBX={method} {0x000001accb5455c8} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
RCX=0x0000000000000001 is an unknown value
RDX=0x000001accf80f89c points into unknown readable memory: 00 00 00 00
RSP=0x000000a41e6fee98 is pointing into the stack for thread: 0x000001ac89e07030
RBP=0x000000a41e6fef20 is pointing into the stack for thread: 0x000001ac89e07030
RSI=0x000001accf486fd8 points into unknown readable memory: 0x8800097349d18d80 | 80 8d d1 49 73 09 00 88
RDI=0x000001ac98d4a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x000001ac98d49160, 0x000001ac98d4b380] 8736 bytes
R8 =0x0000000000000001 is an unknown value
R9 =0x000001accf80f89c points into unknown readable memory: 00 00 00 00
R10=0x0 is NULL
R11=0x0000000442a98dc0 is an oop: java.lang.Class
{0x0000000442a98dc0} - klass: 'java/lang/Class'
- ---- fields (total size 130 words):
- private volatile transient 'classRedefinedCount' 'I' @12 0
- private volatile transient 'cachedConstructor' 'Ljava/lang/reflect/Constructor;' @40 NULL (0)
- private transient 'name' 'Ljava/lang/String;' @44 "org.lwjgl.opengl.GL30C"{0x0000000442a991e0} (8855323c)
- private transient 'module' 'Ljava/lang/Module;' @48 a 'java/lang/Module'{0x0000000443062e60} (8860c5cc)
- private final 'classLoader' 'Ljava/lang/ClassLoader;' @52 a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000443062ca0} (8860c594)
- private transient 'classData' 'Ljava/lang/Object;' @56 NULL (0)
- private transient 'packageName' 'Ljava/lang/String;' @60 "org.lwjgl.opengl"{0x0000000443550f18} (886aa1e3)
- private final 'componentType' 'Ljava/lang/Class;' @64 NULL (0)
- private volatile transient 'reflectionData' 'Ljava/lang/ref/SoftReference;' @68 NULL (0)
- private volatile transient 'genericInfo' 'Lsun/reflect/generics/repository/ClassRepository;' @72 NULL (0)
- private volatile transient 'enumConstants' '[Ljava/lang/Object;' @76 NULL (0)
- private volatile transient 'enumConstantDirectory' 'Ljava/util/Map;' @80 NULL (0)
- private volatile transient 'annotationData' 'Ljava/lang/Class$AnnotationData;' @84 NULL (0)
- private volatile transient 'annotationType' 'Lsun/reflect/annotation/AnnotationType;' @88 NULL (0)
- transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;' @92 NULL (0)
- signature: Lorg/lwjgl/opengl/GL30C;
- fake entry for mirror: 'org/lwjgl/opengl/GL30C'
- fake entry for array: NULL
- fake entry for oop_size: 130
- fake entry for static_oop_field_count: 0
- public static final 'GL_MAJOR_VERSION' 'I' @112 33307 (821b)
- public static final 'GL_MINOR_VERSION' 'I' @116 33308 (821c)
- public static final 'GL_NUM_EXTENSIONS' 'I' @120 33309 (821d)
- public static final 'GL_CONTEXT_FLAGS' 'I' @124 33310 (821e)
- public static final 'GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT' 'I' @128 1
- public static final 'GL_COMPARE_REF_TO_TEXTURE' 'I' @132 34894 (884e)
- public static final 'GL_CLIP_DISTANCE0' 'I' @136 12288 (3000)
- public static final 'GL_CLIP_DISTANCE1' 'I' @140 12289 (3001)
- public static final 'GL_CLIP_DISTANCE2' 'I' @144 12290 (3002)
- public static final 'GL_CLIP_DISTANCE3' 'I' @148 12291 (3003)
- public static final 'GL_CLIP_DISTANCE4' 'I' @152 12292 (3004)
- public static final 'GL_CLIP_DISTANCE5' 'I' @156 12293 (3005)
- public static final 'GL_CLIP_DISTANCE6' 'I' @160 12294 (3006)
- public static final 'GL_CLIP_DISTANCE7' 'I' @164 12295 (3007)
- public static final 'GL_MAX_CLIP_DISTANCES' 'I' @168 3378 (d32)
- public static final 'GL_MAX_VARYING_COMPONENTS' 'I' @172 35659 (8b4b)
- public static final 'GL_VERTEX_ATTRIB_ARRAY_INTEGER' 'I' @176 35069 (88fd)
- public static final 'GL_SAMPLER_1D_ARRAY' 'I' @180 36288 (8dc0)
- public static final 'GL_SAMPLER_2D_ARRAY' 'I' @184 36289 (8dc1)
- public static final 'GL_SAMPLER_1D_ARRAY_SHADOW' 'I' @188 36291 (8dc3)
- public static final 'GL_SAMPLER_2D_ARRAY_SHADOW' 'I' @192 36292 (8dc4)
- public static final 'GL_SAMPLER_CUBE_SHADOW' 'I' @196 36293 (8dc5)
- public static final 'GL_UNSIGNED_INT_VEC2' 'I' @200 36294 (8dc6)
- public static final 'GL_UNSIGNED_INT_VEC3' 'I' @204 36295 (8dc7)
- public static final 'GL_UNSIGNED_INT_VEC4' 'I' @208 36296 (8dc8)
- public static final 'GL_INT_SAMPLER_1D' 'I' @212 36297 (8dc9)
- public static final 'GL_INT_SAMPLER_2D' 'I' @216 36298 (8dca)
- public static final 'GL_INT_SAMPLER_3D' 'I' @220 36299 (8dcb)
- public static final 'GL_INT_SAMPLER_CUBE' 'I' @224 36300 (8dcc)
- public static final 'GL_INT_SAMPLER_1D_ARRAY' 'I' @228 36302 (8dce)
- public static final 'GL_INT_SAMPLER_2D_ARRAY' 'I' @232 36303 (8dcf)
- public static final 'GL_UNSIGNED_INT_SAMPLER_1D' 'I' @236 36305 (8dd1)
- public static final 'GL_UNSIGNED_INT_SAMPLER_2D' 'I' @240 36306 (8dd2)
- public static final 'GL_UNSIGNED_INT_SAMPLER_3D' 'I' @244 36307 (8dd3)
- public static final 'GL_UNSIGNED_INT_SAMPLER_CUBE' 'I' @248 36308 (8dd4)
- public static final 'GL_UNSIGNED_INT_SAMPLER_1D_ARRAY' 'I' @252 36310 (8dd6)
- public static final 'GL_UNSIGNED_INT_SAMPLER_2D_ARRAY' 'I' @256 36311 (8dd7)
- public static final 'GL_MIN_PROGRAM_TEXEL_OFFSET' 'I' @260 35076 (8904)
- public static final 'GL_MAX_PROGRAM_TEXEL_OFFSET' 'I' @264 35077 (8905)
- public static final 'GL_QUERY_WAIT' 'I' @268 36371 (8e13)
- public static final 'GL_QUERY_NO_WAIT' 'I' @272 36372 (8e14)
- public static final 'GL_QUERY_BY_REGION_WAIT' 'I' @276 36373 (8e15)
- public static final 'GL_QUERY_BY_REGION_NO_WAIT' 'I' @280 36374 (8e16)
- public static final 'GL_MAP_READ_BIT' 'I' @284 1
- public static final 'GL_MAP_WRITE_BIT' 'I' @288 2
- public static final 'GL_MAP_INVALIDATE_RANGE_BIT' 'I' @292 4
- public static final 'GL_MAP_INVALIDATE_BUFFER_BIT' 'I' @296 8
- public static final 'GL_MAP_FLUSH_EXPLICIT_BIT' 'I' @300 16 (10)
- public static final 'GL_MAP_UNSYNCHRONIZED_BIT' 'I' @304 32 (20)
- public static final 'GL_BUFFER_ACCESS_FLAGS' 'I' @308 37151 (911f)
- public static final 'GL_BUFFER_MAP_LENGTH' 'I' @312 37152 (9120)
- public static final 'GL_BUFFER_MAP_OFFSET' 'I' @316 37153 (9121)
- public static final 'GL_CLAMP_READ_COLOR' 'I' @320 35100 (891c)
- public static final 'GL_FIXED_ONLY' 'I' @324 35101 (891d)
- public static final 'GL_DEPTH_COMPONENT32F' 'I' @328 36012 (8cac)
- public static final 'GL_DEPTH32F_STENCIL8' 'I' @332 36013 (8cad)
- public static final 'GL_FLOAT_32_UNSIGNED_INT_24_8_REV' 'I' @336 36269 (8dad)
- public static final 'GL_TEXTURE_RED_TYPE' 'I' @340 35856 (8c10)
- public static final 'GL_TEXTURE_GREEN_TYPE' 'I' @344 35857 (8c11)
- public static final 'GL_TEXTURE_BLUE_TYPE' 'I' @348 35858 (8c12)
- public static final 'GL_TEXTURE_ALPHA_TYPE' 'I' @352 35859 (8c13)
- public static final 'GL_TEXTURE_DEPTH_TYPE' 'I' @356 35862 (8c16)
- public static final 'GL_UNSIGNED_NORMALIZED' 'I' @360 35863 (8c17)
- public static final 'GL_RGBA32F' 'I' @364 34836 (8814)
- public static final 'GL_RGB32F' 'I' @368 34837 (8815)
- public static final 'GL_RGBA16F' 'I' @372 34842 (881a)
- public static final 'GL_RGB16F' 'I' @376 34843 (881b)
- public static final 'GL_R11F_G11F_B10F' 'I' @380 35898 (8c3a)
- public static final 'GL_UNSIGNED_INT_10F_11F_11F_REV' 'I' @384 35899 (8c3b)
- public static final 'GL_RGB9_E5' 'I' @388 35901 (8c3d)
- public static final 'GL_UNSIGNED_INT_5_9_9_9_REV' 'I' @392 35902 (8c3e)
- public static final 'GL_TEXTURE_SHARED_SIZE' 'I' @396 35903 (8c3f)
- public static final 'GL_FRAMEBUFFER' 'I' @400 36160 (8d40)
- public static final 'GL_READ_FRAMEBUFFER' 'I' @404 36008 (8ca8)
- public static final 'GL_DRAW_FRAMEBUFFER' 'I' @408 36009 (8ca9)
- public static final 'GL_RENDERBUFFER' 'I' @412 36161 (8d41)
- public static final 'GL_STENCIL_INDEX1' 'I' @416 36166 (8d46)
- public static final 'GL_STENCIL_INDEX4' 'I' @420 36167 (8d47)
- public static final 'GL_STENCIL_INDEX8' 'I' @424 36168 (8d48)
- public static final 'GL_STENCIL_INDEX16' 'I' @428 36169 (8d49)
- public static final 'GL_RENDERBUFFER_WIDTH' 'I' @432 36162 (8d42)
- public static final 'GL_RENDERBUFFER_HEIGHT' 'I' @436 36163 (8d43)
- public static final 'GL_RENDERBUFFER_INTERNAL_FORMAT' 'I' @440 36164 (8d44)
- public static final 'GL_RENDERBUFFER_RED_SIZE' 'I' @444 36176 (8d50)
- public static final 'GL_RENDERBUFFER_GREEN_SIZE' 'I' @448 36177 (8d51)
- public static final 'GL_RENDERBUFFER_BLUE_SIZE' 'I' @452 36178 (8d52)
- public static final 'GL_RENDERBUFFER_ALPHA_SIZE' 'I' @456 36179 (8d53)
- public static final 'GL_RENDERBUFFER_DEPTH_SIZE' 'I' @460 36180 (8d54)
- public static final 'GL_RENDERBUFFER_STENCIL_SIZE' 'I' @464 36181 (8d55)
- public static final 'GL_RENDERBUFFER_SAMPLES' 'I' @468 36011 (8cab)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE' 'I' @472 36048 (8cd0)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME' 'I' @476 36049 (8cd1)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL' 'I' @480 36050 (8cd2)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE' 'I' @484 36051 (8cd3)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER' 'I' @488 36052 (8cd4)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING' 'I' @492 33296 (8210)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE' 'I' @496 33297 (8211)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE' 'I' @500 33298 (8212)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE' 'I' @504 33299 (8213)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE' 'I' @508 33300 (8214)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE' 'I' @512 33301 (8215)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE' 'I' @516 33302 (8216)
- public static final 'GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE' 'I' @520 33303 (8217)
- public static final 'GL_FRAMEBUFFER_DEFAULT' 'I' @524 33304 (8218)
- public static final 'GL_COLOR_ATTACHMENT0' 'I' @528 36064 (8ce0)
- public static final 'GL_COLOR_ATTACHMENT1' 'I' @532 36065 (8ce1)
- public static final 'GL_COLOR_ATTACHMENT2' 'I' @536 36066 (8ce2)
- public static final 'GL_COLOR_ATTACHMENT3' 'I' @540 36067 (8ce3)
- public static final 'GL_COLOR_ATTACHMENT4' 'I' @544 36068 (8ce4)
- public static final 'GL_COLOR_ATTACHMENT5' 'I' @548 36069 (8ce5)
- public static final 'GL_COLOR_ATTACHMENT6' 'I' @552 36070 (8ce6)
- public static final 'GL_COLOR_ATTACHMENT7' 'I' @556 36071 (8ce7)
- public static final 'GL_COLOR_ATTACHMENT8' 'I' @560 36072 (8ce8)
- public static final 'GL_COLOR_ATTACHMENT9' 'I' @564 36073 (8ce9)
- public static final 'GL_COLOR_ATTACHMENT10' 'I' @568 36074 (8cea)
- public static final 'GL_COLOR_ATTACHMENT11' 'I' @572 36075 (8ceb)
- public static final 'GL_COLOR_ATTACHMENT12' 'I' @576 36076 (8cec)
- public static final 'GL_COLOR_ATTACHMENT13' 'I' @580 36077 (8ced)
- public static final 'GL_COLOR_ATTACHMENT14' 'I' @584 36078 (8cee)
- public static final 'GL_COLOR_ATTACHMENT15' 'I' @588 36079 (8cef)
- public static final 'GL_COLOR_ATTACHMENT16' 'I' @592 36080 (8cf0)
- public static final 'GL_COLOR_ATTACHMENT17' 'I' @596 36081 (8cf1)
- public static final 'GL_COLOR_ATTACHMENT18' 'I' @600 36082 (8cf2)
- public static final 'GL_COLOR_ATTACHMENT19' 'I' @604 36083 (8cf3)
- public static final 'GL_COLOR_ATTACHMENT20' 'I' @608 36084 (8cf4)
- public static final 'GL_COLOR_ATTACHMENT21' 'I' @612 36085 (8cf5)
- public static final 'GL_COLOR_ATTACHMENT22' 'I' @616 36086 (8cf6)
- public static final 'GL_COLOR_ATTACHMENT23' 'I' @620 36087 (8cf7)
- public static final 'GL_COLOR_ATTACHMENT24' 'I' @624 36088 (8cf8)
- public static final 'GL_COLOR_ATTACHMENT25' 'I' @628 36089 (8cf9)
- public static final 'GL_COLOR_ATTACHMENT26' 'I' @632 36090 (8cfa)
- public static final 'GL_COLOR_ATTACHMENT27' 'I' @636 36091 (8cfb)
- public static final 'GL_COLOR_ATTACHMENT28' 'I' @640 36092 (8cfc)
- public static final 'GL_COLOR_ATTACHMENT29' 'I' @644 36093 (8cfd)
- public static final 'GL_COLOR_ATTACHMENT30' 'I' @648 36094 (8cfe)
- public static final 'GL_COLOR_ATTACHMENT31' 'I' @652 36095 (8cff)
- public static final 'GL_DEPTH_ATTACHMENT' 'I' @656 36096 (8d00)
- public static final 'GL_STENCIL_ATTACHMENT' 'I' @660 36128 (8d20)
- public static final 'GL_DEPTH_STENCIL_ATTACHMENT' 'I' @664 33306 (821a)
- public static final 'GL_MAX_SAMPLES' 'I' @668 36183 (8d57)
- public static final 'GL_FRAMEBUFFER_COMPLETE' 'I' @672 36053 (8cd5)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT' 'I' @676 36054 (8cd6)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT' 'I' @680 36055 (8cd7)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER' 'I' @684 36059 (8cdb)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER' 'I' @688 36060 (8cdc)
- public static final 'GL_FRAMEBUFFER_UNSUPPORTED' 'I' @692 36061 (8cdd)
- public static final 'GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE' 'I' @696 36182 (8d56)
- public static final 'GL_FRAMEBUFFER_UNDEFINED' 'I' @700 33305 (8219)
- public static final 'GL_FRAMEBUFFER_BINDING' 'I' @704 36006 (8ca6)
- public static final 'GL_DRAW_FRAMEBUFFER_BINDING' 'I' @708 36006 (8ca6)
- public static final 'GL_READ_FRAMEBUFFER_BINDING' 'I' @712 36010 (8caa)
- public static final 'GL_RENDERBUFFER_BINDING' 'I' @716 36007 (8ca7)
- public static final 'GL_MAX_COLOR_ATTACHMENTS' 'I' @720 36063 (8cdf)
- public static final 'GL_MAX_RENDERBUFFER_SIZE' 'I' @724 34024 (84e8)
- public static final 'GL_INVALID_FRAMEBUFFER_OPERATION' 'I' @728 1286 (506)
- public static final 'GL_DEPTH_STENCIL' 'I' @732 34041 (84f9)
- public static final 'GL_UNSIGNED_INT_24_8' 'I' @736 34042 (84fa)
- public static final 'GL_DEPTH24_STENCIL8' 'I' @740 35056 (88f0)
- public static final 'GL_TEXTURE_STENCIL_SIZE' 'I' @744 35057 (88f1)
- public static final 'GL_HALF_FLOAT' 'I' @748 5131 (140b)
- public static final 'GL_RGBA32UI' 'I' @752 36208 (8d70)
- public static final 'GL_RGB32UI' 'I' @756 36209 (8d71)
- public static final 'GL_RGBA16UI' 'I' @760 36214 (8d76)
- public static final 'GL_RGB16UI' 'I' @764 36215 (8d77)
- public static final 'GL_RGBA8UI' 'I' @768 36220 (8d7c)
- public static final 'GL_RGB8UI' 'I' @772 36221 (8d7d)
- public static final 'GL_RGBA32I' 'I' @776 36226 (8d82)
- public static final 'GL_RGB32I' 'I' @780 36227 (8d83)
- public static final 'GL_RGBA16I' 'I' @784 36232 (8d88)
- public static final 'GL_RGB16I' 'I' @788 36233 (8d89)
- public static final 'GL_RGBA8I' 'I' @792 36238 (8d8e)
- public static final 'GL_RGB8I' 'I' @796 36239 (8d8f)
- public static final 'GL_RED_INTEGER' 'I' @800 36244 (8d94)
- public static final 'GL_GREEN_INTEGER' 'I' @804 36245 (8d95)
- public static final 'GL_BLUE_INTEGER' 'I' @808 36246 (8d96)
- public static final 'GL_RGB_INTEGER' 'I' @812 36248 (8d98)
- public static final 'GL_RGBA_INTEGER' 'I' @816 36249 (8d99)
- public static final 'GL_BGR_INTEGER' 'I' @820 36250 (8d9a)
- public static final 'GL_BGRA_INTEGER' 'I' @824 36251 (8d9b)
- public static final 'GL_TEXTURE_1D_ARRAY' 'I' @828 35864 (8c18)
- public static final 'GL_TEXTURE_2D_ARRAY' 'I' @832 35866 (8c1a)
- public static final 'GL_PROXY_TEXTURE_2D_ARRAY' 'I' @836 35867 (8c1b)
- public static final 'GL_PROXY_TEXTURE_1D_ARRAY' 'I' @840 35865 (8c19)
- public static final 'GL_TEXTURE_BINDING_1D_ARRAY' 'I' @844 35868 (8c1c)
- public static final 'GL_TEXTURE_BINDING_2D_ARRAY' 'I' @848 35869 (8c1d)
- public static final 'GL_MAX_ARRAY_TEXTURE_LAYERS' 'I' @852 35071 (88ff)
- public static final 'GL_COMPRESSED_RED_RGTC1' 'I' @856 36283 (8dbb)
- public static final 'GL_COMPRESSED_SIGNED_RED_RGTC1' 'I' @860 36284 (8dbc)
- public static final 'GL_COMPRESSED_RG_RGTC2' 'I' @864 36285 (8dbd)
- public static final 'GL_COMPRESSED_SIGNED_RG_RGTC2' 'I' @868 36286 (8dbe)
- public static final 'GL_R8' 'I' @872 33321 (8229)
- public static final 'GL_R16' 'I' @876 33322 (822a)
- public static final 'GL_RG8' 'I' @880 33323 (822b)
- public static final 'GL_RG16' 'I' @884 33324 (822c)
- public static final 'GL_R16F' 'I' @888 33325 (822d)
- public static final 'GL_R32F' 'I' @892 33326 (822e)
- public static final 'GL_RG16F' 'I' @896 33327 (822f)
- public static final 'GL_RG32F' 'I' @900 33328 (8230)
- public static final 'GL_R8I' 'I' @904 33329 (8231)
- public static final 'GL_R8UI' 'I' @908 33330 (8232)
- public static final 'GL_R16I' 'I' @912 33331 (8233)
- public static final 'GL_R16UI' 'I' @916 33332 (8234)
- public static final 'GL_R32I' 'I' @920 33333 (8235)
- public static final 'GL_R32UI' 'I' @924 33334 (8236)
- public static final 'GL_RG8I' 'I' @928 33335 (8237)
- public static final 'GL_RG8UI' 'I' @932 33336 (8238)
- public static final 'GL_RG16I' 'I' @936 33337 (8239)
- public static final 'GL_RG16UI' 'I' @940 33338 (823a)
- public static final 'GL_RG32I' 'I' @944 33339 (823b)
- public static final 'GL_RG32UI' 'I' @948 33340 (823c)
- public static final 'GL_RG' 'I' @952 33319 (8227)
- public static final 'GL_COMPRESSED_RED' 'I' @956 33317 (8225)
- public static final 'GL_COMPRESSED_RG' 'I' @960 33318 (8226)
- public static final 'GL_RG_INTEGER' 'I' @964 33320 (8228)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER' 'I' @968 35982 (8c8e)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_START' 'I' @972 35972 (8c84)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_SIZE' 'I' @976 35973 (8c85)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_BINDING' 'I' @980 35983 (8c8f)
- public static final 'GL_INTERLEAVED_ATTRIBS' 'I' @984 35980 (8c8c)
- public static final 'GL_SEPARATE_ATTRIBS' 'I' @988 35981 (8c8d)
- public static final 'GL_PRIMITIVES_GENERATED' 'I' @992 35975 (8c87)
- public static final 'GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN' 'I' @996 35976 (8c88)
- public static final 'GL_RASTERIZER_DISCARD' 'I' @1000 35977 (8c89)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS' 'I' @1004 35978 (8c8a)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS' 'I' @1008 35979 (8c8b)
- public static final 'GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS' 'I' @1012 35968 (8c80)
- public static final 'GL_TRANSFORM_FEEDBACK_VARYINGS' 'I' @1016 35971 (8c83)
- public static final 'GL_TRANSFORM_FEEDBACK_BUFFER_MODE' 'I' @1020 35967 (8c7f)
- public static final 'GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH' 'I' @1024 35958 (8c76)
- public static final 'GL_VERTEX_ARRAY_BINDING' 'I' @1028 34229 (85b5)
- public static final 'GL_FRAMEBUFFER_SRGB' 'I' @1032 36281 (8db9)
R12=0x0 is NULL
R13={method} {0x000001accb5455c8} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
R14=0x000000a41e6fef50 is pointing into the stack for thread: 0x000001ac89e07030
R15=0x000001ac89e07030 is a thread
Registers:
RAX=0x000001accf6b5e00, RBX=0x000001accb5455c0, RCX=0x0000000000000001, RDX=0x000001accf80f89c
RSP=0x000000a41e6fee98, RBP=0x000000a41e6fef20, RSI=0x000001accf486fd8, RDI=0x000001ac98d4a218
R8 =0x0000000000000001, R9 =0x000001accf80f89c, R10=0x0000000000000000, R11=0x0000000442a98dc0
R12=0x0000000000000000, R13=0x000001accb5455c0, R14=0x000000a41e6fef50, R15=0x000001ac89e07030
RIP=0x00007ffbcc6ffbdd, EFLAGS=0x0000000000010206
Top of Stack: (sp=0x000000a41e6fee98)
0x000000a41e6fee98: 000001ac98d51366 000001ac98d4a218
0x000000a41e6feea8: 000001ac98d50cd2 000001accb5455c0
0x000000a41e6feeb8: 000001accf486fd8 000000a41e6fef38
0x000000a41e6feec8: 000001ac98d4a218 000001ac98d50c76
0x000000a41e6feed8: 000000a41e6feed8 000001accb5455c0
0x000000a41e6feee8: 000000a41e6fef50 000001accb57a410
0x000000a41e6feef8: 0000000000000000 0000000442a98dc0
0x000000a41e6fef08: 000001accb5455c0 0000000000000000
0x000000a41e6fef18: 000000a41e6fef40 000000a41e6fefa0
0x000000a41e6fef28: 000001ac98d49efa 0000000442a98dc0
0x000000a41e6fef38: 000001ac98d4d4f8 000001accf80f89c
0x000000a41e6fef48: 0000000000000000 0000000000000001
0x000000a41e6fef58: 000000a41e6fef58 000001accb545734
0x000000a41e6fef68: 000000a41e6fefd0 000001accb57a410
0x000000a41e6fef78: 0000000000000000 0000000442a98dc0
0x000000a41e6fef88: 000001accb5457a0 000000a41e6fef40
Instructions: (pc=0x00007ffbcc6ffbdd)
0x00007ffbcc6ffadd: 98 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffaed: cc cc cc 48 8b 01 48 8b 48 18 48 ff a1 a0 13 00
0x00007ffbcc6ffafd: 00 cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6ffb0d: 41 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6ffb1d: ff a2 a8 13 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffb2d: cc cc cc 40 53 48 83 ec 40 48 8b 01 41 8b d8 44
0x00007ffbcc6ffb3d: 8b 44 24 70 41 8b d1 4c 8b 4c 24 78 8b cb 4c 8b
0x00007ffbcc6ffb4d: 50 18 48 8b 84 24 90 00 00 00 48 89 44 24 30 48
0x00007ffbcc6ffb5d: 8b 84 24 88 00 00 00 48 89 44 24 28 48 8b 84 24
0x00007ffbcc6ffb6d: 80 00 00 00 48 89 44 24 20 41 ff 92 b0 13 00 00
0x00007ffbcc6ffb7d: 48 83 c4 40 5b c3 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffb8d: cc cc cc 48 8b 01 41 8b c8 48 8b 50 18 48 ff a2
0x00007ffbcc6ffb9d: b8 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbad: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6ffbbd: 49 ff a2 c0 13 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbcd: cc cc cc 48 8b 01 49 8b d1 41 8b c8 4c 8b 50 18
0x00007ffbcc6ffbdd: 49 ff a2 c8 13 00 00 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffbed: cc cc cc 48 8b 01 48 8b 48 18 48 8b 81 d0 13 00
0x00007ffbcc6ffbfd: 00 41 8b c8 48 ff e0 cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffc0d: cc cc cc 40 53 48 8b 01 41 8b d8 44 8b 44 24 30
0x00007ffbcc6ffc1d: 41 8b d1 44 8b 4c 24 38 8b cb 4c 8b 50 18 5b 49
0x00007ffbcc6ffc2d: ff a2 d8 13 00 00 cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffc3d: cc cc cc 40 53 48 8b 01 41 8b d8 44 8b 44 24 30
0x00007ffbcc6ffc4d: 41 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 8b 44
0x00007ffbcc6ffc5d: 24 40 89 44 24 30 5b 49 ff a2 e0 13 00 00 cc cc
0x00007ffbcc6ffc6d: cc cc cc 40 53 48 8b 01 41 8b d8 4c 8b 44 24 30
0x00007ffbcc6ffc7d: 41 8b d1 4c 8b 4c 24 38 8b cb 4c 8b 50 18 48 8b
0x00007ffbcc6ffc8d: 44 24 40 48 89 44 24 30 5b 49 ff a2 e8 13 00 00
0x00007ffbcc6ffc9d: cc cc cc 48 8b 01 41 8b c8 48 8b 50 18 48 ff a2
0x00007ffbcc6ffcad: f0 13 00 00 cc cc cc cc cc cc cc cc cc cc cc cc
0x00007ffbcc6ffcbd: cc cc cc 48 8b 01 45 8b d8 44 8b 44 24 28 41 8b
0x00007ffbcc6ffccd: d1 41 8b cb 4c 8b 50 18 49 ff a2 f8 13 00 00 cc
Stack slot to memory mapping:
stack at sp + 0 slots: 0x000001ac98d51366 is at code_begin+1958 in an Interpreter codelet
method entry point (kind = native) [0x000001ac98d50bc0, 0x000001ac98d51ce0] 4384 bytes
stack at sp + 1 slots: 0x000001ac98d4a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x000001ac98d49160, 0x000001ac98d4b380] 8736 bytes
stack at sp + 2 slots: 0x000001ac98d50cd2 is at code_begin+274 in an Interpreter codelet
method entry point (kind = native) [0x000001ac98d50bc0, 0x000001ac98d51ce0] 4384 bytes
stack at sp + 3 slots: {method} {0x000001accb5455c8} 'nglGenVertexArrays' '(IJ)V' in 'org/lwjgl/opengl/GL30C'
stack at sp + 4 slots: 0x000001accf486fd8 points into unknown readable memory: 0x8800097349d18d80 | 80 8d d1 49 73 09 00 88
stack at sp + 5 slots: 0x000000a41e6fef38 is pointing into the stack for thread: 0x000001ac89e07030
stack at sp + 6 slots: 0x000001ac98d4a218 is at code_begin+4280 in an Interpreter codelet
return entry points [0x000001ac98d49160, 0x000001ac98d4b380] 8736 bytes
stack at sp + 7 slots: 0x000001ac98d50c76 is at code_begin+182 in an Interpreter codelet
method entry point (kind = native) [0x000001ac98d50bc0, 0x000001ac98d51ce0] 4384 bytes
--------------- P R O C E S S ---------------
Threads class SMR info:
_java_thread_list=0x000001accf505740, length=18, elements={
0x000001ac89e07030, 0x000001accacb5430, 0x000001accacb61b0, 0x000001accacccab0,
0x000001accaccf380, 0x000001accacd0c50, 0x000001accacd1510, 0x000001accacd2100,
0x000001accacd4a10, 0x000001accacd5310, 0x000001accae02950, 0x000001accae34a10,
0x000001accae56330, 0x000001accae56fe0, 0x000001accae5b7f0, 0x000001accae5c2e0,
0x000001accae5ffe0, 0x000001accf673010
}
Java Threads: ( => current thread )
=>0x000001ac89e07030 JavaThread "main" [_thread_in_native, id=3968, stack(0x000000a41e600000,0x000000a41e700000)]
0x000001accacb5430 JavaThread "Reference Handler" daemon [_thread_blocked, id=12360, stack(0x000000a41ed00000,0x000000a41ee00000)]
0x000001accacb61b0 JavaThread "Finalizer" daemon [_thread_blocked, id=12884, stack(0x000000a41ee00000,0x000000a41ef00000)]
0x000001accacccab0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=7208, stack(0x000000a41ef00000,0x000000a41f000000)]
0x000001accaccf380 JavaThread "Attach Listener" daemon [_thread_blocked, id=2548, stack(0x000000a41f000000,0x000000a41f100000)]
0x000001accacd0c50 JavaThread "Service Thread" daemon [_thread_blocked, id=12428, stack(0x000000a41f100000,0x000000a41f200000)]
0x000001accacd1510 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=20332, stack(0x000000a41f200000,0x000000a41f300000)]
0x000001accacd2100 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=12056, stack(0x000000a41f300000,0x000000a41f400000)]
0x000001accacd4a10 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=21732, stack(0x000000a41f400000,0x000000a41f500000)]
0x000001accacd5310 JavaThread "Sweeper thread" daemon [_thread_blocked, id=21612, stack(0x000000a41f500000,0x000000a41f600000)]
0x000001accae02950 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=3452, stack(0x000000a41f600000,0x000000a41f700000)]
0x000001accae34a10 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=1072, stack(0x000000a41f700000,0x000000a41f800000)]
0x000001accae56330 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=19844, stack(0x000000a41f800000,0x000000a41f900000)]
0x000001accae56fe0 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=20700, stack(0x000000a41f900000,0x000000a41fa00000)]
0x000001accae5b7f0 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=3440, stack(0x000000a41fa00000,0x000000a41fb00000)]
0x000001accae5c2e0 JavaThread "Notification Thread" daemon [_thread_blocked, id=20308, stack(0x000000a41fb00000,0x000000a41fc00000)]
0x000001accae5ffe0 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=20528, stack(0x000000a41fd00000,0x000000a41fe00000)]
0x000001accf673010 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=12384, stack(0x000000a41fe00000,0x000000a41ff00000)]
Other Threads:
0x000001accacb0920 VMThread "VM Thread" [stack: 0x000000a41ec00000,0x000000a41ed00000] [id=8160]
0x000001acc7671210 WatcherThread [stack: 0x000000a41fc00000,0x000000a41fd00000] [id=12528]
0x000001ac89eb66f0 GCTaskThread "GC Thread#0" [stack: 0x000000a41e700000,0x000000a41e800000] [id=18896]
0x000001ac89e24d20 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000a41e800000,0x000000a41e900000] [id=20912]
0x000001ac89ec88b0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000a41e900000,0x000000a41ea00000] [id=21476]
0x000001accab82010 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000a41ea00000,0x000000a41eb00000] [id=22340]
0x000001accab82840 ConcurrentGCThread "G1 Service" [stack: 0x000000a41eb00000,0x000000a41ec00000] [id=6132]
Threads with active compile tasks:
VM state: not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x0000000403800000, size: 16328 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
CDS archive(s) mapped at: [0x0000000800000000-0x0000000800bc0000-0x0000000800bc0000), size 12320768, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0.
Compressed class space mapped at: 0x0000000801000000-0x0000000841000000, reserved size: 1073741824
Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
GC Precious Log:
CPUs: 24 total, 24 available
Memory: 65306M
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (Zero based)
Heap Region Size: 8M
Heap Min Capacity: 8M
Heap Initial Capacity: 1G
Heap Max Capacity: 16328M
Pre-touch: Disabled
Parallel Workers: 18
Concurrent Workers: 5
Concurrent Refinement Workers: 18
Periodic GC: Disabled
Heap:
garbage-first heap total 1048576K, used 8192K [0x0000000403800000, 0x0000000800000000)
region size 8192K, 2 young (16384K), 0 survivors (0K)
Metaspace used 3208K, committed 3456K, reserved 1114112K
class space used 206K, committed 320K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
| 0|0x0000000403800000, 0x0000000403800000, 0x0000000404000000| 0%| F| |TAMS 0x0000000403800000, 0x0000000403800000| Untracked
| 1|0x0000000404000000, 0x0000000404000000, 0x0000000404800000| 0%| F| |TAMS 0x0000000404000000, 0x0000000404000000| Untracked
| 2|0x0000000404800000, 0x0000000404800000, 0x0000000405000000| 0%| F| |TAMS 0x0000000404800000, 0x0000000404800000| Untracked
| 3|0x0000000405000000, 0x0000000405000000, 0x0000000405800000| 0%| F| |TAMS 0x0000000405000000, 0x0000000405000000| Untracked
| 4|0x0000000405800000, 0x0000000405800000, 0x0000000406000000| 0%| F| |TAMS 0x0000000405800000, 0x0000000405800000| Untracked
| 5|0x0000000406000000, 0x0000000406000000, 0x0000000406800000| 0%| F| |TAMS 0x0000000406000000, 0x0000000406000000| Untracked
| 6|0x0000000406800000, 0x0000000406800000, 0x0000000407000000| 0%| F| |TAMS 0x0000000406800000, 0x0000000406800000| Untracked
| 7|0x0000000407000000, 0x0000000407000000, 0x0000000407800000| 0%| F| |TAMS 0x0000000407000000, 0x0000000407000000| Untracked
| 8|0x0000000407800000, 0x0000000407800000, 0x0000000408000000| 0%| F| |TAMS 0x0000000407800000, 0x0000000407800000| Untracked
| 9|0x0000000408000000, 0x0000000408000000, 0x0000000408800000| 0%| F| |TAMS 0x0000000408000000, 0x0000000408000000| Untracked
| 10|0x0000000408800000, 0x0000000408800000, 0x0000000409000000| 0%| F| |TAMS 0x0000000408800000, 0x0000000408800000| Untracked
| 11|0x0000000409000000, 0x0000000409000000, 0x0000000409800000| 0%| F| |TAMS 0x0000000409000000, 0x0000000409000000| Untracked
| 12|0x0000000409800000, 0x0000000409800000, 0x000000040a000000| 0%| F| |TAMS 0x0000000409800000, 0x0000000409800000| Untracked
| 13|0x000000040a000000, 0x000000040a000000, 0x000000040a800000| 0%| F| |TAMS 0x000000040a000000, 0x000000040a000000| Untracked
| 14|0x000000040a800000, 0x000000040a800000, 0x000000040b000000| 0%| F| |TAMS 0x000000040a800000, 0x000000040a800000| Untracked
| 15|0x000000040b000000, 0x000000040b000000, 0x000000040b800000| 0%| F| |TAMS 0x000000040b000000, 0x000000040b000000| Untracked
| 16|0x000000040b800000, 0x000000040b800000, 0x000000040c000000| 0%| F| |TAMS 0x000000040b800000, 0x000000040b800000| Untracked
| 17|0x000000040c000000, 0x000000040c000000, 0x000000040c800000| 0%| F| |TAMS 0x000000040c000000, 0x000000040c000000| Untracked
| 18|0x000000040c800000, 0x000000040c800000, 0x000000040d000000| 0%| F| |TAMS 0x000000040c800000, 0x000000040c800000| Untracked
| 19|0x000000040d000000, 0x000000040d000000, 0x000000040d800000| 0%| F| |TAMS 0x000000040d000000, 0x000000040d000000| Untracked
| 20|0x000000040d800000, 0x000000040d800000, 0x000000040e000000| 0%| F| |TAMS 0x000000040d800000, 0x000000040d800000| Untracked
| 21|0x000000040e000000, 0x000000040e000000, 0x000000040e800000| 0%| F| |TAMS 0x000000040e000000, 0x000000040e000000| Untracked
| 22|0x000000040e800000, 0x000000040e800000, 0x000000040f000000| 0%| F| |TAMS 0x000000040e800000, 0x000000040e800000| Untracked
| 23|0x000000040f000000, 0x000000040f000000, 0x000000040f800000| 0%| F| |TAMS 0x000000040f000000, 0x000000040f000000| Untracked
| 24|0x000000040f800000, 0x000000040f800000, 0x0000000410000000| 0%| F| |TAMS 0x000000040f800000, 0x000000040f800000| Untracked
| 25|0x0000000410000000, 0x0000000410000000, 0x0000000410800000| 0%| F| |TAMS 0x0000000410000000, 0x0000000410000000| Untracked
| 26|0x0000000410800000, 0x0000000410800000, 0x0000000411000000| 0%| F| |TAMS 0x0000000410800000, 0x0000000410800000| Untracked
| 27|0x0000000411000000, 0x0000000411000000, 0x0000000411800000| 0%| F| |TAMS 0x0000000411000000, 0x0000000411000000| Untracked
| 28|0x0000000411800000, 0x0000000411800000, 0x0000000412000000| 0%| F| |TAMS 0x0000000411800000, 0x0000000411800000| Untracked
| 29|0x0000000412000000, 0x0000000412000000, 0x0000000412800000| 0%| F| |TAMS 0x0000000412000000, 0x0000000412000000| Untracked
| 30|0x0000000412800000, 0x0000000412800000, 0x0000000413000000| 0%| F| |TAMS 0x0000000412800000, 0x0000000412800000| Untracked
| 31|0x0000000413000000, 0x0000000413000000, 0x0000000413800000| 0%| F| |TAMS 0x0000000413000000, 0x0000000413000000| Untracked
| 32|0x0000000413800000, 0x0000000413800000, 0x0000000414000000| 0%| F| |TAMS 0x0000000413800000, 0x0000000413800000| Untracked
| 33|0x0000000414000000, 0x0000000414000000, 0x0000000414800000| 0%| F| |TAMS 0x0000000414000000, 0x0000000414000000| Untracked
| 34|0x0000000414800000, 0x0000000414800000, 0x0000000415000000| 0%| F| |TAMS 0x0000000414800000, 0x0000000414800000| Untracked
| 35|0x0000000415000000, 0x0000000415000000, 0x0000000415800000| 0%| F| |TAMS 0x0000000415000000, 0x0000000415000000| Untracked
| 36|0x0000000415800000, 0x0000000415800000, 0x0000000416000000| 0%| F| |TAMS 0x0000000415800000, 0x0000000415800000| Untracked
| 37|0x0000000416000000, 0x0000000416000000, 0x0000000416800000| 0%| F| |TAMS 0x0000000416000000, 0x0000000416000000| Untracked
| 38|0x0000000416800000, 0x0000000416800000, 0x0000000417000000| 0%| F| |TAMS 0x0000000416800000, 0x0000000416800000| Untracked
| 39|0x0000000417000000, 0x0000000417000000, 0x0000000417800000| 0%| F| |TAMS 0x0000000417000000, 0x0000000417000000| Untracked
| 40|0x0000000417800000, 0x0000000417800000, 0x0000000418000000| 0%| F| |TAMS 0x0000000417800000, 0x0000000417800000| Untracked
| 41|0x0000000418000000, 0x0000000418000000, 0x0000000418800000| 0%| F| |TAMS 0x0000000418000000, 0x0000000418000000| Untracked
| 42|0x0000000418800000, 0x0000000418800000, 0x0000000419000000| 0%| F| |TAMS 0x0000000418800000, 0x0000000418800000| Untracked
| 43|0x0000000419000000, 0x0000000419000000, 0x0000000419800000| 0%| F| |TAMS 0x0000000419000000, 0x0000000419000000| Untracked
| 44|0x0000000419800000, 0x0000000419800000, 0x000000041a000000| 0%| F| |TAMS 0x0000000419800000, 0x0000000419800000| Untracked
| 45|0x000000041a000000, 0x000000041a000000, 0x000000041a800000| 0%| F| |TAMS 0x000000041a000000, 0x000000041a000000| Untracked
| 46|0x000000041a800000, 0x000000041a800000, 0x000000041b000000| 0%| F| |TAMS 0x000000041a800000, 0x000000041a800000| Untracked
| 47|0x000000041b000000, 0x000000041b000000, 0x000000041b800000| 0%| F| |TAMS 0x000000041b000000, 0x000000041b000000| Untracked
| 48|0x000000041b800000, 0x000000041b800000, 0x000000041c000000| 0%| F| |TAMS 0x000000041b800000, 0x000000041b800000| Untracked
| 49|0x000000041c000000, 0x000000041c000000, 0x000000041c800000| 0%| F| |TAMS 0x000000041c000000, 0x000000041c000000| Untracked
| 50|0x000000041c800000, 0x000000041c800000, 0x000000041d000000| 0%| F| |TAMS 0x000000041c800000, 0x000000041c800000| Untracked
| 51|0x000000041d000000, 0x000000041d000000, 0x000000041d800000| 0%| F| |TAMS 0x000000041d000000, 0x000000041d000000| Untracked
| 52|0x000000041d800000, 0x000000041d800000, 0x000000041e000000| 0%| F| |TAMS 0x000000041d800000, 0x000000041d800000| Untracked
| 53|0x000000041e000000, 0x000000041e000000, 0x000000041e800000| 0%| F| |TAMS 0x000000041e000000, 0x000000041e000000| Untracked
| 54|0x000000041e800000, 0x000000041e800000, 0x000000041f000000| 0%| F| |TAMS 0x000000041e800000, 0x000000041e800000| Untracked
| 55|0x000000041f000000, 0x000000041f000000, 0x000000041f800000| 0%| F| |TAMS 0x000000041f000000, 0x000000041f000000| Untracked
| 56|0x000000041f800000, 0x000000041f800000, 0x0000000420000000| 0%| F| |TAMS 0x000000041f800000, 0x000000041f800000| Untracked
| 57|0x0000000420000000, 0x0000000420000000, 0x0000000420800000| 0%| F| |TAMS 0x0000000420000000, 0x0000000420000000| Untracked
| 58|0x0000000420800000, 0x0000000420800000, 0x0000000421000000| 0%| F| |TAMS 0x0000000420800000, 0x0000000420800000| Untracked
| 59|0x0000000421000000, 0x0000000421000000, 0x0000000421800000| 0%| F| |TAMS 0x0000000421000000, 0x0000000421000000| Untracked
| 60|0x0000000421800000, 0x0000000421800000, 0x0000000422000000| 0%| F| |TAMS 0x0000000421800000, 0x0000000421800000| Untracked
| 61|0x0000000422000000, 0x0000000422000000, 0x0000000422800000| 0%| F| |TAMS 0x0000000422000000, 0x0000000422000000| Untracked
| 62|0x0000000422800000, 0x0000000422800000, 0x0000000423000000| 0%| F| |TAMS 0x0000000422800000, 0x0000000422800000| Untracked
| 63|0x0000000423000000, 0x0000000423000000, 0x0000000423800000| 0%| F| |TAMS 0x0000000423000000, 0x0000000423000000| Untracked
| 64|0x0000000423800000, 0x0000000423800000, 0x0000000424000000| 0%| F| |TAMS 0x0000000423800000, 0x0000000423800000| Untracked
| 65|0x0000000424000000, 0x0000000424000000, 0x0000000424800000| 0%| F| |TAMS 0x0000000424000000, 0x0000000424000000| Untracked
| 66|0x0000000424800000, 0x0000000424800000, 0x0000000425000000| 0%| F| |TAMS 0x0000000424800000, 0x0000000424800000| Untracked
| 67|0x0000000425000000, 0x0000000425000000, 0x0000000425800000| 0%| F| |TAMS 0x0000000425000000, 0x0000000425000000| Untracked
| 68|0x0000000425800000, 0x0000000425800000, 0x0000000426000000| 0%| F| |TAMS 0x0000000425800000, 0x0000000425800000| Untracked
| 69|0x0000000426000000, 0x0000000426000000, 0x0000000426800000| 0%| F| |TAMS 0x0000000426000000, 0x0000000426000000| Untracked
| 70|0x0000000426800000, 0x0000000426800000, 0x0000000427000000| 0%| F| |TAMS 0x0000000426800000, 0x0000000426800000| Untracked
| 71|0x0000000427000000, 0x0000000427000000, 0x0000000427800000| 0%| F| |TAMS 0x0000000427000000, 0x0000000427000000| Untracked
| 72|0x0000000427800000, 0x0000000427800000, 0x0000000428000000| 0%| F| |TAMS 0x0000000427800000, 0x0000000427800000| Untracked
| 73|0x0000000428000000, 0x0000000428000000, 0x0000000428800000| 0%| F| |TAMS 0x0000000428000000, 0x0000000428000000| Untracked
| 74|0x0000000428800000, 0x0000000428800000, 0x0000000429000000| 0%| F| |TAMS 0x0000000428800000, 0x0000000428800000| Untracked
| 75|0x0000000429000000, 0x0000000429000000, 0x0000000429800000| 0%| F| |TAMS 0x0000000429000000, 0x0000000429000000| Untracked
| 76|0x0000000429800000, 0x0000000429800000, 0x000000042a000000| 0%| F| |TAMS 0x0000000429800000, 0x0000000429800000| Untracked
| 77|0x000000042a000000, 0x000000042a000000, 0x000000042a800000| 0%| F| |TAMS 0x000000042a000000, 0x000000042a000000| Untracked
| 78|0x000000042a800000, 0x000000042a800000, 0x000000042b000000| 0%| F| |TAMS 0x000000042a800000, 0x000000042a800000| Untracked
| 79|0x000000042b000000, 0x000000042b000000, 0x000000042b800000| 0%| F| |TAMS 0x000000042b000000, 0x000000042b000000| Untracked
| 80|0x000000042b800000, 0x000000042b800000, 0x000000042c000000| 0%| F| |TAMS 0x000000042b800000, 0x000000042b800000| Untracked
| 81|0x000000042c000000, 0x000000042c000000, 0x000000042c800000| 0%| F| |TAMS 0x000000042c000000, 0x000000042c000000| Untracked
| 82|0x000000042c800000, 0x000000042c800000, 0x000000042d000000| 0%| F| |TAMS 0x000000042c800000, 0x000000042c800000| Untracked
| 83|0x000000042d000000, 0x000000042d000000, 0x000000042d800000| 0%| F| |TAMS 0x000000042d000000, 0x000000042d000000| Untracked
| 84|0x000000042d800000, 0x000000042d800000, 0x000000042e000000| 0%| F| |TAMS 0x000000042d800000, 0x000000042d800000| Untracked
| 85|0x000000042e000000, 0x000000042e000000, 0x000000042e800000| 0%| F| |TAMS 0x000000042e000000, 0x000000042e000000| Untracked
| 86|0x000000042e800000, 0x000000042e800000, 0x000000042f000000| 0%| F| |TAMS 0x000000042e800000, 0x000000042e800000| Untracked
| 87|0x000000042f000000, 0x000000042f000000, 0x000000042f800000| 0%| F| |TAMS 0x000000042f000000, 0x000000042f000000| Untracked
| 88|0x000000042f800000, 0x000000042f800000, 0x0000000430000000| 0%| F| |TAMS 0x000000042f800000, 0x000000042f800000| Untracked
| 89|0x0000000430000000, 0x0000000430000000, 0x0000000430800000| 0%| F| |TAMS 0x0000000430000000, 0x0000000430000000| Untracked
| 90|0x0000000430800000, 0x0000000430800000, 0x0000000431000000| 0%| F| |TAMS 0x0000000430800000, 0x0000000430800000| Untracked
| 91|0x0000000431000000, 0x0000000431000000, 0x0000000431800000| 0%| F| |TAMS 0x0000000431000000, 0x0000000431000000| Untracked
| 92|0x0000000431800000, 0x0000000431800000, 0x0000000432000000| 0%| F| |TAMS 0x0000000431800000, 0x0000000431800000| Untracked
| 93|0x0000000432000000, 0x0000000432000000, 0x0000000432800000| 0%| F| |TAMS 0x0000000432000000, 0x0000000432000000| Untracked
| 94|0x0000000432800000, 0x0000000432800000, 0x0000000433000000| 0%| F| |TAMS 0x0000000432800000, 0x0000000432800000| Untracked
| 95|0x0000000433000000, 0x0000000433000000, 0x0000000433800000| 0%| F| |TAMS 0x0000000433000000, 0x0000000433000000| Untracked
| 96|0x0000000433800000, 0x0000000433800000, 0x0000000434000000| 0%| F| |TAMS 0x0000000433800000, 0x0000000433800000| Untracked
| 97|0x0000000434000000, 0x0000000434000000, 0x0000000434800000| 0%| F| |TAMS 0x0000000434000000, 0x0000000434000000| Untracked
| 98|0x0000000434800000, 0x0000000434800000, 0x0000000435000000| 0%| F| |TAMS 0x0000000434800000, 0x0000000434800000| Untracked
| 99|0x0000000435000000, 0x0000000435000000, 0x0000000435800000| 0%| F| |TAMS 0x0000000435000000, 0x0000000435000000| Untracked
| 100|0x0000000435800000, 0x0000000435800000, 0x0000000436000000| 0%| F| |TAMS 0x0000000435800000, 0x0000000435800000| Untracked
| 101|0x0000000436000000, 0x0000000436000000, 0x0000000436800000| 0%| F| |TAMS 0x0000000436000000, 0x0000000436000000| Untracked
| 102|0x0000000436800000, 0x0000000436800000, 0x0000000437000000| 0%| F| |TAMS 0x0000000436800000, 0x0000000436800000| Untracked
| 103|0x0000000437000000, 0x0000000437000000, 0x0000000437800000| 0%| F| |TAMS 0x0000000437000000, 0x0000000437000000| Untracked
| 104|0x0000000437800000, 0x0000000437800000, 0x0000000438000000| 0%| F| |TAMS 0x0000000437800000, 0x0000000437800000| Untracked
| 105|0x0000000438000000, 0x0000000438000000, 0x0000000438800000| 0%| F| |TAMS 0x0000000438000000, 0x0000000438000000| Untracked
| 106|0x0000000438800000, 0x0000000438800000, 0x0000000439000000| 0%| F| |TAMS 0x0000000438800000, 0x0000000438800000| Untracked
| 107|0x0000000439000000, 0x0000000439000000, 0x0000000439800000| 0%| F| |TAMS 0x0000000439000000, 0x0000000439000000| Untracked
| 108|0x0000000439800000, 0x0000000439800000, 0x000000043a000000| 0%| F| |TAMS 0x0000000439800000, 0x0000000439800000| Untracked
| 109|0x000000043a000000, 0x000000043a000000, 0x000000043a800000| 0%| F| |TAMS 0x000000043a000000, 0x000000043a000000| Untracked
| 110|0x000000043a800000, 0x000000043a800000, 0x000000043b000000| 0%| F| |TAMS 0x000000043a800000, 0x000000043a800000| Untracked
| 111|0x000000043b000000, 0x000000043b000000, 0x000000043b800000| 0%| F| |TAMS 0x000000043b000000, 0x000000043b000000| Untracked
| 112|0x000000043b800000, 0x000000043b800000, 0x000000043c000000| 0%| F| |TAMS 0x000000043b800000, 0x000000043b800000| Untracked
| 113|0x000000043c000000, 0x000000043c000000, 0x000000043c800000| 0%| F| |TAMS 0x000000043c000000, 0x000000043c000000| Untracked
| 114|0x000000043c800000, 0x000000043c800000, 0x000000043d000000| 0%| F| |TAMS 0x000000043c800000, 0x000000043c800000| Untracked
| 115|0x000000043d000000, 0x000000043d000000, 0x000000043d800000| 0%| F| |TAMS 0x000000043d000000, 0x000000043d000000| Untracked
| 116|0x000000043d800000, 0x000000043d800000, 0x000000043e000000| 0%| F| |TAMS 0x000000043d800000, 0x000000043d800000| Untracked
| 117|0x000000043e000000, 0x000000043e000000, 0x000000043e800000| 0%| F| |TAMS 0x000000043e000000, 0x000000043e000000| Untracked
| 118|0x000000043e800000, 0x000000043e800000, 0x000000043f000000| 0%| F| |TAMS 0x000000043e800000, 0x000000043e800000| Untracked
| 119|0x000000043f000000, 0x000000043f000000, 0x000000043f800000| 0%| F| |TAMS 0x000000043f000000, 0x000000043f000000| Untracked
| 120|0x000000043f800000, 0x000000043f800000, 0x0000000440000000| 0%| F| |TAMS 0x000000043f800000, 0x000000043f800000| Untracked
| 121|0x0000000440000000, 0x0000000440000000, 0x0000000440800000| 0%| F| |TAMS 0x0000000440000000, 0x0000000440000000| Untracked
| 122|0x0000000440800000, 0x0000000440800000, 0x0000000441000000| 0%| F| |TAMS 0x0000000440800000, 0x0000000440800000| Untracked
| 123|0x0000000441000000, 0x0000000441000000, 0x0000000441800000| 0%| F| |TAMS 0x0000000441000000, 0x0000000441000000| Untracked
| 124|0x0000000441800000, 0x0000000441800000, 0x0000000442000000| 0%| F| |TAMS 0x0000000441800000, 0x0000000441800000| Untracked
| 125|0x0000000442000000, 0x0000000442000000, 0x0000000442800000| 0%| F| |TAMS 0x0000000442000000, 0x0000000442000000| Untracked
| 126|0x0000000442800000, 0x0000000442ae2610, 0x0000000443000000| 36%| E| |TAMS 0x0000000442800000, 0x0000000442800000| Complete
| 127|0x0000000443000000, 0x0000000443800000, 0x0000000443800000|100%| E|CS|TAMS 0x0000000443000000, 0x0000000443000000| Complete
Card table byte_map: [0x000001aca36c0000,0x000001aca56b0000] _byte_map_base: 0x000001aca16a4000
Marking Bits (Prev, Next): (CMBitMap*) 0x000001ac89eb7b20, (CMBitMap*) 0x000001ac89eb7b60
Prev Bits: [0x000001aca76a0000, 0x000001acb75c0000)
Next Bits: [0x000001acb75c0000, 0x000001acc74e0000)
Polling page: 0x000001ac87d00000
Metaspace:
Usage:
Non-class: 2.93 MB used.
Class: 206.12 KB used.
Both: 3.13 MB used.
Virtual space:
Non-class space: 64.00 MB reserved, 3.06 MB ( 5%) committed, 1 nodes.
Class space: 1.00 GB reserved, 320.00 KB ( <1%) committed, 1 nodes.
Both: 1.06 GB reserved, 3.38 MB ( <1%) committed.
Chunk freelists:
Non-Class: 10.48 MB
Class: 15.67 MB
Both: 26.15 MB
MaxMetaspaceSize: unlimited
CompressedClassSpaceSize: 1.00 GB
Initial GC threshold: 21.00 MB
Current GC threshold: 21.00 MB
CDS: on
MetaspaceReclaimPolicy: balanced
- commit_granule_bytes: 65536.
- commit_granule_words: 8192.
- virtual_space_node_default_size: 8388608.
- enlarge_chunks_in_place: 1.
- new_chunks_are_fully_committed: 0.
- uncommit_free_chunks: 1.
- use_allocation_guard: 0.
- handle_deallocations: 1.
Internal statistics:
num_allocs_failed_limit: 0.
num_arena_births: 62.
num_arena_deaths: 0.
num_vsnodes_births: 2.
num_vsnodes_deaths: 0.
num_space_committed: 54.
num_space_uncommitted: 0.
num_chunks_returned_to_freelist: 0.
num_chunks_taken_from_freelist: 135.
num_chunk_merges: 0.
num_chunk_splits: 90.
num_chunks_enlarged: 62.
num_inconsistent_stats: 0.
CodeHeap 'non-profiled nmethods': size=119168Kb used=147Kb max_used=147Kb free=119020Kb
bounds [0x000001ac99490000, 0x000001ac99700000, 0x000001aca08f0000]
CodeHeap 'profiled nmethods': size=119104Kb used=799Kb max_used=799Kb free=118304Kb
bounds [0x000001ac918f0000, 0x000001ac91b60000, 0x000001ac98d40000]
CodeHeap 'non-nmethods': size=7488Kb used=2374Kb max_used=2401Kb free=5113Kb
bounds [0x000001ac98d40000, 0x000001ac98fb0000, 0x000001ac99490000]
total_blobs=996 nmethods=516 adapters=391
compilation: enabled
stopped_count=0, restarted_count=0
full_count=0
Compilation events (20 events):
Event: 0.266 Thread 0x000001accae02950 nmethod 506 0x000001ac919b0790 code [0x000001ac919b0920, 0x000001ac919b0a88]
Event: 0.266 Thread 0x000001accacd4a10 nmethod 503 0x000001ac919b0b90 code [0x000001ac919b0da0, 0x000001ac919b12a8]
Event: 0.266 Thread 0x000001accae34a10 nmethod 505 0x000001ac919b1410 code [0x000001ac919b1640, 0x000001ac919b1d98]
Event: 0.266 Thread 0x000001accae34a10 508 3 java.net.URL::isBuiltinStreamHandler (32 bytes)
Event: 0.266 Thread 0x000001accacd4a10 509 3 java.net.URL::isBuiltinStreamHandler (8 bytes)
Event: 0.266 Thread 0x000001accae02950 510 3 sun.net.util.IPAddressUtil::checkHostString (53 bytes)
Event: 0.266 Thread 0x000001accacd4a10 nmethod 509 0x000001ac919b2190 code [0x000001ac919b2340, 0x000001ac919b2508]
Event: 0.266 Thread 0x000001accacd4a10 511 3 sun.net.util.IPAddressUtil::scan (92 bytes)
Event: 0.267 Thread 0x000001accae02950 nmethod 510 0x000001ac919b2610 code [0x000001ac919b28c0, 0x000001ac919b3468]
Event: 0.267 Thread 0x000001accacd4a10 nmethod 511 0x000001ac919b3910 code [0x000001ac919b3b80, 0x000001ac919b46f8]
Event: 0.267 Thread 0x000001accae34a10 nmethod 508 0x000001ac919b4c90 code [0x000001ac919b4f60, 0x000001ac919b6058]
Event: 0.267 Thread 0x000001accf673010 nmethod 502 0x000001ac994b4210 code [0x000001ac994b4380, 0x000001ac994b44f8]
Event: 0.268 Thread 0x000001accae34a10 512 1 java.lang.NamedPackage::module (5 bytes)
Event: 0.268 Thread 0x000001accae34a10 nmethod 512 0x000001ac994b4610 code [0x000001ac994b47a0, 0x000001ac994b4878]
Event: 0.269 Thread 0x000001accae34a10 513 3 java.lang.String::indexOf (18 bytes)
Event: 0.269 Thread 0x000001accacd4a10 514 3 java.lang.String::indexOf (113 bytes)
Event: 0.269 Thread 0x000001accae02950 515 3 java.io.RandomAccessFile::seek (22 bytes)
Event: 0.269 Thread 0x000001accae34a10 nmethod 513 0x000001ac919b6690 code [0x000001ac919b6860, 0x000001ac919b6b48]
Event: 0.269 Thread 0x000001accae02950 nmethod 515 0x000001ac919b6c90 code [0x000001ac919b6e60, 0x000001ac919b70b8]
Event: 0.269 Thread 0x000001accacd4a10 nmethod 514 0x000001ac919b7210 code [0x000001ac919b7440, 0x000001ac919b7ac8]
GC Heap History (0 events):
No events
Dll operation events (8 events):
Event: 0.003 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
Event: 0.009 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
Event: 0.168 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
Event: 0.169 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
Event: 0.171 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
Event: 0.211 Loaded shared library C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
Event: 0.224 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
Event: 0.249 Loaded shared library C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
Deoptimization events (6 events):
Event: 0.259 Thread 0x000001ac89e07030 DEOPT PACKING pc=0x000001ac9190956a sp=0x000000a41e6fa460
Event: 0.259 Thread 0x000001ac89e07030 DEOPT UNPACKING pc=0x000001ac98d97143 sp=0x000000a41e6f9880 mode 0
Event: 0.269 Thread 0x000001ac89e07030 Uncommon trap: trap_request=0xffffff54 fr.pc=0x000001ac994b3cec relative=0x000000000000006c
Event: 0.269 Thread 0x000001ac89e07030 Uncommon trap: reason=speculate_null_assert action=make_not_entrant pc=0x000001ac994b3cec method=sun.misc.Unsafe.putLong(Ljava/lang/Object;JJ)V @ 7 c2
Event: 0.269 Thread 0x000001ac89e07030 DEOPT PACKING pc=0x000001ac994b3cec sp=0x000000a41e6fedc0
Event: 0.269 Thread 0x000001ac89e07030 DEOPT UNPACKING pc=0x000001ac98d969a3 sp=0x000000a41e6fed58 mode 2
Classes unloaded (0 events):
No events
Classes redefined (0 events):
No events
Internal exceptions (18 events):
Event: 0.195 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004437d3018}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object)'> (0x00000004437d3018)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.197 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004437e0950}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000004437e0950)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.198 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004437f5238}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, int)'> (0x00000004437f5238)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.199 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442801528}: 'void java.lang.invoke.DelegatingMethodHandle$Holder.delegate(java.lang.Object, java.lang.Object, int, java.lang.Object)'> (0x0000000442801528)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.199 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442805768}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000442805768)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.223 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x00000004428b1c28}> (0x00000004428b1c28)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.223 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x00000004428b21a8}> (0x00000004428b21a8)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.249 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x00000004429361b0}> (0x00000004429361b0)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.249 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x0000000442936580}> (0x0000000442936580)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.252 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x000000044293f990}> (0x000000044293f990)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.252 Thread 0x000001ac89e07030 Exception <a 'sun/nio/fs/WindowsException'{0x000000044293fc90}> (0x000000044293fc90)
thrown [s\src\hotspot\share\prims\jni.cpp, line 516]
Event: 0.254 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442972788}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object)'> (0x0000000442972788)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.256 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x000000044298f6f0}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, int, long)'> (0x000000044298f6f0)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.257 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x0000000442995260}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, int)'> (0x0000000442995260)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.258 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004429a4108}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, long, long)'> (0x00000004429a4108)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.258 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004429aa218}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.newInvokeSpecial(java.lang.Object, java.lang.Object, long)'> (0x00000004429aa218)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.258 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004429ae508}: 'java.lang.Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(java.lang.Object, long, java.lang.Object)'> (0x00000004429ae508)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
Event: 0.259 Thread 0x000001ac89e07030 Exception <a 'java/lang/NoSuchMethodError'{0x00000004429b5c20}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, long)'> (0x00000004429b5c20)
thrown [s\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
VM Operations (8 events):
Event: 0.026 Executing VM operation: ChangeBreakpoints
Event: 0.026 Executing VM operation: ChangeBreakpoints done
Event: 0.171 Executing VM operation: HandshakeAllThreads
Event: 0.171 Executing VM operation: HandshakeAllThreads done
Event: 0.180 Executing VM operation: ChangeBreakpoints
Event: 0.180 Executing VM operation: ChangeBreakpoints done
Event: 0.230 Executing VM operation: HandshakeAllThreads
Event: 0.230 Executing VM operation: HandshakeAllThreads done
Events (20 events):
Event: 0.255 loading class java/nio/DirectDoubleBufferU
Event: 0.255 loading class java/nio/DirectDoubleBufferU done
Event: 0.255 loading class sun/misc/Unsafe
Event: 0.255 loading class sun/misc/Unsafe done
Event: 0.255 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory
Event: 0.255 loading class jdk/internal/reflect/UnsafeFieldAccessorFactory done
Event: 0.255 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
Event: 0.255 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl
Event: 0.255 loading class jdk/internal/reflect/UnsafeQualifiedStaticFieldAccessorImpl done
Event: 0.255 loading class jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl done
Event: 0.256 loading class java/util/function/LongPredicate
Event: 0.256 loading class java/util/function/LongPredicate done
Event: 0.257 loading class jdk/internal/access/foreign/MemorySegmentProxy
Event: 0.257 loading class jdk/internal/access/foreign/MemorySegmentProxy done
Event: 0.260 loading class java/nio/InvalidMarkException
Event: 0.260 loading class java/nio/InvalidMarkException done
Event: 0.260 loading class java/nio/BufferUnderflowException
Event: 0.260 loading class java/nio/BufferUnderflowException done
Event: 0.264 loading class java/util/Formatter$FixedString
Event: 0.264 loading class java/util/Formatter$FixedString done
Dynamic libraries:
0x00007ff7fa2a0000 - 0x00007ff7fa2ae000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.exe
0x00007ffbe1910000 - 0x00007ffbe1b08000 C:\Windows\SYSTEM32\ntdll.dll
0x00007ffbdfa90000 - 0x00007ffbdfb4f000 C:\Windows\System32\KERNEL32.DLL
0x00007ffbdf220000 - 0x00007ffbdf516000 C:\Windows\System32\KERNELBASE.dll
0x00007ffbdf680000 - 0x00007ffbdf780000 C:\Windows\System32\ucrtbase.dll
0x00007ffbd1770000 - 0x00007ffbd1789000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\VCRUNTIME140.dll
0x00007ffbd1970000 - 0x00007ffbd1987000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jli.dll
0x00007ffbe1290000 - 0x00007ffbe142d000 C:\Windows\System32\USER32.dll
0x00007ffbdf820000 - 0x00007ffbdf842000 C:\Windows\System32\win32u.dll
0x00007ffbe1430000 - 0x00007ffbe145c000 C:\Windows\System32\GDI32.dll
0x00007ffbd2730000 - 0x00007ffbd29ca000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
0x00007ffbdf850000 - 0x00007ffbdf965000 C:\Windows\System32\gdi32full.dll
0x00007ffbdf780000 - 0x00007ffbdf81d000 C:\Windows\System32\msvcp_win.dll
0x00007ffbe11f0000 - 0x00007ffbe128e000 C:\Windows\System32\msvcrt.dll
0x00007ffbe0dc0000 - 0x00007ffbe0df0000 C:\Windows\System32\IMM32.DLL
0x00007ffbdb340000 - 0x00007ffbdb34c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\vcruntime140_1.dll
0x00007ffbb7750000 - 0x00007ffbb77e1000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\msvcp140.dll
0x00007ffb81550000 - 0x00007ffb82198000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server\jvm.dll
0x00007ffbdfd50000 - 0x00007ffbdfdff000 C:\Windows\System32\ADVAPI32.dll
0x00007ffbe0c70000 - 0x00007ffbe0d0c000 C:\Windows\System32\sechost.dll
0x00007ffbe06a0000 - 0x00007ffbe07c6000 C:\Windows\System32\RPCRT4.dll
0x00007ffbb6d00000 - 0x00007ffbb6d09000 C:\Windows\SYSTEM32\WSOCK32.dll
0x00007ffbd3cb0000 - 0x00007ffbd3cd7000 C:\Windows\SYSTEM32\WINMM.dll
0x00007ffbe08b0000 - 0x00007ffbe091b000 C:\Windows\System32\WS2_32.dll
0x00007ffbd9520000 - 0x00007ffbd952a000 C:\Windows\SYSTEM32\VERSION.dll
0x00007ffbdced0000 - 0x00007ffbdcee2000 C:\Windows\SYSTEM32\kernel.appcore.dll
0x00007ffbdaa60000 - 0x00007ffbdaa6a000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jimage.dll
0x00007ffbd32c0000 - 0x00007ffbd34a4000 C:\Windows\SYSTEM32\DBGHELP.DLL
0x00007ffbcc540000 - 0x00007ffbcc574000 C:\Windows\SYSTEM32\dbgcore.DLL
0x00007ffbdf020000 - 0x00007ffbdf0a2000 C:\Windows\System32\bcryptPrimitives.dll
0x00007ffbd1ac0000 - 0x00007ffbd1afb000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jdwp.dll
0x00007ffbbbe60000 - 0x00007ffbbbe85000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\java.dll
0x00007ffbaf940000 - 0x00007ffbafa16000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\jsvml.dll
0x00007ffbdfee0000 - 0x00007ffbe0624000 C:\Windows\System32\SHELL32.dll
0x00007ffbdd0d0000 - 0x00007ffbdd863000 C:\Windows\SYSTEM32\windows.storage.dll
0x00007ffbe0e90000 - 0x00007ffbe11e4000 C:\Windows\System32\combase.dll
0x00007ffbdea50000 - 0x00007ffbdea7e000 C:\Windows\SYSTEM32\Wldp.dll
0x00007ffbe0d10000 - 0x00007ffbe0dbd000 C:\Windows\System32\SHCORE.dll
0x00007ffbe0640000 - 0x00007ffbe0695000 C:\Windows\System32\shlwapi.dll
0x00007ffbdef30000 - 0x00007ffbdef4f000 C:\Windows\SYSTEM32\profapi.dll
0x00007ffbda580000 - 0x00007ffbda58c000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\dt_socket.dll
0x00007ffbde450000 - 0x00007ffbde48c000 C:\Windows\SYSTEM32\IPHLPAPI.DLL
0x00007ffbde7b0000 - 0x00007ffbde81a000 C:\Windows\system32\mswsock.dll
0x00007ffbde4a0000 - 0x00007ffbde56b000 C:\Windows\SYSTEM32\DNSAPI.dll
0x00007ffbe0df0000 - 0x00007ffbe0df8000 C:\Windows\System32\NSI.dll
0x00007ffbd1590000 - 0x00007ffbd159a000 C:\Windows\System32\rasadhlp.dll
0x00007ffbd1d40000 - 0x00007ffbd1dc2000 C:\Windows\System32\fwpuclnt.dll
0x00007ffbdeff0000 - 0x00007ffbdf017000 C:\Windows\System32\bcrypt.dll
0x00007ffbcc6c0000 - 0x00007ffbcc6d9000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\net.dll
0x00007ffbd7570000 - 0x00007ffbd767a000 C:\Windows\SYSTEM32\WINHTTP.dll
0x00007ffbbbe40000 - 0x00007ffbbbe55000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\nio.dll
0x00007ffbcb4c0000 - 0x00007ffbcb4d8000 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\zip.dll
0x00007ffbb6290000 - 0x00007ffbb630a000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl.dll
0x00007ffbcc6f0000 - 0x00007ffbcc74e000 C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64\lwjgl_opengl.dll
0x00007ffbb0460000 - 0x00007ffbb0585000 C:\Windows\SYSTEM32\opengl32.dll
0x00007ffbcc8b0000 - 0x00007ffbcc8dc000 C:\Windows\SYSTEM32\GLU32.dll
dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin\server;C:\Users\satellite\AppData\Local\Temp\lwjgl_satellite\3.3.2+13\x64
VM Arguments:
jvm_args: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53400 -XX:+ShowCodeDetailsInExceptionMessages
java_command: electrosphere.Main
java_class_path (initial): C:\Users\satellite\Documents\fluid-sim\target\classes;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opencl\3.3.2\lwjgl-opencl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl\3.3.2\lwjgl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-glfw\3.3.2\lwjgl-glfw-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\lwjgl\lwjgl-opengl\3.3.2\lwjgl-opengl-3.3.2-natives-windows.jar;C:\Users\satellite\.m2\repository\org\joml\joml\1.10.5\joml-1.10.5.jar
Launcher Type: SUN_STANDARD
[Global flags]
intx CICompilerCount = 12 {product} {ergonomic}
uint ConcGCThreads = 5 {product} {ergonomic}
uint G1ConcRefinementThreads = 18 {product} {ergonomic}
size_t G1HeapRegionSize = 8388608 {product} {ergonomic}
uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
size_t InitialHeapSize = 1073741824 {product} {ergonomic}
size_t MarkStackSize = 4194304 {product} {ergonomic}
size_t MaxHeapSize = 17121148928 {product} {ergonomic}
size_t MaxNewSize = 10267656192 {product} {ergonomic}
size_t MinHeapDeltaBytes = 8388608 {product} {ergonomic}
size_t MinHeapSize = 8388608 {product} {ergonomic}
uintx NonNMethodCodeHeapSize = 7602480 {pd product} {ergonomic}
uintx NonProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
bool SegmentedCodeCache = true {product} {ergonomic}
bool ShowCodeDetailsInExceptionMessages = true {manageable} {command line}
size_t SoftMaxHeapSize = 17121148928 {manageable} {ergonomic}
bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
bool UseCompressedOops = true {product lp64_product} {ergonomic}
bool UseG1GC = true {product} {ergonomic}
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
Logging:
Log output configuration:
#0: stdout all=warning uptime,level,tags
#1: stderr all=off uptime,level,tags
Environment Variables:
JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot
CLASSPATH=.;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\lib;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\jre\lib
PATH=C:\Users\satellite\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\satellite\bin;C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\Apache Maven\bin;C:\Program Files\nodejs;C:\Program Files\dotnet;C:\Program Files\Mullvad VPN\resources;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Airshipper;C:\Users\satellite\AppData\Local\Programs\Python\Python310\Scripts;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Users\satellite\AppData\Local\Microsoft\WindowsApps;C:\Users\satellite\AppData\Roaming\npm;C:\Users\satellite\.dotnet\tools;C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\Program Files\qemu;C:\Users\satellite\AppData\Local\Programs\Python\Python310;C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin;C:\Program Files\Nuget;C:\Users\satellite\anaconda3\condabin;C:\Users\satellite\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\android-platform-tools;C:\Users\satellite\AppData\Local\Android\Sdk\platform-tools;C:\Program Files\ffmpeg-2022-11-03-git-5ccd4d3060-full_build\bin;C:\Program Files\cli-utils;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
USERNAME=satellite
SHELL=C:\Program Files\Git\usr\bin\bash.exe
DISPLAY=needs-to-be-defined
LANG=en_US.UTF-8
TERM=xterm-256color
TMPDIR=C:\Users\SATELL~1\AppData\Local\Temp
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
TMP=C:\Users\SATELL~1\AppData\Local\Temp
TEMP=C:\Users\SATELL~1\AppData\Local\Temp
--------------- S Y S T E M ---------------
OS:
Windows 10 , 64 bit Build 19041 (10.0.19041.2913)
OS uptime: 0 days 9:44 hours
CPU: total 24 (initial active 24) (12 cores per cpu, 2 threads per core) family 6 model 151 stepping 2 microcode 0x26, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, sha, fma, vzeroupper, clflush, clflushopt, clwb
Memory: 4k page, system-wide physical 65306M (49476M free)
TotalPageFile size 75034M (AvailPageFile size 53832M)
current process WorkingSet (physical memory assigned to process): 51M, peak: 51M
current process commit charge ("private bytes"): 1172M, peak: 1172M
vm_info: OpenJDK 64-Bit Server VM (17.0.7+7) for windows-amd64 JRE (17.0.7+7), built on Apr 18 2023 22:10:42 by "temurin" with MS VC++ 16.7 (VS2019)
END.

BIN
lwjglx-debug-1.0.0.jar Normal file

Binary file not shown.

117
pom.xml Normal file
View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>electrosphere</groupId>
<artifactId>sample-cli-java</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<lwjgl.version>3.3.2</lwjgl.version>
<lwjgl.natives>natives-windows</lwjgl.natives>
<joml.version>1.10.5</joml.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-bom</artifactId>
<version>${lwjgl.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl</artifactId>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-glfw</artifactId>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-opencl</artifactId>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-opengl</artifactId>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl</artifactId>
<classifier>${lwjgl.natives}</classifier>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-glfw</artifactId>
<classifier>${lwjgl.natives}</classifier>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-opengl</artifactId>
<classifier>${lwjgl.natives}</classifier>
</dependency>
<dependency>
<groupId>org.joml</groupId>
<artifactId>joml</artifactId>
<version>${joml.version}</version>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-opengl</artifactId>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-opengl</artifactId>
<classifier>${lwjgl.natives}</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>electrosphere.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>17</source>
<target>17</target>
<compilerArgs>
<arg>--add-modules</arg>
<arg>jdk.incubator.vector</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,65 @@
package electrosphere;
import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.joml.Vector2i;
import org.lwjgl.BufferUtils;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL30;
import org.lwjgl.system.MemoryUtil;
import electrosphere.opencl.CLBuffer;
import electrosphere.opencl.CLCommandQueue;
import electrosphere.opencl.CLContext;
import electrosphere.opencl.CLDevice;
import electrosphere.opencl.CLEvent;
import electrosphere.opencl.CLImage;
import electrosphere.opencl.CLKernel;
import electrosphere.opencl.CLPlatform;
import electrosphere.opencl.CLProgram;
import electrosphere.opencl.CLReadImageResult;
import electrosphere.opencl.CLUtilities;
import electrosphere.opencl.LWJGLContext;
/**
* Simulates a fluid via opencl
*/
public class FluidSim {
float[][][][] data = new float[18][18][18][4];
public void setup(){
//make a cube of water in the center
for(int x = 0; x < 18; x++){
for(int y = 0; y < 18; y++){
for(int z = 0; z < 18; z++){
if(
Math.abs(8 - x) < 4 &&
Math.abs(8 - y) < 4 &&
Math.abs(8 - z) < 4
){
data[x][y][z][0] = 1;
}
}
}
}
}
/**
* Runs a frame of the fluid simulation
*/
public void simulate(){
}
public float[][][][] getData(){
return data;
}
}

View File

@ -0,0 +1,44 @@
package electrosphere;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import jdk.incubator.vector.FloatVector;
import java.util.concurrent.TimeUnit;
import electrosphere.render.GLFWContext;
import electrosphere.render.Mesh;
/**
*
*/
public class Main {
public static void main(String args[]){
// float[] a = new float[]{
// 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
// };
// FloatVector vec = FloatVector.fromArray(FloatVector.SPECIES_128, a, 0);
// FloatVector finalVec = vec.add(3);
// float[] b = finalVec.toArray();
// for(int i = 0; i < b.length; i++){
// System.out.println(b[i]);
// }
GLFWContext.init();
FluidSim sim = new FluidSim();
sim.setup();
Mesh.meshInitially(sim);
while(true){
sim.simulate();
Mesh.remesh(sim);
try {
TimeUnit.MILLISECONDS.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
GLFWContext.redraw();
}
}
}

View File

@ -0,0 +1,89 @@
package electrosphere;
import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.joml.Vector2i;
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opencl.*;
import org.lwjgl.system.*;
import electrosphere.opencl.CLBuffer;
import electrosphere.opencl.CLCommandQueue;
import electrosphere.opencl.CLContext;
import electrosphere.opencl.CLDevice;
import electrosphere.opencl.CLEvent;
import electrosphere.opencl.CLImage;
import electrosphere.opencl.CLKernel;
import electrosphere.opencl.CLPlatform;
import electrosphere.opencl.CLProgram;
import electrosphere.opencl.CLReadImageResult;
import electrosphere.opencl.CLUtilities;
import electrosphere.opencl.LWJGLContext;
import static org.lwjgl.glfw.Callbacks.*;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opencl.CL10.*;
import static org.lwjgl.opencl.KHRICD.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
import static org.lwjgl.glfw.GLFWNativeGLX.*;
import static org.lwjgl.glfw.GLFWNativeWGL.*;
import static org.lwjgl.glfw.GLFWNativeX11.*;
import static org.lwjgl.opencl.CL10GL.*;
import static org.lwjgl.opencl.KHRGLSharing.*;
import static org.lwjgl.opengl.ARBCLEvent.*;
import static org.lwjgl.opengl.CGL.*;
import static org.lwjgl.opengl.GL30C.*;
import static org.lwjgl.opengl.WGL.*;
public class MyTest {
//Good reference: https://www.nersc.gov/assets/pubs_presos/MattsonTutorialSC14.pdf
//Khronos api reference cheatsheet: https://www.khronos.org/files/opencl30-reference-guide.pdf
//error code reference: https://streamhpc.com/blog/2013-04-28/opencl-error-codes/
//relevant: https://blog.lwjgl.org/memory-management-in-lwjgl-3/
//be mindful of: https://www.baeldung.com/java-memory-leaks
public static void run(){
FluidSim sim = new FluidSim();
sim.setup();
double deltaTime = 0.0f;
double lastFrame = 0.0f;
double frameRate = 0.0f;
GLFW.glfwInit();
int iterations = 0;
while(true){
sim.simulate();
//framerate calculations
double currentTime = glfwGetTime();
deltaTime = currentTime - lastFrame;
frameRate = 1.0 / deltaTime;
lastFrame = currentTime;
iterations++;
System.out.print("\r" + currentTime + " " + frameRate + " _ " + iterations + " _ " + Runtime.getRuntime().totalMemory() / 1024 / 1024);
}
}
}

View File

@ -0,0 +1,35 @@
package electrosphere.opencl;
import java.nio.IntBuffer;
import org.lwjgl.opencl.CL30;
/**
* Wrapper object for an opencl buffer
*/
public class CLBuffer {
//The pointer to the buffer
long pointer;
/**
* Creates a opencl buffer with a specified size
* @param context The context to create the buffer under
* @param flags The flags for the buffer
* @param size The size of the buffer
*/
protected CLBuffer(CLContext context, long flags, long size){
pointer = CL30.clCreateBuffer(context.getPointer(), flags, size, context.getErrorCodeBuffer());
}
/**
* Creates an opencl buffer based on a provided buffer
* @param context The context to create the buffer under
* @param flags The flags for the buffer
* @param hostBuffer The cpu buffer to base the opencl buffer off of
*/
protected CLBuffer(CLContext context, long flags, IntBuffer hostBuffer){
pointer = CL30.clCreateBuffer(context.getPointer(), flags, hostBuffer, context.getErrorCodeBuffer());
}
}

View File

@ -0,0 +1,434 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import java.util.List;
import org.joml.Vector2i;
import org.lwjgl.BufferUtils;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL30;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.system.MemoryUtil;
/**
* Wrapper object for an opencl command queue
*/
public class CLCommandQueue {
//The lwjgl context
LWJGLContext lwjglContext;
//The pointer to the command queue
long pointer;
/**
* Creates a command queue for a provided context
* @param context The context
*/
protected CLCommandQueue(LWJGLContext lwjglContext, CLContext clContext){
this.lwjglContext = lwjglContext;
pointer = CL30.clCreateCommandQueue(clContext.getPointer(), clContext.getDevice().getId(), MemoryUtil.NULL, clContext.getErrorCodeBuffer());
}
/**
* Gets the pointer for this command queue
* @return The pointer as a long
*/
public long getPointer(){
return pointer;
}
/**
* Queues a 2d kernel to work
* @param kernel The kernel
* @param waitList The list of events to wait on
* @param workersInEachDimension The workers in each dimension of the data
* @param workersInEachGroup The workers in each group of workers
* @return The event representing this queued work
*/
public CLEvent queueKernelWork(
CLKernel kernel,
List<CLEvent> waitList,
Vector2i workersInEachDimension,
Vector2i workersInEachGroup
){
long[] dimensionArray = new long[]{
workersInEachDimension.x,
workersInEachDimension.y
};
long[] groupArray = new long[]{
workersInEachGroup.x,
workersInEachGroup.y
};
//dimensionality must be 2 as the work arrays are 2D vectors
CLEvent event = queueKernelWork(kernel,waitList,2,dimensionArray,groupArray);
return event;
}
/**
* Queues kernel work with a default worker offset vector
* @param kernel The kernel to queue work on
* @param waitList The waitlist of events to wait for before executing this work
* @param workDimensions The dimensionality of the data to act upon
* @param workersInEachDimension The total number of workers in each dimension
* @param workersInEachGroup The total number of workers in each work group
* @return The opencl event for this work item
*/
public CLEvent queueKernelWork(
CLKernel kernel,
List<CLEvent> waitList,
int workDimensions,
long[] workersInEachDimension,
long[] workersInEachGroup
){
return queueKernelWork(kernel, waitList, workDimensions, null, workersInEachDimension, workersInEachGroup);
}
/**
* Queues work on a given opencl kernel
* @param kernel The kernel to queue work on
* @param waitList The waitlist of events to wait for before executing this work
* @param workDimensions The dimensionality of the data to act upon
* @param globalWorkerOffsetVector The vector specifying the amount of offset per dimension between given global workers
* @param workersInEachDimension The total number of workers in each dimension
* @param workersInEachGroup The total number of workers in each work group
* @return The opencl event for this work item
*/
public CLEvent queueKernelWork(
CLKernel kernel,
List<CLEvent> waitList,
int workDimensions,
long[] globalWorkerOffsetVector, //basically a vector that describes the increment in each dimension. Unlikely to see use generally
long[] workersInEachDimension, //basically the number of sub arrays
long[] workersInEachGroup // basically the size of each subarray to work one
){
CLEvent rVal = null;
try(MemoryStack stack = MemoryStack.stackPush()){
//
//construct and fill buffers for opencl call
//global worker offsets
PointerBuffer globalWorkerOffset = null;
if(globalWorkerOffsetVector != null){
globalWorkerOffset = stack.mallocPointer(workDimensions);
globalWorkerOffset.put(globalWorkerOffsetVector);
globalWorkerOffset.flip();
}
//global worker size
PointerBuffer globalWorkerSize = null;
globalWorkerSize = stack.mallocPointer(workDimensions);
globalWorkerSize.put(workersInEachDimension);
globalWorkerSize.flip();
//local worker size
PointerBuffer localWorkerSize = stack.mallocPointer(workDimensions);
localWorkerSize.put(workersInEachGroup);
localWorkerSize.flip();
//the events to wait for before executing this one
PointerBuffer eventWaitList = null;
if(waitList != null && waitList.size() > 0){
eventWaitList = stack.mallocPointer(waitList.size());
for(CLEvent toWaitEvent : waitList){
eventWaitList.put(toWaitEvent.getPointer());
}
}
PointerBuffer event = stack.mallocPointer(1);
//
//queue work
CL30.clEnqueueNDRangeKernel(
this.pointer,
kernel.getPointer(),
workDimensions,
globalWorkerOffset,
globalWorkerSize,
localWorkerSize,
eventWaitList,
event
);
//create returned event
rVal = new CLEvent(event.get());
}
return rVal;
}
/**
* Sets an argument for a given kernel
* @param kernel The kernel
* @param argumentIndex The index of the argument (0-index'd)
* @param argumentValue The value to set the argument to
* @return The result of the argument set operation
*/
public int setKernelArgument(CLKernel kernel, int argumentIndex, long argumentValue){
return CL30.clSetKernelArg(kernel.getPointer(),argumentIndex,argumentValue);
}
/**
* Sets an argument for a given kernel to be equal to a given image
* @param kernel The kernel
* @param argumentIndex The index of the argument (0-index'd)
* @param image The value to set the argument to
* @return The result of the argument set operation
*/
public int setKernelArgument(CLKernel kernel, int argumentIndex, CLImage image){
int rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
PointerBuffer pointerBuffer = stack.mallocPointer(1);
pointerBuffer.put(image.getPointer());
pointerBuffer.flip();
rVal = CL30.clSetKernelArg(kernel.getPointer(),argumentIndex,pointerBuffer);
}
return rVal;
}
/**
* Reads an image from opencl global memory
* @param image The image
* @param waitList The wait list of events to make this query pend on
* @return The byte buffer containing the data of the image
*/
public CLReadImageResult readImage(CLImage image, List<CLEvent> waitList){
CLReadImageResult rVal = null;
//the cpu buffer to write into from gpu memory
int bufferSize = (int)(image.getWidth() * image.getByteWidth());
if(image.getHeight() > 0){
bufferSize = (int)(bufferSize * image.getHeight());
}
if(image.getDepth() > 0){
bufferSize = (int)(bufferSize * image.getDepth());
}
ByteBuffer outputBuffer = MemoryUtil.memAlloc(bufferSize);
try(MemoryStack stack = MemoryStack.stackPush()){
boolean blocking = false; //should the call block execution until the image is read?
//defines the offset in outputBuffer to start writing (should be a vec)
PointerBuffer origin = stack.mallocPointer(3);
origin.put(0);
origin.put(0);
origin.put(0);
origin.flip();
//The dimensions of the image
PointerBuffer region = stack.mallocPointer(3);
region.put(image.getWidth());
if(image.getHeight() == 0){
region.put(1); //If it's a 1D image, this should be set to 1
} else {
region.put(image.getHeight());
}
if(image.getDepth() == 0){
region.put(1); //If it's a 2D image, this should be set to 1
} else {
region.put(image.getDepth());
}
region.flip();
//how many bytes make up 1 line of the data
long rowPitch = image.getByteWidth() * image.getWidth();
//how many bytes make up a single 2d plane of pixels. Should be 0 if image is 1d or 2d
long slicePitch = 0;
if(image.getDepth() > 0){
slicePitch = image.getByteWidth() * image.getWidth() * image.getHeight();
}
//the event management buffers
PointerBuffer eventWaitList = null;
if(waitList != null && waitList.size() > 0){
eventWaitList = stack.mallocPointer(waitList.size());
for(CLEvent toWaitEvent : waitList){
eventWaitList.put(toWaitEvent.getPointer());
}
eventWaitList.flip();
}
PointerBuffer event = stack.mallocPointer(1);
//actually send to opencl
int errorCode = CL30.clEnqueueReadImage(
this.getPointer(),
image.getPointer(),
blocking,
origin,
region,
rowPitch,
slicePitch,
outputBuffer,
eventWaitList,
event
);
//error check
CLUtilities.checkCLError(errorCode);
//construct return object
CLEvent returnEvent = new CLEvent(event.get());
rVal = new CLReadImageResult(outputBuffer,returnEvent);
}
return rVal;
}
/**
* Writes an array of bytes to a device-side image in opencl
* @param image The image to write to
* @param data The data to write
* @param waitList The waitlist of events to pend this write operation on
* @return The CLEvent encapsulating this write operation
*/
public CLEvent writeToDeviceImage(CLImage image, List<CLEvent> waitList, int[] data){
CLEvent rVal = null;
try(MemoryStack stack = MemoryStack.stackPush()){
boolean blocking = true;
//defines the offset in outputBuffer to start writing (should be a vec)
PointerBuffer origin = stack.mallocPointer(3);
origin.put(0);
origin.put(0);
origin.put(0);
origin.flip();
//The dimensions of the image
PointerBuffer region = stack.mallocPointer(3);
region.put(image.getWidth());
if(image.getHeight() == 0){
region.put(1); //If it's a 1D image, this should be set to 1
} else {
region.put(image.getHeight());
}
if(image.getDepth() == 0){
region.put(1); //If it's a 2D image, this should be set to 1
} else {
region.put(image.getDepth());
}
region.flip();
//how many bytes make up 1 line of the data
long rowPitch = image.getByteWidth() * image.getWidth();
//how many bytes make up a single 2d plane of pixels. Should be 0 if image is 1d or 2d
long slicePitch = 0;
if(image.getDepth() > 0){
slicePitch = image.getByteWidth() * image.getWidth() * image.getHeight();
}
//the event management buffers
PointerBuffer eventWaitList = null;
if(waitList != null && waitList.size() > 0){
eventWaitList = stack.mallocPointer(waitList.size());
for(CLEvent toWaitEvent : waitList){
eventWaitList.put(toWaitEvent.getPointer());
}
eventWaitList.flip();
}
PointerBuffer event = stack.mallocPointer(1);
int errorCode = CL30.clEnqueueWriteImage(this.getPointer(), image.getPointer(), blocking, origin, region, rowPitch, slicePitch, data, eventWaitList, event);
//error check
CLUtilities.checkCLError(errorCode);
//construct return event
rVal = new CLEvent(event.get());
}
return rVal;
}
/**
* Writes a buffer of bytes to a device-side image in opencl
* @param image The image to write to
* @param data The data to write
* @param waitList The waitlist of events to pend this write operation on
* @return The CLEvent encapsulating this write operation
*/
public CLEvent writeToDeviceImage(CLImage image, List<CLEvent> waitList, ByteBuffer data){
CLEvent rVal = null;
try(MemoryStack stack = MemoryStack.stackPush()){
boolean blocking = false;
//defines the offset in outputBuffer to start writing (should be a vec)
PointerBuffer origin = stack.mallocPointer(3);
origin.put(0);
origin.put(0);
origin.put(0);
origin.flip();
//The dimensions of the image
PointerBuffer region = stack.mallocPointer(3);
region.put(image.getWidth());
if(image.getHeight() == 0){
region.put(1); //If it's a 1D image, this should be set to 1
} else {
region.put(image.getHeight());
}
if(image.getDepth() == 0){
region.put(1); //If it's a 2D image, this should be set to 1
} else {
region.put(image.getDepth());
}
region.flip();
//how many bytes make up 1 line of the data
long rowPitch = image.getByteWidth() * image.getWidth();
//how many bytes make up a single 2d plane of pixels. Should be 0 if image is 1d or 2d
long slicePitch = 0;
if(image.getDepth() > 0){
slicePitch = image.getByteWidth() * image.getWidth() * image.getHeight();
}
//the event management buffers
PointerBuffer eventWaitList = null;
if(waitList != null && waitList.size() > 0){
eventWaitList = stack.mallocPointer(waitList.size());
for(CLEvent toWaitEvent : waitList){
eventWaitList.put(toWaitEvent.getPointer());
}
eventWaitList.flip();
}
PointerBuffer event = stack.mallocPointer(1);
int errorCode = CL30.clEnqueueWriteImage(this.getPointer(), image.getPointer(), blocking, origin, region, rowPitch, slicePitch, data, eventWaitList, event);
//error check
CLUtilities.checkCLError(errorCode);
//construct return event
rVal = new CLEvent(event.get());
}
return rVal;
}
/**
* Blocks thread execution until the event list has completed or otherwise resolved
* @param eventList The event list
*/
public void waitForEventList(List<CLEvent> waitList){
try(MemoryStack stack = MemoryStack.stackPush()){
PointerBuffer eventWaitList = null;
if(waitList != null && waitList.size() > 0){
eventWaitList = stack.mallocPointer(waitList.size());
for(CLEvent toWaitEvent : waitList){
eventWaitList.put(toWaitEvent.getPointer());
}
eventWaitList.flip();
}
//wait
int errorCode = CL30.clWaitForEvents(eventWaitList);
//error check
CLUtilities.checkCLError(errorCode);
}
}
}

View File

@ -0,0 +1,164 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL30;
import org.lwjgl.opencl.CLContextCallback;
import org.lwjgl.system.MemoryUtil;
/**
* Wrapper object for an opencl context
*/
public class CLContext {
//the context pointer
long pointer;
//the context callback
CLContextCallback clContextCB;
//the error code buffer
IntBuffer errorCodeBuffer = BufferUtils.createIntBuffer(1);
int[] errorCodeArray = new int[1];
//the device this context is created on
CLDevice device;
//creates an opencl context
public CLContext(CLDevice device, PointerBuffer ctxProps){
pointer = CL30.clCreateContext(ctxProps, device.getId(), clContextCB = CLContextCallback.create(
(errinfo, private_info, cb, user_data) -> System.out.println(String.format("clCreateContext\n\tInfo: %s", MemoryUtil.memUTF8(errinfo)))
), MemoryUtil.NULL, errorCodeBuffer);
this.device = device;
}
/**
* Gets the pointer for this context
* @return The pointer
*/
public long getPointer(){
return pointer;
}
/**
* Gets the opencl error code storage buffer
* @return The opencl error code storage buffer
*/
protected IntBuffer getErrorCodeBuffer(){
return errorCodeBuffer;
}
/**
* Gets an array used for storing error codes in relevant api calls
* @return The array
*/
protected int[] getErrorCodeArray(){
return errorCodeArray;
}
/**
* Creates an opencl buffer with a specified size
* @param flags The flags for the buffer
* @param size The size of the opencl buffer in bytes
* @return The opencl buffer
*/
public CLBuffer createBuffer(long flags, long size){
CLBuffer buffer = new CLBuffer(this, flags, size);
CLUtilities.checkCLError(errorCodeBuffer);
return buffer;
}
/**
* Creates an opencl buffer based on a cpu buffer
* @param flags The flags for the buffer
* @param hostBuffer The cpu buffer to base the opencl buffer on
* @return The opencl buffer
*/
public CLBuffer createBuffer(long flags, IntBuffer hostBuffer){
CLBuffer buffer = new CLBuffer(this, flags, hostBuffer);
CLUtilities.checkCLError(errorCodeBuffer);
return buffer;
}
/**
* Creates a 2d opencl image buffer
* @param flags The flags for creation of the image
* @param width The width of the image
* @param height The height of the image
* @return The opencl image wrapper object
*/
public CLImage createImage(long flags, long width, long height){
CLImage image = new CLImage(this, flags, width, height);
CLUtilities.checkCLError(errorCodeBuffer);
return image;
}
/**
* Creates a 3d opencl image buffer
* @param flags The flags for creation of the image
* @param width The width of the image
* @param height The height of the image
* @param depth The depth of the image
* @return The opencl image wrapper object
*/
public CLImage createImage(long flags, long width, long height, long depth){
CLImage image = new CLImage(this, flags, width, height, depth);
CLUtilities.checkCLError(errorCodeBuffer);
return image;
}
/**
* Creates a 3d opencl image buffer
* @param flags The flags for creation of the image
* @param width The width of the image
* @param height The height of the image
* @param depth The depth of the image
* @param data The data to init the image with
* @return The opencl image wrapper object
*/
public CLImage createImage(long flags, long width, long height, long depth, ByteBuffer data){
CLImage image = new CLImage(this, flags, width, height, depth, data);
CLUtilities.checkCLError(errorCodeBuffer);
return image;
}
/**
* Creates a command queue for this context
* @return The command queue
*/
public CLCommandQueue createCommandQueue(LWJGLContext lwjglContext){
return new CLCommandQueue(lwjglContext, this);
}
/**
* Gets the opencl device this context was created on
* @return The device
*/
public CLDevice getDevice(){
return device;
}
/**
* Creates an opencl program with a provided source
* @param source The source
* @return The program
*/
public CLProgram createProgram(String source){
CLProgram program = CLProgram.createProgram(this, source);
return program;
}
/**
* Creates an opencl kernel from the specified program
* @param program The program
* @param kernelName The name of the kernel in the program source
* @return The kernel object
*/
public CLKernel createKernel(CLProgram program, String kernelName){
CLKernel kernel = new CLKernel(this, program, kernelName);
return kernel;
}
}

View File

@ -0,0 +1,68 @@
package electrosphere.opencl;
import org.lwjgl.opencl.CL30;
/**
* Wrapper object for an opencl device
*/
public class CLDevice {
//the id of the device
long id;
//the name of the device
String deviceName;
//true if the device is a gpu
boolean isGpu = false;
//true if the device is available
boolean isAvailable = false;
/**
* Creates a CL device wrapper object
* @param id the id of the device
* @param isGpu true if the device is a gpu
*/
protected CLDevice(long id){
this.id = id;
//get device name
deviceName = CLUtilities.getDeviceInfoStringUTF8(id, CL30.CL_DEVICE_NAME);
//get if device is gpu
long deviceType = CLUtilities.getDeviceInfoLong(id, CL30.CL_DEVICE_TYPE);
if (deviceType == CL30.CL_DEVICE_TYPE_GPU) {
isGpu = true;
}
//check if is available
long isAvailableRaw = CLUtilities.getDeviceInfoLong(id, CL30.CL_DEVICE_AVAILABLE);
if(isAvailableRaw == CL30.CL_TRUE){
isAvailable = true;
}
}
/**
* Gets the id of the device
* @return the id of the device
*/
public long getId(){
return id;
}
/**
* True if the device is a gpu
* @return True if the device is a gpu
*/
public boolean isGpu(){
return isGpu;
}
/**
* Gets the name of the device
* @return The name of the device
*/
public String getDeviceName(){
return deviceName;
}
}

View File

@ -0,0 +1,65 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL30;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.system.MemoryUtil;
/**
* Wrapper for an opencl event
*/
public class CLEvent {
//The pointer for the event
long pointer;
/**
* Constructs a wrapper object around an opencl event
* @param pointer The pointer for the event
*/
protected CLEvent(long pointer){
this.pointer = pointer;
}
/**
* Gets the pointer for this event
* @return The pointer as a long
*/
public long getPointer(){
return pointer;
}
/**
* Queries the status of the event from opencl
* @return The event status code
*/
public int getStatus(){
int rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
//create buffers for call
ByteBuffer returnValueBuffer = stack.malloc(1);
PointerBuffer sizeBuffer = stack.mallocPointer(1);
//submit request to opencl
int errorCode = CL30.clGetEventInfo(this.getPointer(),CL30.CL_EVENT_COMMAND_EXECUTION_STATUS,returnValueBuffer,sizeBuffer);
//check error
CLUtilities.checkCLError(errorCode);
//get return value
rVal = returnValueBuffer.getInt();
// //free buffers
// MemoryUtil.memFree(returnValueBuffer);
// sizeBuffer.free();
}
//return
return rVal;
}
}

View File

@ -0,0 +1,218 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.opencl.CL30;
import org.lwjgl.opencl.CLImageDesc;
import org.lwjgl.opencl.CLImageFormat;
import org.lwjgl.system.MemoryUtil;
/**
* Wrapper object for an opencl image
*/
public class CLImage {
//the pointer to the image
long pointer;
//The dimensions of the image
long width;
long height;
long depth;
//true if device can read from the image
boolean canRead;
//true if device can write to the image
boolean canWrite;
//the number of bytes per pixel. This is used by the command queue fetching tasks to allocate buffer sizes
long byteWidth;
/**
* Creates an empty 2d image
* @param context The context to create the image in
* @param flags The flags for the image
* @param width The width of the image
* @param height The height of the image
*/
protected CLImage(CLContext context, long flags, long width, long height){
//set initial values
this.width = width;
this.height = height;
this.depth = 0;
//parse flags
this.parseFlags(flags);
//
//Get the image format
CLImageFormat imageFormat = CLImageFormat.create();
imageFormat.image_channel_data_type(CL30.CL_SNORM_INT8);
byteWidth = 4;
imageFormat.image_channel_order(CL30.CL_RGBA);
//
//Get the image description
CLImageDesc imageDesc = CLImageDesc.create();
imageDesc.image_type(CL30.CL_MEM_OBJECT_IMAGE2D);
imageDesc.image_width(width);
imageDesc.image_height(height);
imageDesc.image_depth(0); //only used for 3d image
imageDesc.image_array_size(1); //only used for 1d and 2d images
imageDesc.image_row_pitch(0); //must be 0 if host ptr is null
imageDesc.image_slice_pitch(0); //must be 0 if host ptr is null
//
//host pointer (the data to prepopulate with)
IntBuffer hostPointerBuffer = null; //BufferUtils.createIntBuffer(1);
//
//Create the image object
pointer = CL30.clCreateImage(context.getPointer(), flags, imageFormat, imageDesc, hostPointerBuffer, context.getErrorCodeBuffer());
//error check
CLUtilities.checkCLError(context.getErrorCodeBuffer());
}
/**
* Creates an empty 3d image
* @param context The context to create the image in
* @param flags The flags for the image
* @param width The width of the image
* @param height The height of the image
* @param depth The depth of the image
*/
protected CLImage(CLContext context, long flags, long width, long height, long depth){
//set initial values
this.width = width;
this.height = height;
this.depth = depth;
//parse flags
this.parseFlags(flags);
//
//Get the image format
CLImageFormat imageFormat = CLImageFormat.create();
imageFormat.image_channel_data_type(CL30.CL_SNORM_INT8);
byteWidth = 4;
imageFormat.image_channel_order(CL30.CL_RGBA);
//
//Get the image description
CLImageDesc imageDesc = CLImageDesc.create();
imageDesc.image_type(CL30.CL_MEM_OBJECT_IMAGE3D);
imageDesc.image_width(width);
imageDesc.image_height(height);
imageDesc.image_depth(depth); //only used for 3d image
imageDesc.image_array_size(1); //only used for 1d and 2d images
imageDesc.image_row_pitch(0); //must be 0 if host ptr is null
imageDesc.image_slice_pitch(0); //must be 0 if host ptr is null
//
//host pointer (the data to prepopulate with)
IntBuffer hostPointerBuffer = null; //BufferUtils.createIntBuffer(1);
//
//Create the image object
pointer = CL30.clCreateImage(context.getPointer(), flags, imageFormat, imageDesc, hostPointerBuffer, context.getErrorCodeBuffer());
}
/**
* Creates an empty 3d image
* @param context The context to create the image in
* @param flags The flags for the image
* @param width The width of the image
* @param height The height of the image
* @param depth The depth of the image
*/
protected CLImage(CLContext context, long flags, long width, long height, long depth, ByteBuffer data){
//set initial values
this.width = width;
this.height = height;
this.depth = depth;
//parse flags
this.parseFlags(flags);
//
//Get the image format
CLImageFormat imageFormat = CLImageFormat.create();
imageFormat.image_channel_data_type(CL30.CL_SNORM_INT8);
byteWidth = 4;
imageFormat.image_channel_order(CL30.CL_RGBA);
//
//Get the image description
CLImageDesc imageDesc = CLImageDesc.create();
imageDesc.image_type(CL30.CL_MEM_OBJECT_IMAGE3D);
imageDesc.image_width(width);
imageDesc.image_height(height);
imageDesc.image_depth(depth); //only used for 3d image
imageDesc.image_array_size(1); //only used for 1d and 2d images
imageDesc.image_row_pitch(width * byteWidth); //must be 0 if host ptr is null
imageDesc.image_slice_pitch(width * height * byteWidth); //must be 0 if host ptr is null
//
//Create the image object
pointer = CL30.clCreateImage(context.getPointer(), flags, imageFormat, imageDesc, data, context.getErrorCodeBuffer());
CLUtilities.checkCLError(context);
}
/**
* Parses the flags passed in on image creation to set variables (eg read/write status)
* @param flags The flags passed in
*/
private void parseFlags(long flags){
if((CL30.CL_MEM_READ_ONLY & flags) != 0){
this.canRead = true;
}
if((CL30.CL_MEM_WRITE_ONLY & flags) != 0){
this.canWrite = true;
}
}
/**
* Gets the pointer for the image
* @return The image pointer
*/
public long getPointer(){
return pointer;
}
/**
* Gets the width of the image
* @return The width of the image
*/
public long getWidth(){
return width;
}
/**
* Gets the height of the image
* @return The height of the image
*/
public long getHeight(){
return height;
}
/**
* Gets the depth of the image
* @return The depth of the image
*/
public long getDepth(){
return depth;
}
/**
* Gets the byte width of the image
* @return The byte width
*/
public long getByteWidth(){
return byteWidth;
}
}

View File

@ -0,0 +1,32 @@
package electrosphere.opencl;
import org.lwjgl.opencl.CL30;
/**
* A wrapper object for an opencl kernel
*/
public class CLKernel {
//The pointer to the kernel
long pointer;
/**
* Creates a cl kernel from a context and a program
* @param context The opencl context
* @param program The opencl program
* @param kernelName The name of the kernel
*/
protected CLKernel(CLContext context, CLProgram program, String kernelName){
pointer = CL30.clCreateKernel(program.getPointer(), kernelName, context.getErrorCodeBuffer());
CLUtilities.checkCLError(context.getErrorCodeBuffer());
}
/**
* Gets the pointer for this kernel
* @return The pointer as a long
*/
public long getPointer(){
return pointer;
}
}

View File

@ -0,0 +1,153 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL;
import org.lwjgl.opencl.CL30;
import org.lwjgl.opencl.CLCapabilities;
import org.lwjgl.system.MemoryStack;
/**
* An object that encapsulates an openCL platform
*/
public class CLPlatform {
//the id of the platform
long id;
//the capabilities of the platform
CLCapabilities caps;
//Information about the platform
String vendor;
String name;
String version;
// the list of all cl devices on this platform
List<CLDevice> clDevices;
/**
* Creates a platform object
* @param id The id of the platform
*/
protected CLPlatform(long id, CLCapabilities caps, String vendor, String name, String version, List<CLDevice> clDevices){
this.id = id;
this.caps = caps;
this.vendor = vendor;
this.name = name;
this.version = version;
this.clDevices = clDevices;
}
/**
* Gets a set containing all currently available platforms
* @return The set containing all currently available platforms
*/
public static Set<CLPlatform> getPlatforms(){
Set<CLPlatform> platforms = new HashSet<CLPlatform>();
try(MemoryStack stack = MemoryStack.stackPush()){
//check if there are any platforms
IntBuffer pi = stack.mallocInt(1);
CLUtilities.checkCLError(CL30.clGetPlatformIDs(null, pi));
if (pi.get(0) == 0) {
throw new IllegalStateException("No OpenCL platforms found.");
}
//if there are platforms, get all platform IDs
PointerBuffer platformIDs = stack.mallocPointer(pi.get(0));
CLUtilities.checkCLError(CL30.clGetPlatformIDs(platformIDs, (IntBuffer)null));
//add all platforms to the returned list
for (int i = 0; i < platformIDs.capacity(); i++) {
//get basic identification
long platformId = platformIDs.get(i);
CLCapabilities caps = CL.createPlatformCapabilities(platformId);
String vendor = CLUtilities.getPlatformInfoStringUTF8(platformId, CL30.CL_PLATFORM_VENDOR);
String name = CLUtilities.getPlatformInfoStringUTF8(platformId, CL30.CL_PLATFORM_NAME);
String version = CLUtilities.getPlatformInfoStringUTF8(platformId, CL30.CL_PLATFORM_VERSION);
//get devices on the platform
int errcode = CL30.clGetDeviceIDs(platformId, CL30.CL_DEVICE_TYPE_GPU, null, pi);
List<CLDevice> devices = new LinkedList<CLDevice>();
if(errcode != CL30.CL_DEVICE_NOT_FOUND){
CLUtilities.checkCLError(errcode);
PointerBuffer deviceIDs = stack.mallocPointer(pi.get(0));
CLUtilities.checkCLError(CL30.clGetDeviceIDs(platformId, CL30.CL_DEVICE_TYPE_ALL, deviceIDs, (IntBuffer)null));
for (int j = 0; j < deviceIDs.capacity(); j++) {
long deviceId = deviceIDs.get(j);
devices.add(new CLDevice(deviceId));
}
}
platforms.add(new CLPlatform(platformId, caps, vendor, name, version, devices));
}
if (platforms.isEmpty()) {
throw new IllegalStateException("No OpenCL platform found.");
}
}
return platforms;
}
/**
* Gets the id of the platform
* @return the id of the platfomr
*/
public long getId(){
return id;
}
/**
* Gets the capabilities object of the platform
* @return The capabilities
*/
public CLCapabilities getCapabilities(){
return caps;
}
/**
* Gets the name of the vendor the platform
* @return The name of the vendor of the platform
*/
public String getVendor(){
return vendor;
}
/**
* Gets the name of the platform
* @return The name of the platform
*/
public String getName(){
return name;
}
/**
* Gets the version of opencl on the platform
* @return The version of opencl on the platform
*/
public String getVersion(){
return name;
}
/**
* Gets the list of cl devices on this platform
* @return The list of devices
*/
public List<CLDevice> getCLDevices(){
return clDevices;
}
}

View File

@ -0,0 +1,70 @@
package electrosphere.opencl;
import java.util.concurrent.CountDownLatch;
import org.lwjgl.opencl.CL30;
import org.lwjgl.opencl.CLProgramCallback;
import org.lwjgl.system.MemoryUtil;
/**
* Wrapper object for an opencl program
*/
public class CLProgram {
//the pointer to the program
long pointer;
/**
* Creates an opencl program from a context and a source
* @param context The context
* @param source The source
* @return The program
*/
protected static CLProgram createProgram(CLContext context, String source){
CLProgram program = new CLProgram();
//create object
program.pointer = CL30.clCreateProgramWithSource(context.getPointer(), source, context.getErrorCodeBuffer());
CLUtilities.checkCLError(context.getErrorCodeBuffer());
//latch for blocking execution until the program finishes compiling
CountDownLatch latch = new CountDownLatch(1);
//build the program
String options = "";
CLProgramCallback buildCallback;
int errcode = CL30.clBuildProgram(program.pointer, context.getDevice().getId(), options, buildCallback = CLProgramCallback.create((programId, user_data) -> {
System.out.println(String.format(
"The cl_program [0x%X] was built %s",
programId,
CLUtilities.getProgramBuildInfoInt(programId, context.getDevice().getId(), CL30.CL_PROGRAM_BUILD_STATUS) == CL30.CL_SUCCESS ? "successfully" : "unsuccessfully"
));
String log = CLUtilities.getProgramBuildInfoStringASCII(programId, context.getDevice().getId(), CL30.CL_PROGRAM_BUILD_LOG);
if (!log.isEmpty()) {
System.out.println(String.format("BUILD LOG:\n----\n%s\n-----", log));
}
latch.countDown();
}), MemoryUtil.NULL);
CLUtilities.checkCLError(errcode);
//Block execution until the program finishes building
try {
latch.await();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
buildCallback.free();
return program;
}
/**
* Gets the pointer for this program object
* @return The pointer as a long
*/
public long getPointer(){
return pointer;
}
}

View File

@ -0,0 +1,41 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
/**
* A pair of an opencl event and the buffer from the read operation. Used so we can pass back both from the call.
*/
public class CLReadImageResult {
//the buffer
ByteBuffer buffer;
//the event
CLEvent event;
/**
* Constructs the pair
* @param buffer The buffer
* @param event The event
*/
protected CLReadImageResult(ByteBuffer buffer, CLEvent event){
this.buffer = buffer;
this.event = event;
}
/**
* Gets the buffer
* @return The buffer
*/
public ByteBuffer getBuffer(){
return buffer;
}
/**
* Gets the event
* @return The event
*/
public CLEvent getEvent(){
return event;
}
}

View File

@ -0,0 +1,181 @@
package electrosphere.opencl;
import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.PointerBuffer;
import org.lwjgl.opencl.CL30;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.system.MemoryUtil;
import static org.lwjgl.opencl.CL30.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* Utilities for all opencl files (for instance error checking functions)
*/
public class CLUtilities {
/**
* Checks an opencl error code
* @param errcode The error code
*/
public static void checkCLError(IntBuffer errcode) {
checkCLError(errcode.get(errcode.position()));
}
/**
* Checks an opencl error code
* @param errcode The error code
*/
public static void checkCLError(int errcode) {
if (errcode != CL_SUCCESS) {
throw new RuntimeException(String.format("OpenCL error [%d]", errcode));
}
}
/**
* Checks an opencl error code
* @param context The context containing the error code buffer
*/
public static void checkCLError(CLContext context) {
int code = context.getErrorCodeBuffer().get();
if (code != CL_SUCCESS) {
throw new RuntimeException(String.format("OpenCL error [%d]", code));
}
context.getErrorCodeBuffer().flip();
}
/**
* Gets a platform info as a utf string
* @param platformId The platform id
* @param paramName The parameter name
* @return The string containing the information
*/
public static String getPlatformInfoStringUTF8(long platformId, int paramName) {
String rVal = "";
try(MemoryStack stack = MemoryStack.stackPush()){
PointerBuffer resultSizeBuffer = stack.mallocPointer(1);
checkCLError(CL30.clGetPlatformInfo(platformId, paramName, (ByteBuffer)null, resultSizeBuffer));
int bytes = (int)resultSizeBuffer.get(0);
ByteBuffer buffer = stack.malloc(bytes);
checkCLError(CL30.clGetPlatformInfo(platformId, paramName, buffer, null));
rVal = memUTF8(buffer, bytes - 1);
}
return rVal;
}
/**
* Gets an opencl device parameter as a utf8 string
* @param deviceId The device id
* @param paramName The parameter name
* @return The string
*/
public static String getDeviceInfoStringUTF8(long deviceId, int paramName) {
String rVal = "";
try(MemoryStack stack = MemoryStack.stackPush()){
PointerBuffer pp = stack.mallocPointer(1);
checkCLError(clGetDeviceInfo(deviceId, paramName, (ByteBuffer)null, pp));
int bytes = (int)pp.get(0);
ByteBuffer buffer = stack.malloc(bytes);
checkCLError(clGetDeviceInfo(deviceId, paramName, buffer, null));
rVal = memUTF8(buffer, bytes - 1);
}
return rVal;
}
/**
* Gets a device parameter's value as an int
* @param deviceId The id of the device
* @param paramName The parameter name
* @return The int
*/
public static int getDeviceInfoInt(long deviceId, int paramName) {
int rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
IntBuffer pl = stack.mallocInt(1);
checkCLError(clGetDeviceInfo(deviceId, paramName, pl, null));
rVal = pl.get(0);
}
return rVal;
}
/**
* Gets a device's parameter's value as a long
* @param deviceId The device's id
* @param paramName The parameter name
* @return The value as a long
*/
public static long getDeviceInfoLong(long deviceId, int paramName) {
long rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
LongBuffer pl = stack.mallocLong(1);
checkCLError(clGetDeviceInfo(deviceId, paramName, pl, null));
rVal = pl.get(0);
}
return rVal;
}
/**
* Gets a device's parameter's value as a boolean
* @param deviceId The device's id
* @param paramName The parameter name
* @return The value as a boolean
*/
public static boolean getDeviceInfoBoolean(long deviceId, int paramName) {
byte rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
ByteBuffer pl = stack.malloc(1);
checkCLError(clGetDeviceInfo(deviceId, paramName, pl, null));
rVal = pl.get(0);
}
return rVal == 0;
}
/**
* Gets an opencl program build parameter as an int
* @param programId The program id
* @param deviceId The device id
* @param parameterName The parameter name
* @return THe value of the parameter as an int
*/
public static int getProgramBuildInfoInt(long programId, long deviceId, int parameterName) {
int rVal = 0;
try(MemoryStack stack = MemoryStack.stackPush()){
IntBuffer pl = stack.mallocInt(1);
checkCLError(clGetProgramBuildInfo(programId, deviceId, parameterName, pl, null));
rVal = pl.get(0);
}
return rVal;
}
/**
* Gets an opencl program build parameter as a string
* @param programId The program id
* @param deviceId The device id
* @param parameterName The parameter name
* @return The value of the parameter as a string
*/
public static String getProgramBuildInfoStringASCII(long programId, long deviceId, int parameterName) {
String rVal = "";
try(MemoryStack stack = MemoryStack.stackPush()){
PointerBuffer pp = stack.mallocPointer(1);
checkCLError(clGetProgramBuildInfo(programId, deviceId, parameterName, (ByteBuffer)null, pp));
int bytes = (int)pp.get(0);
ByteBuffer buffer = stack.malloc(bytes);
checkCLError(clGetProgramBuildInfo(programId, deviceId, parameterName, buffer, null));
rVal = memASCII(buffer, bytes - 1);;
}
return rVal;
}
}

View File

@ -0,0 +1,28 @@
package electrosphere.opencl;
import org.lwjgl.system.MemoryStack;
/**
* A context for the lwjgl framework. Contains stack used by opencl api.
*/
public class LWJGLContext {
//The stack for memory allocation
MemoryStack stack;
/**
* Constructor
*/
public LWJGLContext(){
stack = MemoryStack.create(1000 * 1000 * 4 * 4);
}
/**
* Gets the memory stack for the current context
* @return The lwjgl context's memory stack
*/
public MemoryStack getStack(){
return stack;
}
}

View File

@ -0,0 +1,89 @@
package electrosphere.render;
import java.nio.IntBuffer;
import org.lwjgl.BufferUtils;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.opengl.GL;
import org.lwjgl.opengl.GL44;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.system.MemoryUtil;
public class GLFWContext {
static long window;
public static void init(){
//Initializes opengl
GLFW.glfwInit();
//Gives hints to glfw to control how opengl will be used
GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MAJOR, 4);
GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MINOR, 4);
GLFW.glfwWindowHint(GLFW.GLFW_OPENGL_PROFILE, GLFW.GLFW_OPENGL_CORE_PROFILE);
//Creates the window reference object
window = GLFW.glfwCreateWindow(1920, 1080, "ORPG", GLFW.glfwGetPrimaryMonitor(), MemoryUtil.NULL);
// Errors for failure to create window (IE: No GUI mode on linux ?)
if (window == MemoryUtil.NULL) {
GLFW.glfwTerminate();
}
//set resize callback
// GLFW.glfwSetWindowSizeCallback(window, new GLFWWindowSizeCallbackI(){
// @Override
// public void invoke(long window, int width, int height){
// Globals.WINDOW_HEIGHT = height;
// Globals.WINDOW_WIDTH = width;
// }
// });
//Makes the window that was just created the current OS-level window context
GLFW.glfwMakeContextCurrent(window);
//Maximize it
GLFW.glfwMaximizeWindow(window);
//grab actual framebuffer
IntBuffer xBuffer = BufferUtils.createIntBuffer(1);
IntBuffer yBuffer = BufferUtils.createIntBuffer(1);
GLFW.glfwGetFramebufferSize(window, xBuffer, yBuffer);
MemoryUtil.memFree(xBuffer);
MemoryUtil.memFree(yBuffer);
int bufferWidth = xBuffer.get();
int bufferHeight = yBuffer.get();
//
// Attack controls callbacks
//
//set key callback
// GLFWContext.glfwSetKeyCallback(window, Globals.controlCallback);
//set mouse callback
// GLFWContext.glfwSetMouseButtonCallback(Globals.window, Globals.mouseCallback);
//get title bar dimensions
// setTitleBarDimensions();
//Creates the OpenGL capabilities for the program.
GL.createCapabilities();
//This enables Z-buffering so that farther-back polygons are not drawn over nearer ones
GL44.glEnable(GL44.GL_DEPTH_TEST);
// Support for transparency
GL44.glEnable(GL44.GL_BLEND);
GL44.glBlendFunc(GL44.GL_SRC_ALPHA, GL44.GL_ONE_MINUS_SRC_ALPHA);
//this disables vsync to make game run faster
//https://stackoverflow.com/questions/55598376/glfwswapbuffers-is-slow
GLFW.glfwSwapInterval(0);
}
public static void redraw(){
//clear screen
GL44.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
GL44.glClear(GL44.GL_COLOR_BUFFER_BIT);
//draw here
Mesh.draw();
//ending stuff
GLFW.glfwSwapBuffers(window);
GLFW.glfwPollEvents();
}
}

View File

@ -0,0 +1,856 @@
package electrosphere.render;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.joml.Matrix4f;
import org.joml.Vector3f;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL33;
import org.lwjgl.opengl.GL44;
import org.lwjgl.opengl.GL45;
import org.lwjgl.system.MemoryUtil;
import electrosphere.FluidSim;
public class Mesh {
public static int vaoPtr;
static int vertBufferPtr;
static int normBufferPtr;
static int faceBufferPtr;
static int shaderProgram;
public static int elementCount = 0;
public static void meshInitially(FluidSim sim){
//create and bind vao
vaoPtr = GL44.glGenVertexArrays();
GL44.glBindVertexArray(vaoPtr);
//generate verts
TerrainChunkData data = generateTerrainChunkData(sim.getData());
//
//Buffer data to GPU
//
vertBufferPtr = GL44.glGenBuffers();
GL44.glBindBuffer(GL44.GL_ARRAY_BUFFER, vertBufferPtr);
try {
int vertexCount = data.vertices.size();
FloatBuffer vertData = BufferUtils.createFloatBuffer(vertexCount);
for(float vertValue : data.vertices){
vertData.put(vertValue);
}
vertData.flip();
GL44.glBufferData(GL44.GL_ARRAY_BUFFER,vertData,GL44.GL_STATIC_DRAW);
GL44.glVertexAttribPointer(0, 3, GL44.GL_FLOAT, false, 0, 0);
GL44.glEnableVertexAttribArray(0);
// MemoryUtil.memFree(vertData);
} catch (NullPointerException ex){
ex.printStackTrace();
}
//
// FACES
//
faceBufferPtr = GL44.glGenBuffers();
GL44.glBindBuffer(GL44.GL_ELEMENT_ARRAY_BUFFER, faceBufferPtr);
elementCount = data.elements.size();
try {
IntBuffer elementArrayBufferData = BufferUtils.createIntBuffer(elementCount);
for(int element : data.elements){
elementArrayBufferData.put(element);
}
elementArrayBufferData.flip();
GL44.glBufferData(GL45.GL_ELEMENT_ARRAY_BUFFER,elementArrayBufferData,GL44.GL_STATIC_DRAW);
// MemoryUtil.memFree(elementArrayBufferData);
} catch (NullPointerException ex){
ex.printStackTrace();
}
//
// NORMALS
//
normBufferPtr = GL44.glGenBuffers();
GL44.glBindBuffer(GL44.GL_ARRAY_BUFFER, normBufferPtr);
try {
int normalCount = data.normals.size() / 3;
FloatBuffer NormalArrayBufferData;
if(normalCount > 0){
NormalArrayBufferData = BufferUtils.createFloatBuffer(normalCount * 3);
float[] temp = new float[3];
for(float normalValue : data.normals){
NormalArrayBufferData.put(normalValue);
}
NormalArrayBufferData.flip();
GL44.glBufferData(GL44.GL_ARRAY_BUFFER,NormalArrayBufferData,GL44.GL_STATIC_DRAW);
GL44.glVertexAttribPointer(1, 3, GL44.GL_FLOAT, false, 0, 0);
GL44.glEnableVertexAttribArray(1);
MemoryUtil.memFree(NormalArrayBufferData);
}
} catch (NullPointerException ex){
ex.printStackTrace();
}
String vsSrc = "";
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
try (BufferedReader is = new BufferedReader(new InputStreamReader(classloader.getResourceAsStream("shader.vs")))){
String temp;
while((temp = is.readLine())!=null){
vsSrc = vsSrc + temp + "\n";
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String fsSrc = "";
try (BufferedReader is = new BufferedReader(new InputStreamReader(classloader.getResourceAsStream("shader.fs")))){
String temp;
while((temp = is.readLine())!=null){
fsSrc = fsSrc + temp + "\n";
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//
//Create shader
//
int vertexShader = GL45.glCreateShader(GL45.GL_VERTEX_SHADER);
GL45.glShaderSource(vertexShader, vsSrc);
//Compiles the source for the vertex shader object
GL45.glCompileShader(vertexShader);
//The following tests if the vertex shader compiles successfully
int success;
success = GL45.glGetShaderi(vertexShader, GL45.GL_COMPILE_STATUS);
if (success != GL45.GL_TRUE) {
System.err.println("Vertex Shader failed to compile!");
System.err.println("Source is: ");
System.err.println(GL45.glGetShaderSource(vertexShader));
System.err.println(GL45.glGetShaderInfoLog(vertexShader));
}
//Creates and opengl object for a fragment shader and assigns its 'pointer' to the integer fragmentShader
int fragmentShader = GL45.glCreateShader(GL45.GL_FRAGMENT_SHADER);
//This points the opengl shadder object to its proper source
GL45.glShaderSource(fragmentShader, fsSrc);
//This compiles the shader object
GL45.glCompileShader(fragmentShader);
//This tests for the success of the compile attempt
success = GL45.glGetShaderi(fragmentShader, GL45.GL_COMPILE_STATUS);
if (success != GL45.GL_TRUE) {
System.err.println("Fragment Shader failed to compile!");
System.err.println("Source is: ");
System.err.println(GL45.glGetShaderSource(fragmentShader));
System.err.println(GL45.glGetShaderInfoLog(fragmentShader));
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
shaderProgram = GL45.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
GL45.glAttachShader(shaderProgram, vertexShader);
GL45.glAttachShader(shaderProgram, fragmentShader);
//This links the program to the GPU (I think its to the GPU anyway)
GL45.glLinkProgram(shaderProgram);
//Tests for the success of the shader program creation
success = GL45.glGetProgrami(shaderProgram, GL45.GL_LINK_STATUS);
if (success != GL45.GL_TRUE) {
throw new RuntimeException(GL45.glGetProgramInfoLog(shaderProgram));
}
//Deletes the individual shader objects to free up memory
GL45.glDeleteShader(vertexShader);
GL45.glDeleteShader(fragmentShader);
//bind shader
GL45.glUseProgram(shaderProgram);
Matrix4f viewMatrix = new Matrix4f();
viewMatrix.setLookAt(new Vector3f(-10,10,0), new Vector3f(8,8,8), new Vector3f(0,1,0));
Matrix4f projectionMatrix = new Matrix4f();
projectionMatrix.setPerspective(90,1920.0f/1080.0f,0.001f,50f);
Matrix4f model = new Matrix4f().identity();
GL45.glUniformMatrix4fv(GL45.glGetUniformLocation(shaderProgram, "view"), false, viewMatrix.get(new float[16]));
GL45.glUniformMatrix4fv(GL45.glGetUniformLocation(shaderProgram, "projection"), false, projectionMatrix.get(new float[16]));
GL45.glUniformMatrix4fv(GL45.glGetUniformLocation(shaderProgram, "model"), false, model.get(new float[16]));
}
public static void remesh(FluidSim sim){
}
public static void draw(){
GL45.glUseProgram(shaderProgram);
GL44.glBindVertexArray(vaoPtr);
GL44.glDrawElements(GL44.GL_TRIANGLES, Mesh.elementCount, GL44.GL_UNSIGNED_INT, 0);
}
//http://paulbourke.net/geometry/polygonise/
static int edgeTable[]={
0x0 , 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c,
0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
0x190, 0x99 , 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c,
0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
0x230, 0x339, 0x33 , 0x13a, 0x636, 0x73f, 0x435, 0x53c,
0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
0x3a0, 0x2a9, 0x1a3, 0xaa , 0x7a6, 0x6af, 0x5a5, 0x4ac,
0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
0x460, 0x569, 0x663, 0x76a, 0x66 , 0x16f, 0x265, 0x36c,
0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff , 0x3f5, 0x2fc,
0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55 , 0x15c,
0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc ,
0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc,
0xcc , 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c,
0x15c, 0x55 , 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc,
0x2fc, 0x3f5, 0xff , 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c,
0x36c, 0x265, 0x16f, 0x66 , 0x76a, 0x663, 0x569, 0x460,
0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac,
0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa , 0x1a3, 0x2a9, 0x3a0,
0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c,
0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33 , 0x339, 0x230,
0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c,
0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99 , 0x190,
0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c,
0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x0
};
//256 by 16
static int triTable[][] = {
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1},
{3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1},
{3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1},
{3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1},
{9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1},
{2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1},
{8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1},
{4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1},
{3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1},
{1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1},
{4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1},
{4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1},
{5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1},
{2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1},
{9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1},
{0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1},
{2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1},
{10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1},
{5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1},
{5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1},
{9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1},
{1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1},
{10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1},
{8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1},
{2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1},
{7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1},
{2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1},
{11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1},
{5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1},
{11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1},
{11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1},
{9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1},
{2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1},
{6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1},
{3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1},
{6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1},
{10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1},
{6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1},
{8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1},
{7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1},
{3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1},
{0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1},
{9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1},
{8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1},
{5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1},
{0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1},
{6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1},
{10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1},
{10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1},
{8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1},
{1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1},
{0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1},
{10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1},
{3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1},
{6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1},
{9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1},
{8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1},
{3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1},
{6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1},
{0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1},
{10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1},
{10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1},
{2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1},
{7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1},
{7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1},
{2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1},
{1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1},
{11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1},
{8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1},
{0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1},
{7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1},
{10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1},
{2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1},
{6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1},
{7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1},
{2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1},
{10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1},
{10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1},
{0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1},
{7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1},
{6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1},
{8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1},
{9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1},
{6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1},
{4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1},
{10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1},
{8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1},
{0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1},
{1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1},
{8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1},
{10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1},
{4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1},
{10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1},
{11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1},
{9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1},
{6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1},
{7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1},
{3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1},
{7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1},
{3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1},
{6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1},
{9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1},
{1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1},
{4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1},
{7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1},
{6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1},
{3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1},
{0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1},
{6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1},
{0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1},
{11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1},
{6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1},
{5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1},
{9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1},
{1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1},
{1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1},
{10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1},
{0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1},
{5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1},
{10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1},
{11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1},
{9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1},
{7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1},
{2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1},
{8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1},
{9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1},
{9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1},
{1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1},
{9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1},
{5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1},
{0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1},
{10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1},
{2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1},
{0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1},
{0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1},
{9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1},
{5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1},
{3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1},
{5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1},
{8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1},
{0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1},
{9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1},
{1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1},
{3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1},
{4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1},
{9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1},
{11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1},
{11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1},
{2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1},
{9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1},
{3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1},
{1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1},
{4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1},
{3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1},
{0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1},
{1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
};
private static final byte[] BLOCK_PICK_BITS_BY_VERT_INDEX = new byte[]{
(byte)0x67,
(byte)0x26,
(byte)0x23,
(byte)0x37,
(byte)0x45,
(byte)0x04,
(byte)0x01,
(byte)0x15,
(byte)0x57,
(byte)0x46,
(byte)0x02,
(byte)0x13
};
static class Triangle {
int[] indices = new int[3]; //array of size 3
public Triangle(int index0, int index1, int index2){
indices[0] = index0;
indices[1] = index1;
indices[2] = index2;
}
}
static class GridCell {
Vector3f[] points = new Vector3f[8]; //array of size 8
double[] val = new double[8]; //array of size 8
public void setValues(
Vector3f p1, Vector3f p2, Vector3f p3, Vector3f p4,
Vector3f p5, Vector3f p6, Vector3f p7, Vector3f p8,
double val1, double val2, double val3, double val4,
double val5, double val6, double val7, double val8
){
points[0] = p1; points[1] = p2; points[2] = p3; points[3] = p4;
points[4] = p5; points[5] = p6; points[6] = p7; points[7] = p8;
val[0] = val1; val[1] = val2; val[2] = val3; val[3] = val4;
val[4] = val5; val[5] = val6; val[6] = val7; val[7] = val8;
}
}
protected static int polygonize(
GridCell grid,
double isolevel,
List<Triangle> triangles,
Map<String,Integer> vertMap,
List<Vector3f> verts,
List<Vector3f> normals,
List<Integer> trianglesSharingVert
){
int i;
int ntriang;
int cubeIndex = 0;
Vector3f[] vertList = new Vector3f[12];
//get lookup key (index) for edge table
//edge table tells us which vertices are inside of the surface
if (grid.val[0] < isolevel) cubeIndex |= 1;
if (grid.val[1] < isolevel) cubeIndex |= 2;
if (grid.val[2] < isolevel) cubeIndex |= 4;
if (grid.val[3] < isolevel) cubeIndex |= 8;
if (grid.val[4] < isolevel) cubeIndex |= 16;
if (grid.val[5] < isolevel) cubeIndex |= 32;
if (grid.val[6] < isolevel) cubeIndex |= 64;
if (grid.val[7] < isolevel) cubeIndex |= 128;
//Cube is entirely in/out of the surface
if (edgeTable[cubeIndex] == 0)
return(0);
//instead of having all intersections be perfectly at the midpoint,
//for each edge this code calculates where along the edge to place the vertex
//this should dramatically smooth the surface
if ((edgeTable[cubeIndex] & 1) > 0)
vertList[0] =
VertexInterp(isolevel,grid.points[0],grid.points[1],grid.val[0],grid.val[1]);
if ((edgeTable[cubeIndex] & 2) > 0)
vertList[1] =
VertexInterp(isolevel,grid.points[1],grid.points[2],grid.val[1],grid.val[2]);
if ((edgeTable[cubeIndex] & 4) > 0)
vertList[2] =
VertexInterp(isolevel,grid.points[2],grid.points[3],grid.val[2],grid.val[3]);
if ((edgeTable[cubeIndex] & 8) > 0)
vertList[3] =
VertexInterp(isolevel,grid.points[3],grid.points[0],grid.val[3],grid.val[0]);
if ((edgeTable[cubeIndex] & 16) > 0)
vertList[4] =
VertexInterp(isolevel,grid.points[4],grid.points[5],grid.val[4],grid.val[5]);
if ((edgeTable[cubeIndex] & 32) > 0)
vertList[5] =
VertexInterp(isolevel,grid.points[5],grid.points[6],grid.val[5],grid.val[6]);
if ((edgeTable[cubeIndex] & 64) > 0)
vertList[6] =
VertexInterp(isolevel,grid.points[6],grid.points[7],grid.val[6],grid.val[7]);
if ((edgeTable[cubeIndex] & 128) > 0)
vertList[7] =
VertexInterp(isolevel,grid.points[7],grid.points[4],grid.val[7],grid.val[4]);
if ((edgeTable[cubeIndex] & 256) > 0)
vertList[8] =
VertexInterp(isolevel,grid.points[0],grid.points[4],grid.val[0],grid.val[4]);
if ((edgeTable[cubeIndex] & 512) > 0)
vertList[9] =
VertexInterp(isolevel,grid.points[1],grid.points[5],grid.val[1],grid.val[5]);
if ((edgeTable[cubeIndex] & 1024) > 0)
vertList[10] =
VertexInterp(isolevel,grid.points[2],grid.points[6],grid.val[2],grid.val[6]);
if ((edgeTable[cubeIndex] & 2048) > 0)
vertList[11] =
VertexInterp(isolevel,grid.points[3],grid.points[7],grid.val[3],grid.val[7]);
//Create the triangle
ntriang = 0;
for (i=0; triTable[cubeIndex][i]!=-1; i+=3) {
//
// Triangles calculation
//
//get indices
Vector3f vert0 = vertList[triTable[cubeIndex][i+0]];
Vector3f vert1 = vertList[triTable[cubeIndex][i+1]];
Vector3f vert2 = vertList[triTable[cubeIndex][i+2]];
int index0 = getVertIndex(vert0,vertMap,verts);
int index1 = getVertIndex(vert1,vertMap,verts);
int index2 = getVertIndex(vert2,vertMap,verts);
//add 0's to normals until it matches vert count
while(trianglesSharingVert.size() < verts.size()){
trianglesSharingVert.add(0);
normals.add(new Vector3f());
}
//add new triangle
Triangle newTriangle = new Triangle(index0,index1,index2);
triangles.add(newTriangle);
ntriang++;
//
// Normals calculation
//
//calculate normal for new triangle
Vector3f u = verts.get(index1).sub(verts.get(index0), new Vector3f());
Vector3f v = verts.get(index2).sub(verts.get(index1), new Vector3f());
Vector3f n = new Vector3f(u.y * v.z - u.z * v.y, u.z * v.x - u.x * v.z, u.x * v.y - u.y * v.x).normalize();
//for each vertex, average the new normal with the normals that are already there
int trianglesSharingIndex0 = trianglesSharingVert.get(index0);
//calculate proportion of each normal
float oldProportion = trianglesSharingIndex0 / (float)(trianglesSharingIndex0 + 1);
float newProportion = 1.0f / (float)(trianglesSharingIndex0 + 1);
//increment number of triangles sharing vert
trianglesSharingVert.set(index0, trianglesSharingIndex0 + 1);
Vector3f currentNormal = normals.get(index0);
currentNormal = averageNormals(currentNormal,oldProportion,n,newProportion);
normals.get(index0).set(currentNormal);
int trianglesSharingIndex1 = trianglesSharingVert.get(index1);
//calculate proportion of each normal
oldProportion = trianglesSharingIndex1 / (float)(trianglesSharingIndex1 + 1);
newProportion = 1.0f / (float)(trianglesSharingIndex1 + 1);
//increment number of triangles sharing vert
trianglesSharingVert.set(index1, trianglesSharingIndex1 + 1);
currentNormal = normals.get(index1);
currentNormal = averageNormals(currentNormal,oldProportion,n,newProportion);
normals.get(index1).set(currentNormal);
int trianglesSharingIndex2 = trianglesSharingVert.get(index2);
//calculate proportion of each normal
oldProportion = trianglesSharingIndex2 / (float)(trianglesSharingIndex2 + 1);
newProportion = 1.0f / (float)(trianglesSharingIndex2 + 1);
//increment number of triangles sharing vert
trianglesSharingVert.set(index2, trianglesSharingIndex2 + 1);
currentNormal = normals.get(index2);
currentNormal = averageNormals(currentNormal,oldProportion,n,newProportion);
normals.get(index2).set(currentNormal);
}
return(ntriang);
}
//interpolates the location that the edge gets cut based on the magnitudes of the scalars of the vertices at either end of the edge
static Vector3f VertexInterp(double isolevel, Vector3f p1, Vector3f p2, double valp1, double valp2){
double mu;
float x, y, z;
if (Math.abs(isolevel-valp1) < 0.00001)
return(p1);
if (Math.abs(isolevel-valp2) < 0.00001)
return(p2);
if (Math.abs(valp1-valp2) < 0.00001)
return(p1);
mu = (isolevel - valp1) / (valp2 - valp1);
x = (float)(p1.x + mu * (p2.x - p1.x));
y = (float)(p1.y + mu * (p2.y - p1.y));
z = (float)(p1.z + mu * (p2.z - p1.z));
return new Vector3f(x,y,z);
}
public static TerrainChunkData generateTerrainChunkData(float[][][][] data){
// 5 6
// +-------------+ +-----5-------+ ^ Y
// / | / | / | /| | _
// / | / | 4 9 6 10 | /\ Z
// 4 +-----+-------+ 7 | +-----+7------+ | | /
// | 1 +-------+-----+ 2 | +-----1-+-----+ | /
// | / | / 8 0 11 2 | /
// | / | / | / | / |/
// 0 +-------------+ 3 +------3------+ +---------------> X
//the current grid cell
GridCell currentCell = new GridCell();
//the list of all triangles
List<Triangle> triangles = new LinkedList<Triangle>();
//the map of vertex to index
Map<String,Integer> vertMap = new HashMap<String,Integer>();
//the list of all verts
List<Vector3f> verts = new LinkedList<Vector3f>();
//the list of all normals
List<Vector3f> normals = new LinkedList<Vector3f>();
//the list of number of triangles that share a vert
List<Integer> trianglesSharingVert = new LinkedList<Integer>();
//List of elements in order
List<Integer> faceElements = new LinkedList<Integer>();
for(int x = 0; x < data.length - 1; x++){
for(int y = 0; y < data[0].length - 1; y++){
for(int z = 0; z < data[0][0].length - 1; z++){
if(x == 8 && y == 8 && z == 4){
System.out.println("aaa");
}
//push the current cell's values into the gridcell
currentCell.setValues(
new Vector3f(x+0,y+0,z+0), new Vector3f(x+0,y+0,z+1), new Vector3f(x+1,y+0,z+1), new Vector3f(x+1,y+0,z+0),
new Vector3f(x+0,y+1,z+0), new Vector3f(x+0,y+1,z+1), new Vector3f(x+1,y+1,z+1), new Vector3f(x+1,y+1,z+0),
data[x+0][y+0][z+0][0], data[x+0][y+0][z+1][0], data[x+1][y+0][z+1][0], data[x+1][y+0][z+0][0],
data[x+0][y+1][z+0][0], data[x+0][y+1][z+1][0], data[x+1][y+1][z+1][0], data[x+1][y+1][z+0][0]
);
//polygonize the current gridcell
polygonize(currentCell, 0.01, triangles, vertMap, verts, normals, trianglesSharingVert);
}
}
}
//all verts in order, flattened as an array of floats instead of vecs
List<Float> vertsFlat = new LinkedList<Float>();
//all normals in order, flattened as an array of floats instead of vecs
List<Float> normalsFlat = new LinkedList<Float>();
//all elements of faces in order
List<Integer> elementsFlat = new LinkedList<Integer>();
//flatten verts + normals
for(Vector3f vert : verts){
vertsFlat.add(vert.x);
vertsFlat.add(vert.y);
vertsFlat.add(vert.z);
}
for(Vector3f normal : normals){
normalsFlat.add(normal.x);
normalsFlat.add(normal.y);
normalsFlat.add(normal.z);
}
for(Triangle triangle : triangles){
elementsFlat.add(triangle.indices[0]);
elementsFlat.add(triangle.indices[1]);
elementsFlat.add(triangle.indices[2]);
}
//List<Float> vertices, List<Float> normals, List<Integer> faceElements, List<Float> uvs
TerrainChunkData rVal = new TerrainChunkData(vertsFlat, normalsFlat, elementsFlat);
return rVal;
}
static class TerrainChunkData {
List<Float> vertices;
List<Float> normals;
List<Integer> elements;
TerrainChunkData(List<Float> vertices, List<Float> normals, List<Integer> elements){
this.vertices = vertices;
this.normals = normals;
this.elements = elements;
}
}
//TODO: more optimal key creation
private static String getVertKeyFromPoints(float x, float y, float z){
return x + "_" + y + "_" + z;
}
private static int getVertIndex(Vector3f vert, Map<String,Integer> vertMap, List<Vector3f> verts){
int rVal = -1;
String vertKey = getVertKeyFromPoints(vert.x,vert.y,vert.z);
if(vertMap.containsKey(vertKey)){
return vertMap.get(vertKey);
} else {
rVal = verts.size();
verts.add(vert);
vertMap.put(vertKey,rVal);
return rVal;
}
}
private static Vector3f averageNormals(Vector3f normal0, float proportion0, Vector3f normal1, float proportion1){
Vector3f rVal = new Vector3f(normal0);
rVal = rVal.mul(proportion0).add(new Vector3f(normal1).mul(proportion1));
return rVal;
}
}

View File

@ -0,0 +1,76 @@
// #ifdef DOUBLE_FP
// #ifdef AMD_FP
// #pragma OPENCL EXTENSION cl_amd_fp64 : enable
// #else
// #ifndef CL_VERSION_1_2
// #pragma OPENCL EXTENSION cl_khr_fp64 : enable
// #endif
// #endif
// #define varfloat double
// #define _255 255.0
// #else
// #define varfloat float
// #define _255 255.0f
// #endif
// #ifdef USE_TEXTURE
// #define OUTPUT_TYPE __write_only image2d_t
// #else
// #define OUTPUT_TYPE global uint *
// #endif
__kernel void test(
__read_only image2d_t input,
__write_only image2d_t output
) {
unsigned int ix = get_global_id(0);
unsigned int iy = get_global_id(1);
write_imagef(output, (int2)(ix, iy), (float4)127 - read_imagef(input, (int2)(ix, iy)));
// varfloat r = x0 + ix * rangeX / width;
// varfloat i = y0 + iy * rangeY / height;
// varfloat x = 0;
// varfloat y = 0;
// varfloat magnitudeSquared = 0;
// int iteration = 0;
// while ( magnitudeSquared < 4 && iteration < maxIterations ) {
// varfloat x2 = x*x;
// varfloat y2 = y*y;
// y = 2 * x * y + i;
// x = x2 - y2 + r;
// magnitudeSquared = x2+y2;
// iteration++;
// }
// if ( iteration == maxIterations ) {
// #ifdef USE_TEXTURE
// write_imagef(output, (int2)(ix, iy), (float4)0);
// #else
// output[iy * width + ix] = 0;
// #endif
// } else {
// float alpha = (float)iteration / maxIterations;
// int colorIndex = (int)(alpha * colorMapSize);
// #ifdef USE_TEXTURE
// // We could have changed colorMap to a texture + sampler, but the
// // unpacking below has minimal overhead and it's kinda interesting.
// uint c = colorMap[colorIndex];
// write_imageui(output, (int2)(ix, iy), (uint4)(
// (c >> 0) & 0xFF,
// (c >> 8) & 0xFF,
// (c >> 16) & 0xFF,
// 0xFF
// ));
// #else
// output[iy * width + ix] = colorMap[colorIndex];
// #endif
// // monochrom
// //output[iy * width + ix] = 255*iteration/maxIterations;
// }
}

View File

@ -0,0 +1,201 @@
#version 330 core
#define NR_POINT_LIGHTS 10
out vec4 FragColor;
layout (std140) uniform Lights {
// this is how many because we have to align
// bytes it SHOULD in multiples of 16, this
// take it where it ACTUALLY is
//
//refer: https://learnopengl.com/Advanced-OpenGL/Advanced-GLSL
//
// base alignment aligned offset
//direct light
vec3 dLDirection; // 16 0
vec3 dLAmbient; // 16 16
vec3 dLDiffuse; // 16 32
vec3 dLSpecular; // 16 48
//point light
vec3 pLposition[NR_POINT_LIGHTS]; // 16*10 64
float pLconstant[NR_POINT_LIGHTS]; // 16*10 224
float pLlinear[NR_POINT_LIGHTS]; // 16*10 384
float pLquadratic[NR_POINT_LIGHTS]; // 16*10 544
vec3 pLambient[NR_POINT_LIGHTS]; // 16*10 704
vec3 pLdiffuse[NR_POINT_LIGHTS]; // 16*10 864
vec3 pLspecular[NR_POINT_LIGHTS]; // 16*10 1024
//for a total size of 1184
};
struct Material {
sampler2D diffuse;
sampler2D specular;
float shininess;
};
in vec3 FragPos;
in vec3 Normal;
uniform vec3 viewPos;
// uniform DirLight dirLight;
// uniform PointLight pointLights[NR_POINT_LIGHTS];
// uniform SpotLight spotLight;
uniform Material material;
//texture stuff
// uniform sampler2D ourTexture;
uniform int hasTransparency;
// uniform sampler2D specularTexture;
//light depth map
uniform sampler2D shadowMap;
// function prototypes
// vec3 CalcDirLight(vec3 normal, vec3 viewDir);
// vec3 CalcPointLight(int i, vec3 normal, vec3 fragPos, vec3 viewDir);
// vec3 CalcSpotLight(vec3 normal, vec3 fragPos, vec3 viewDir);
float calcLightIntensityTotal(vec3 normal);
float ShadowCalculation(vec4 fragPosLightSpace, vec3 lightDir, vec3 normal);
void main(){
vec3 norm = normalize(Normal);
vec3 viewDir = normalize(viewPos - FragPos);
//grab light intensity
float lightIntensity = calcLightIntensityTotal(norm);
//get color of base texture
vec3 textureColor = vec3(1);
//calculate final color
vec3 finalColor = textureColor * lightIntensity;
// vec3 lightAmount = CalcDirLight(norm, viewDir);
// for(int i = 0; i < NR_POINT_LIGHTS; i++){
// lightAmount += CalcPointLight(i, norm, FragPos, viewDir);
// }
//this final calculation is for transparency
FragColor = vec4(1,0,0, 1);
}
vec3 getColor(vec2 texPlane1, vec2 texPlane2, vec2 texPlane3, vec3 normal, Material material){
vec3 weights = abs(normal);
vec3 albedoX = texture(material.diffuse, texPlane1).rgb;
vec3 albedoY = texture(material.diffuse, texPlane2).rgb;
vec3 albedoZ = texture(material.diffuse, texPlane3).rgb;
return (albedoX * weights.x + albedoY * weights.y + albedoZ * weights.z);
}
//
float calcLightIntensityAmbient(){
//calculate average of ambient light
float avg = (dLAmbient.x + dLAmbient.y + dLAmbient.z)/3.0;
return avg;
}
//
float calcLightIntensityDir(vec3 normal){
vec3 lightDir = normalize(-dLDirection);
// diffuse shading
float diff = max(dot(normal, lightDir), 0.0);
return diff;
}
//
float calcLightIntensityTotal(vec3 normal){
//ambient intensity
float ambientLightIntensity = calcLightIntensityAmbient();
//get direct intensity
float directLightIntensity = calcLightIntensityDir(normal);
//sum
float total = ambientLightIntensity + directLightIntensity;
return total;
}
//
vec3 getTotalLightColor(vec3 normal){
//get the direct light color adjusted for intensity
vec3 diffuseLightColor = dLDiffuse * calcLightIntensityDir(normal);
//sum light colors
vec3 totalLightColor = diffuseLightColor;
return totalLightColor;
}
vec3 CalcPointLight(int i, vec3 normal, vec3 fragPos, vec3 viewDir){
vec3 lightDir = normalize(pLposition[i] - fragPos);
// diffuse shading
float diff = max(dot(normal, lightDir), 0.0);
// specular shading
// vec3 reflectDir = reflect(-lightDir, normal);
// float spec = pow(max(dot(viewDir, reflectDir), 0.0), material.shininess);
// attenuation
float distance = length(pLposition[i] - fragPos);
float attenuation = 1.0 / (pLconstant[i] + pLlinear[i] * distance + pLquadratic[i] * (distance * distance));
// combine results
vec3 ambient = pLambient[i];
vec3 diffuse = pLdiffuse[i] * diff;
ambient *= attenuation;
diffuse *= attenuation;
// specular *= attenuation;
vec3 specular = vec3(0,0,0);
vec3 finalValue = (ambient + diffuse + specular);
finalValue = vec3(max(finalValue.x,0),max(finalValue.y,0),max(finalValue.z,0));
return finalValue;
}
float ShadowCalculation(vec4 fragPosLightSpace, vec3 lightDir, vec3 normal){
// perform perspective divide
vec3 projCoords = fragPosLightSpace.xyz / fragPosLightSpace.w;
//transform to NDC
projCoords = projCoords * 0.5 + 0.5;
//get closest depth from light's POV
float closestDepth = texture(shadowMap, projCoords.xy).r;
//get depth of current fragment
float currentDepth = projCoords.z;
//calculate bias
float bias = max(0.05 * (1.0 - dot(normal, lightDir)), 0.005);
//calculate shadow value
float shadow = currentDepth - bias > closestDepth ? 1.0 : 0.0;
if(projCoords.z > 1.0){
shadow = 0.0;
}
//calculate dot product, if it is >0 we know they're parallel-ish therefore should disregard the shadow mapping
//ie the fragment is already facing away from the light source
float dotprod = dot(normalize(lightDir),normalize(normal));
if(dotprod > 0.0){
shadow = 0.0;
}
// shadow = currentDepth;
return shadow;
}

View File

@ -0,0 +1,40 @@
//Vertex Shader
#version 330 core
//defines
#define TEXTURE_MAP_SCALE 3.0
//input buffers
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;
//coordinate space transformation matrices
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
//output buffers
out vec3 Normal;
out vec3 FragPos;
void main() {
//normalize posiiton and normal
vec4 FinalVertex = vec4(aPos, 1.0);
vec4 FinalNormal = vec4(aNormal, 1.0);
//push frag, normal, and texture positions to fragment shader
FragPos = vec3(model * FinalVertex);
Normal = mat3(transpose(inverse(model))) * aNormal;
//set final position with opengl space
gl_Position = projection * view * model * FinalVertex;
}