[External] : Re: JEP-412 & OpenGL

Martin Pernollet martin.pernollet at protonmail.com
Fri Nov 12 15:11:16 UTC 2021


I should mention I used https://www.transmissionzero.co.uk/files/software/development/GLUT/freeglut-MSVC.zip, not the one for MinGW.



‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

Le vendredi 12 novembre 2021 à 16:09, Martin Pernollet <martin.pernollet at protonmail.com> a écrit :

> When I now try with the precompiled freeglut you suggest I got a jextract crash. My exact command was
>
> C:\Program" "Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\jextract.exe `-I "C:\\Users\\Martin\\Dev\\jzy3d\\external\\freeglut\\include"`
>
> "-l" opengl32 `"-l" glu32`
>
> "-l" freeglut `"-t" "opengl"`
>
> "--" `
>
> "C:\Users\Martin\Dev\jzy3d\external\freeglut\include\GL\freeglut.h"
>
> And the core dump file says
>
> A fatal error has been detected by the Java Runtime Environment:
> ================================================================
>
> Internal Error (codeBuffer.cpp:972), pid=8664, tid=17112
> ========================================================
>
> guarantee(sect->end() <= tend) failed: sanity
> =============================================
>
> JRE version: OpenJDK Runtime Environment (17.0+3) (build 17-panama+3-167)
> =========================================================================
>
> Java VM: OpenJDK 64-Bit Server VM (17-panama+3-167, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
> ==============================================================================================================================================
>
> 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://bugreport.java.com/bugreport/crash.jsp
> ==============================================
>
> --------------- S U M M A R Y ------------
>
> Command Line: -Dapplication.home=C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17 --enable-native-access=jdk.incubator.jextract -Xms8m -Djdk.module.main=jdk.incubator.jextract jdk.incubator.jextract/jdk.incubator.jextract.JextractTool -I C:\Users\Martin\Dev\jzy3d\external\freeglut\include -l opengl32 -l glu32 -l freeglut -t opengl -- C:\Users\Martin\Dev\jzy3d\external\freeglut\include\GL\freeglut.h
>
> Host: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 8 cores, 15G, Windows 10 , 64 bit Build 19041 (10.0.19041.1348)
>
> Time: Fri Nov 12 16:06:50 2021 Europe de l , 64 bit Build 19041 (10.0.19041.1348) elapsed time: 0.603555 seconds (0d 0h 0m 0s)
>
> --------------- T H R E A D ---------------
>
> Current thread (0x000001beaa55be10): JavaThread "main" [_thread_in_vm, id=17112, stack(0x0000003933800000,0x0000003933900000)]
>
> Stack: [0x0000003933800000,0x0000003933900000]
>
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
>
> V [jvm.dll+0x668f4a]
>
> V [jvm.dll+0x7c69a9]
>
> V [jvm.dll+0x7c814e]
>
> V [jvm.dll+0x7c8757]
>
> V [jvm.dll+0x23ec9c]
>
> V [jvm.dll+0x1f92d0]
>
> V [jvm.dll+0x795431]
>
> V [jvm.dll+0x792fa9]
>
> C 0x000001beb1dfd661
>
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
>
> j jdk.internal.foreign.abi.ProgrammableUpcallHandler.allocateOptimizedUpcallStub(Ljava/lang/invoke/MethodHandle;Ljdk/internal/foreign/abi/ABIDescriptor;Ljdk/internal/foreign/abi/ProgrammableUpcallHandler$CallRegs;)J+0 jdk.incubator.foreign at 17-panama
>
> j jdk.internal.foreign.abi.ProgrammableUpcallHandler.make(Ljdk/internal/foreign/abi/ABIDescriptor;Ljava/lang/invoke/MethodHandle;Ljdk/internal/foreign/abi/CallingSequence;)Ljdk/internal/foreign/abi/UpcallHandler;+380 jdk.incubator.foreign at 17-panama
>
> j jdk.internal.foreign.abi.x64.windows.CallArranger.arrangeUpcall(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljdk/internal/foreign/abi/UpcallHandler;+28 jdk.incubator.foreign at 17-panama
>
> j jdk.internal.foreign.abi.x64.windows.Windowsx64Linker.upcallStub(Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemoryAddress;+35 jdk.incubator.foreign at 17-panama
>
> j jdk.internal.clang.libclang.RuntimeHelper.upcallStub(Ljava/lang/Class;Ljava/lang/Object;Ljdk/incubator/foreign/FunctionDescriptor;Ljava/lang/String;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemoryAddress;+34 jdk.incubator.jextract at 17-panama
>
> j jdk.internal.clang.libclang.RuntimeHelper.upcallStub(Ljava/lang/Class;Ljava/lang/Object;Ljdk/incubator/foreign/FunctionDescriptor;Ljava/lang/String;)Ljdk/incubator/foreign/MemoryAddress;+7 jdk.incubator.jextract at 17-panama
>
> j jdk.internal.clang.libclang.CXCursorVisitor.allocate(Ljdk/internal/clang/libclang/CXCursorVisitor;)Ljdk/incubator/foreign/MemoryAddress;+8 jdk.incubator.jextract at 17-panama
>
> j jdk.internal.clang.Cursor$CursorChildren.<clinit>()V+15 jdk.incubator.jextract at 17-panama
>
> v ~StubRoutines::call_stub
>
> j jdk.internal.clang.Cursor.children()Ljava/util/stream/Stream;+1 jdk.incubator.jextract at 17-panama
>
> j jdk.internal.jextract.impl.Parser.parse(Ljava/nio/file/Path;Ljava/util/Collection;)Ljdk/incubator/jextract/Declaration$Scoped;+66 jdk.incubator.jextract at 17-panama
>
> j jdk.incubator.jextract.JextractTool.parse(Ljava/util/List;[Ljava/lang/String;)Ljdk/incubator/jextract/Declaration$Scoped;+55 jdk.incubator.jextract at 17-panama
>
> j jdk.incubator.jextract.JextractTool.run([Ljava/lang/String;)I+904 jdk.incubator.jextract at 17-panama
>
> j jdk.incubator.jextract.JextractTool.main([Ljava/lang/String;)V+46 jdk.incubator.jextract at 17-panama
>
> v ~StubRoutines::call_stub
>
> --------------- P R O C E S S ---------------
>
> Threads class SMR info:
>
> _java_thread_list=0x000001bece7196e0, length=13, elements={
>
> 0x000001beaa55be10, 0x000001becd023240, 0x000001becd023e00, 0x000001becd0394b0,
>
> 0x000001becd03a070, 0x000001becd03ea50, 0x000001becd03f410, 0x000001becd0401b0,
>
> 0x000001becd041400, 0x000001becd042e10, 0x000001becdc945a0, 0x000001becdcab950,
>
> 0x000001becdf7e080
>
> }
>
> Java Threads: ( => current thread )
>
> =>0x000001beaa55be10 JavaThread "main" [_thread_in_vm, id=17112, stack(0x0000003933800000,0x0000003933900000)]
>
> 0x000001becd023240 JavaThread "Reference Handler" daemon [_thread_blocked, id=16356, stack(0x0000003933f00000,0x0000003934000000)]
>
> 0x000001becd023e00 JavaThread "Finalizer" daemon [_thread_blocked, id=6204, stack(0x0000003934000000,0x0000003934100000)]
>
> 0x000001becd0394b0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=972, stack(0x0000003934100000,0x0000003934200000)]
>
> 0x000001becd03a070 JavaThread "Attach Listener" daemon [_thread_blocked, id=2084, stack(0x0000003934200000,0x0000003934300000)]
>
> 0x000001becd03ea50 JavaThread "Service Thread" daemon [_thread_blocked, id=18128, stack(0x0000003934300000,0x0000003934400000)]
>
> 0x000001becd03f410 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=3404, stack(0x0000003934400000,0x0000003934500000)]
>
> 0x000001becd0401b0 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=10160, stack(0x0000003934500000,0x0000003934600000)]
>
> 0x000001becd041400 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=15728, stack(0x0000003934600000,0x0000003934700000)]
>
> 0x000001becd042e10 JavaThread "Sweeper thread" daemon [_thread_blocked, id=3932, stack(0x0000003934700000,0x0000003934800000)]
>
> 0x000001becdc945a0 JavaThread "Notification Thread" daemon [_thread_blocked, id=12368, stack(0x0000003934800000,0x0000003934900000)]
>
> 0x000001becdcab950 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=15996, stack(0x0000003934a00000,0x0000003934b00000)]
>
> 0x000001becdf7e080 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=8236, stack(0x0000003934e00000,0x0000003934f00000)]
>
> Other Threads:
>
> 0x000001becd01c730 VMThread "VM Thread" [stack: 0x0000003933e00000,0x0000003933f00000] [id=8136]
>
> 0x000001becd00d9b0 WatcherThread [stack: 0x0000003934900000,0x0000003934a00000] [id=11228]
>
> 0x000001beaa5a9a40 GCTaskThread "GC Thread#0" [stack: 0x0000003933900000,0x0000003933a00000] [id=15472]
>
> 0x000001becde6f060 GCTaskThread "GC Thread#1" [stack: 0x0000003934b00000,0x0000003934c00000] [id=9408]
>
> 0x000001becde782a0 GCTaskThread "GC Thread#2" [stack: 0x0000003934c00000,0x0000003934d00000] [id=15952]
>
> 0x000001becde78560 GCTaskThread "GC Thread#3" [stack: 0x0000003934d00000,0x0000003934e00000] [id=17212]
>
> 0x000001bece9140e0 GCTaskThread "GC Thread#4" [stack: 0x0000003934f00000,0x0000003935000000] [id=13940]
>
> 0x000001bece914ea0 GCTaskThread "GC Thread#5" [stack: 0x0000003935000000,0x0000003935100000] [id=12744]
>
> 0x000001beaa5ba550 ConcurrentGCThread "G1 Main Marker" [stack: 0x0000003933a00000,0x0000003933b00000] [id=9236]
>
> 0x000001beaa5bbf70 ConcurrentGCThread "G1 Conc#0" [stack: 0x0000003933b00000,0x0000003933c00000] [id=17776]
>
> 0x000001beaa5e6a80 ConcurrentGCThread "G1 Refine#0" [stack: 0x0000003933c00000,0x0000003933d00000] [id=1088]
>
> 0x000001beaa5e84c0 ConcurrentGCThread "G1 Service" [stack: 0x0000003933d00000,0x0000003933e00000] [id=3248]
>
> Threads with active compile tasks:
>
> C2 CompilerThread0 608 1034 4 java.lang.invoke.InvokerBytecodeGenerator::emitImplicitConversion (161 bytes)
>
> VM state: not at safepoint (normal execution)
>
> VM Mutex/Monitor currently owned by a thread: None
>
> Heap address: 0x0000000704400000, size: 4028 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
>
> CDS archive(s) mapped at: [0x0000000800000000-0x0000000800bb0000-0x0000000800bb0000), size 12255232, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0.
>
> Compressed class space mapped at: 0x0000000800c00000-0x0000000840c00000, reserved size: 1073741824
>
> Narrow klass base: 0x0000000800000000, Narrow klass shift: 3, Narrow klass range: 0x100000000
>
> GC Precious Log:
>
> CPUs: 8 total, 8 available
>
> Memory: 16107M
>
> Large Page Support: Disabled
>
> NUMA Support: Disabled
>
> Compressed Oops: Enabled (Zero based)
>
> Heap Region Size: 2M
>
> Heap Min Capacity: 8M
>
> Heap Initial Capacity: 8M
>
> Heap Max Capacity: 4028M
>
> Pre-touch: Disabled
>
> Parallel Workers: 8
>
> Concurrent Workers: 2
>
> Concurrent Refinement Workers: 8
>
> Periodic GC: Disabled
>
> Heap:
>
> garbage-first heap total 8192K, used 1921K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 2 young (4096K), 1 survivors (2048K)
>
> Metaspace used 4346K, committed 5056K, reserved 1056768K
>
> class space used 589K, committed 896K, 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|0x0000000704400000, 0x00000007044e4e00, 0x0000000704600000| 44%| O| |TAMS 0x0000000704400000, 0x0000000704400000| Untracked
>
> | 1|0x0000000704600000, 0x0000000704600000, 0x0000000704800000| 0%| F| |TAMS 0x0000000704600000, 0x0000000704600000| Untracked
>
> | 2|0x0000000704800000, 0x00000007048fb810, 0x0000000704a00000| 49%| S|CS|TAMS 0x0000000704800000, 0x0000000704800000| Complete
>
> | 3|0x0000000704a00000, 0x0000000704bfa230, 0x0000000704c00000| 98%| E| |TAMS 0x0000000704a00000, 0x0000000704a00000| Complete
>
> Card table byte_map: [0x000001bec1900000,0x000001bec20e0000] _byte_map_base: 0x000001bebe0de000
>
> Marking Bits (Prev, Next): (CMBitMap*) 0x000001beaa5aa060, (CMBitMap*) 0x000001beaa5aa0a0
>
> Prev Bits: [0x000001bec28c0000, 0x000001bec67b0000)
>
> Next Bits: [0x000001bec67b0000, 0x000001beca6a0000)
>
> Polling page: 0x000001bea8380000
>
> Metaspace:
>
> Usage:
>
> Non-class: 3.67 MB used.
>
> Class: 589.17 KB used.
>
> Both: 4.24 MB used.
>
> Virtual space:
>
> Non-class space: 8.00 MB reserved, 4.06 MB ( 51%) committed, 1 nodes.
>
> Class space: 1.00 GB reserved, 896.00 KB ( <1%) committed, 1 nodes.
>
> Both: 1.01 GB reserved, 4.94 MB ( <1%) committed.
>
> Chunk freelists:
>
> Non-Class: 2.55 MB
>
> Class: 2.96 MB
>
> Both: 5.51 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: 1048576.
> -   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: 990.
>
>     num_arena_deaths: 0.
>
>     num_vsnodes_births: 2.
>
>     num_vsnodes_deaths: 0.
>
>     num_space_committed: 79.
>
>     num_space_uncommitted: 0.
>
>     num_chunks_returned_to_freelist: 0.
>
>     num_chunks_taken_from_freelist: 1166.
>
>     num_chunk_merges: 0.
>
>     num_chunk_splits: 758.
>
>     num_chunks_enlarged: 370.
>
>     num_purges: 0.
>
>     CodeHeap 'non-profiled nmethods': size=120000Kb used=542Kb max_used=542Kb free=119458Kb
>
>     bounds [0x000001beb98c0000, 0x000001beb9b30000, 0x000001bec0df0000]
>
>     CodeHeap 'profiled nmethods': size=120000Kb used=1537Kb max_used=1537Kb free=118462Kb
>
>     bounds [0x000001beb2390000, 0x000001beb2600000, 0x000001beb98c0000]
>
>     CodeHeap 'non-nmethods': size=5760Kb used=1214Kb max_used=1246Kb free=4545Kb
>
>     bounds [0x000001beb1df0000, 0x000001beb2060000, 0x000001beb2390000]
>
>     total_blobs=1537 nmethods=1035 adapters=412
>
>     compilation: enabled
>
>     stopped_count=0, restarted_count=0
>
>     full_count=0
>
>     Compilation events (20 events):
>
>     Event: 0.590 Thread 0x000001becd041400 1020 3 java.lang.invoke.DirectMethodHandle::<init> (148 bytes)
>
> Event: 0.591 Thread 0x000001becd0401b0 nmethod 1019 0x000001beb9945710 code [0x000001beb9945880, 0x000001beb9945958]
>
> Event: 0.591 Thread 0x000001becd041400 nmethod 1020 0x000001beb2508510 code [0x000001beb25087c0, 0x000001beb2509748]
>
> Event: 0.591 Thread 0x000001becd0401b0 1021 4 jdk.internal.org.objectweb.asm.Frame::getLocal (46 bytes)
>
> Event: 0.591 Thread 0x000001becd0401b0 nmethod 1021 0x000001beb9946010 code [0x000001beb9946180, 0x000001beb9946258]
>
> Event: 0.592 Thread 0x000001becd041400 1024 3 java.lang.invoke.LambdaFormEditor$TransformKey::of (51 bytes)
>
> Event: 0.593 Thread 0x000001becd041400 nmethod 1024 0x000001beb2509c90 code [0x000001beb2509e80, 0x000001beb250a448]
>
> Event: 0.593 Thread 0x000001becd041400 1025 3 java.lang.invoke.LambdaFormEditor$TransformKey::packedBytes (39 bytes)
>
> Event: 0.593 Thread 0x000001becd041400 nmethod 1025 0x000001beb250a610 code [0x000001beb250a7a0, 0x000001beb250a8b8]
>
> Event: 0.593 Thread 0x000001becdf7e080 1028 4 java.lang.invoke.LambdaForm$BasicType::basicType (19 bytes)
>
> Event: 0.593 Thread 0x000001becd0401b0 1029 4 jdk.internal.org.objectweb.asm.Frame::pop (42 bytes)
>
> Event: 0.593 Thread 0x000001becd041400 1031 3 java.lang.invoke.MethodHandles::collectArguments (47 bytes)
>
> Event: 0.593 Thread 0x000001becd0401b0 nmethod 1029 0x000001beb9946910 code [0x000001beb9946a80, 0x000001beb9946b58]
>
> Event: 0.593 Thread 0x000001becd0401b0 1030 4 jdk.internal.org.objectweb.asm.Frame::merge (317 bytes)
>
> Event: 0.593 Thread 0x000001becd041400 nmethod 1031 0x000001beb250a990 code [0x000001beb250abc0, 0x000001beb250b3e8]
>
> Event: 0.593 Thread 0x000001becd041400 1032 3 java.lang.invoke.MethodHandles::collectArgumentsChecks (124 bytes)
>
> Event: 0.594 Thread 0x000001becd0401b0 nmethod 1030 0x000001beb9946c10 code [0x000001beb9946d80, 0x000001beb9946e78]
>
> Event: 0.594 Thread 0x000001becd0401b0 1034 4 java.lang.invoke.InvokerBytecodeGenerator::emitImplicitConversion (161 bytes)
>
> Event: 0.594 Thread 0x000001becd041400 nmethod 1032 0x000001beb250b790 code [0x000001beb250bb00, 0x000001beb250d2b8]
>
> Event: 0.594 Thread 0x000001becd041400 1033 3 java.lang.invoke.LambdaFormEditor::collectArgumentsForm (169 bytes)
>
> GC Heap History (10 events):
>
> Event: 0.086 GC heap before
>
> {Heap before GC invocations=0 (full 0):
>
> garbage-first heap total 8192K, used 2048K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 0 survivors (0K)
>
> Metaspace used 1471K, committed 1664K, reserved 1056768K
>
> class space used 151K, committed 256K, reserved 1048576K
>
> }
>
> Event: 0.088 GC heap after
>
> {Heap after GC invocations=1 (full 0):
>
> garbage-first heap total 8192K, used 1168K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 1 survivors (2048K)
>
> Metaspace used 1471K, committed 1664K, reserved 1056768K
>
> class space used 151K, committed 256K, reserved 1048576K
>
> }
>
> Event: 0.135 GC heap before
>
> {Heap before GC invocations=1 (full 0):
>
> garbage-first heap total 8192K, used 3216K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 2 young (4096K), 1 survivors (2048K)
>
> Metaspace used 2586K, committed 2880K, reserved 1056768K
>
> class space used 297K, committed 448K, reserved 1048576K
>
> }
>
> Event: 0.137 GC heap after
>
> {Heap after GC invocations=2 (full 0):
>
> garbage-first heap total 8192K, used 1270K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 1 survivors (2048K)
>
> Metaspace used 2586K, committed 2880K, reserved 1056768K
>
> class space used 297K, committed 448K, reserved 1048576K
>
> }
>
> Event: 0.165 GC heap before
>
> {Heap before GC invocations=2 (full 0):
>
> garbage-first heap total 8192K, used 3318K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 2 young (4096K), 1 survivors (2048K)
>
> Metaspace used 2912K, committed 3328K, reserved 1056768K
>
> class space used 360K, committed 576K, reserved 1048576K
>
> }
>
> Event: 0.167 GC heap after
>
> {Heap after GC invocations=3 (full 0):
>
> garbage-first heap total 8192K, used 1460K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 1 survivors (2048K)
>
> Metaspace used 2912K, committed 3328K, reserved 1056768K
>
> class space used 360K, committed 576K, reserved 1048576K
>
> }
>
> Event: 0.366 GC heap before
>
> {Heap before GC invocations=3 (full 0):
>
> garbage-first heap total 8192K, used 3508K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 2 young (4096K), 1 survivors (2048K)
>
> Metaspace used 3240K, committed 3712K, reserved 1056768K
>
> class space used 418K, committed 640K, reserved 1048576K
>
> }
>
> Event: 0.368 GC heap after
>
> {Heap after GC invocations=4 (full 0):
>
> garbage-first heap total 8192K, used 1629K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 1 survivors (2048K)
>
> Metaspace used 3240K, committed 3712K, reserved 1056768K
>
> class space used 418K, committed 640K, reserved 1048576K
>
> }
>
> Event: 0.570 GC heap before
>
> {Heap before GC invocations=4 (full 0):
>
> garbage-first heap total 8192K, used 3677K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 2 young (4096K), 1 survivors (2048K)
>
> Metaspace used 4023K, committed 4608K, reserved 1056768K
>
> class space used 525K, committed 832K, reserved 1048576K
>
> }
>
> Event: 0.572 GC heap after
>
> {Heap after GC invocations=5 (full 0):
>
> garbage-first heap total 8192K, used 1921K [0x0000000704400000, 0x0000000800000000)
>
> region size 2048K, 1 young (2048K), 1 survivors (2048K)
>
> Metaspace used 4023K, committed 4608K, reserved 1056768K
>
> class space used 525K, committed 832K, reserved 1048576K
>
> }
>
> Deoptimization events (14 events):
>
> Event: 0.034 Thread 0x000001beaa55be10 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001beb98c3cac relative=0x000000000000020c
>
> Event: 0.034 Thread 0x000001beaa55be10 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001beb98c3cac method=java.lang.String.hashCode()I @ 42 c2
>
> Event: 0.034 Thread 0x000001beaa55be10 DEOPT PACKING pc=0x000001beb98c3cac sp=0x00000039338fe520
>
> Event: 0.034 Thread 0x000001beaa55be10 DEOPT UNPACKING pc=0x000001beb1e45c23 sp=0x00000039338fe4b8 mode 2
>
> Event: 0.122 Thread 0x000001beaa55be10 DEOPT PACKING pc=0x000001beb23ab367 sp=0x00000039338fd790
>
> Event: 0.122 Thread 0x000001beaa55be10 DEOPT UNPACKING pc=0x000001beb1e46763 sp=0x00000039338fcbb0 mode 0
>
> Event: 0.584 Thread 0x000001beaa55be10 Uncommon trap: trap_request=0xffffff45 fr.pc=0x000001beb990a7e0 relative=0x0000000000007740
>
> Event: 0.584 Thread 0x000001beaa55be10 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000001beb990a7e0 method=jdk.internal.org.objectweb.asm.Frame.execute(IILjdk/internal/org/objectweb/asm/Symbol;Ljdk/internal/org/objectweb/asm/SymbolTable;)V @ 1 c2
>
> Event: 0.584 Thread 0x000001beaa55be10 DEOPT PACKING pc=0x000001beb990a7e0 sp=0x00000039338fcef0
>
> Event: 0.584 Thread 0x000001beaa55be10 DEOPT UNPACKING pc=0x000001beb1e45c23 sp=0x00000039338fcea8 mode 2
>
> Event: 0.592 Thread 0x000001beaa55be10 Uncommon trap: trap_request=0xffffffcc fr.pc=0x000001beb9943df4 relative=0x0000000000000354
>
> Event: 0.592 Thread 0x000001beaa55be10 Uncommon trap: reason=intrinsic_or_type_checked_inlining action=make_not_entrant pc=0x000001beb9943df4 method=java.util.Arrays.copyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object; @ 35 c2
>
> Event: 0.592 Thread 0x000001beaa55be10 DEOPT PACKING pc=0x000001beb9943df4 sp=0x00000039338fe2b0
>
> Event: 0.592 Thread 0x000001beaa55be10 DEOPT UNPACKING pc=0x000001beb1e45c23 sp=0x00000039338fe258 mode 2
>
> Classes unloaded (0 events):
>
> No events
>
> Classes redefined (0 events):
>
> No events
>
> Internal exceptions (20 events):
>
> Event: 0.424 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b67fa8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, int)'> (0x0000000704b67fa8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.566 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704ba0908}: 'int java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, long, long, int, long, int)'> (0x0000000704ba0908)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.572 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704a048c8}: 'int java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, long, long, long)'> (0x0000000704a048c8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.574 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704a359b8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704a359b8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.576 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704a69260}: 'java.lang.Object java.lang.invoke.Invokers$Holder.invokeExact_MT(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704a69260)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.578 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704a85548}: 'int java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, long, int)'> (0x0000000704a85548)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.579 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704a9b548}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, int)'> (0x0000000704a9b548)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.581 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704ac7840}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704ac7840)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.582 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704acada8}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704acada8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.585 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b0f9a8}: 'long java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, long, long, long)'> (0x0000000704b0f9a8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.585 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b13248}: 'long java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, long, long, long)'> (0x0000000704b13248)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.588 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b66608}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704b66608)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.589 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b69ec0}: 'int java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704b69ec0)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.589 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b72a48}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704b72a48)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.589 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b765d8}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000704b765d8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.590 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b7a480}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, long)'> (0x0000000704b7a480)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.590 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b7e200}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, long)'> (0x0000000704b7e200)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.591 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b99bd0}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, long, java.lang.Object)'> (0x0000000704b99bd0)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.591 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704b9d880}: 'java.lang.Object java.lang.invoke.DelegatingMethodHandle$Holder.reinvoke_L(java.lang.Object, java.lang.Object, long, java.lang.Object)'> (0x0000000704b9d880)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Event: 0.593 Thread 0x000001beaa55be10 Exception <a 'java/lang/NoSuchMethodError'{0x0000000704bd0ae8}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, long, long, long)'> (0x0000000704bd0ae8)
>
> thrown [t:\workspace\open\src\hotspot\share\interpreter\linkResolver.cpp, line 766]
>
> Events (20 events):
>
> Event: 0.423 loading class java/io/DeleteOnExitHook done
>
> Event: 0.423 loading class java/io/DeleteOnExitHook$1
>
> Event: 0.424 loading class java/io/DeleteOnExitHook$1 done
>
> Event: 0.550 Thread 0x000001beceebb670 Thread exited: 0x000001beceebb670
>
> Event: 0.551 loading class java/util/stream/Streams$ConcatSpliterator$OfRef
>
> Event: 0.551 loading class java/util/stream/Streams$ConcatSpliterator
>
> Event: 0.551 loading class java/util/stream/Streams$ConcatSpliterator done
>
> Event: 0.551 loading class java/util/stream/Streams$ConcatSpliterator$OfRef done
>
> Event: 0.551 loading class java/util/stream/Streams$2
>
> Event: 0.551 loading class java/util/stream/Streams$2 done
>
> Event: 0.570 Executing VM operation: G1CollectForAllocation
>
> Event: 0.572 Executing VM operation: G1CollectForAllocation done
>
> Event: 0.581 loading class jdk/internal/foreign/ArenaAllocator$BoundedArenaAllocator
>
> Event: 0.581 loading class jdk/internal/foreign/ArenaAllocator
>
> Event: 0.581 loading class jdk/internal/foreign/ArenaAllocator done
>
> Event: 0.581 loading class jdk/internal/foreign/ArenaAllocator$BoundedArenaAllocator done
>
> Event: 0.589 loading class jdk/internal/foreign/abi/ProgrammableUpcallHandler
>
> Event: 0.589 loading class jdk/internal/foreign/abi/ProgrammableUpcallHandler done
>
> Event: 0.594 loading class java/lang/invoke/MethodHandle$1
>
> Event: 0.594 loading class java/lang/invoke/MethodHandle$1 done
>
> Dynamic libraries:
>
> 0x00007ff670d20000 - 0x00007ff670d28000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\jextract.exe
>
> 0x00007fff63110000 - 0x00007fff63305000 C:\Windows\SYSTEM32\ntdll.dll
>
> 0x00007fff61a00000 - 0x00007fff61abe000 C:\Windows\System32\KERNEL32.DLL
>
> 0x00007fff60960000 - 0x00007fff60c28000 C:\Windows\System32\KERNELBASE.dll
>
> 0x00007fff60830000 - 0x00007fff60930000 C:\Windows\System32\ucrtbase.dll
>
> 0x00007fff567c0000 - 0x00007fff567d8000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\jli.dll
>
> 0x00007fff57310000 - 0x00007fff5732a000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\VCRUNTIME140.dll
>
> 0x00007fff629b0000 - 0x00007fff62b51000 C:\Windows\System32\USER32.dll
>
> 0x00007fff60f30000 - 0x00007fff60f52000 C:\Windows\System32\win32u.dll
>
> 0x00007fff61ac0000 - 0x00007fff61aeb000 C:\Windows\System32\GDI32.dll
>
> 0x00007fff45910000 - 0x00007fff45baa000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll
>
> 0x00007fff60c30000 - 0x00007fff60d3b000 C:\Windows\System32\gdi32full.dll
>
> 0x00007fff62fd0000 - 0x00007fff6306e000 C:\Windows\System32\msvcrt.dll
>
> 0x00007fff610c0000 - 0x00007fff6115d000 C:\Windows\System32\msvcp_win.dll
>
> 0x00007fff61160000 - 0x00007fff61190000 C:\Windows\System32\IMM32.DLL
>
> 0x00007fff5b580000 - 0x00007fff5b58c000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\vcruntime140_1.dll
>
> 0x00007fff44fa0000 - 0x00007fff4502d000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\msvcp140.dll
>
> 0x00007ffefad70000 - 0x00007ffefb920000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\server\jvm.dll
>
> 0x00007fff61ef0000 - 0x00007fff61f9c000 C:\Windows\System32\ADVAPI32.dll
>
> 0x00007fff61cf0000 - 0x00007fff61d8b000 C:\Windows\System32\sechost.dll
>
> 0x00007fff62b60000 - 0x00007fff62c8a000 C:\Windows\System32\RPCRT4.dll
>
> 0x00007fff61ee0000 - 0x00007fff61ee8000 C:\Windows\System32\PSAPI.DLL
>
> 0x00007fff2dc20000 - 0x00007fff2dc29000 C:\Windows\SYSTEM32\WSOCK32.dll
>
> 0x00007fff54b80000 - 0x00007fff54b8a000 C:\Windows\SYSTEM32\VERSION.dll
>
> 0x00007fff518e0000 - 0x00007fff51907000 C:\Windows\SYSTEM32\WINMM.dll
>
> 0x00007fff61bd0000 - 0x00007fff61c3b000 C:\Windows\System32\WS2_32.dll
>
> 0x00007fff5f060000 - 0x00007fff5f072000 C:\Windows\SYSTEM32\kernel.appcore.dll
>
> 0x00007fff5b500000 - 0x00007fff5b50a000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\jimage.dll
>
> 0x00007fff5e430000 - 0x00007fff5e614000 C:\Windows\SYSTEM32\DBGHELP.DLL
>
> 0x00007fff45170000 - 0x00007fff4519c000 C:\Windows\SYSTEM32\dbgcore.DLL
>
> 0x00007fff60d40000 - 0x00007fff60dc3000 C:\Windows\System32\bcryptPrimitives.dll
>
> 0x00007fff44f70000 - 0x00007fff44f95000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\java.dll
>
> 0x00007fff612c0000 - 0x00007fff619ff000 C:\Windows\System32\SHELL32.dll
>
> 0x00007fff5e620000 - 0x00007fff5edb0000 C:\Windows\SYSTEM32\windows.storage.dll
>
> 0x00007fff62650000 - 0x00007fff629a5000 C:\Windows\System32\combase.dll
>
> 0x00007fff60280000 - 0x00007fff602ae000 C:\Windows\SYSTEM32\Wldp.dll
>
> 0x00007fff61c40000 - 0x00007fff61ced000 C:\Windows\System32\SHCORE.dll
>
> 0x00007fff62f70000 - 0x00007fff62fc5000 C:\Windows\System32\shlwapi.dll
>
> 0x00007fff60770000 - 0x00007fff6078f000 C:\Windows\SYSTEM32\profapi.dll
>
> 0x00007fff44f10000 - 0x00007fff44f29000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\net.dll
>
> 0x00007fff5ada0000 - 0x00007fff5aeac000 C:\Windows\SYSTEM32\WINHTTP.dll
>
> 0x00007fff5ffe0000 - 0x00007fff6004a000 C:\Windows\system32\mswsock.dll
>
> 0x00007fff28650000 - 0x00007fff28665000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\nio.dll
>
> 0x00007ffeda3b0000 - 0x00007ffede7d1000 C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\libclang.dll
>
> 0x00007fff62ea0000 - 0x00007fff62f6d000 C:\Windows\System32\OLEAUT32.dll
>
> 0x00007fff61190000 - 0x00007fff612ba000 C:\Windows\System32\ole32.dll
>
> 0x00007fff5dac0000 - 0x00007fff5db5e000 C:\Windows\system32\uxtheme.dll
>
> 0x00007fff61e30000 - 0x00007fff61ed9000 C:\Windows\System32\clbcatq.dll
>
> 0x00007fff601d0000 - 0x00007fff601e8000 C:\Windows\SYSTEM32\CRYPTSP.dll
>
> 0x00007fff5f8c0000 - 0x00007fff5f8f4000 C:\Windows\system32\rsaenh.dll
>
> 0x00007fff60930000 - 0x00007fff60957000 C:\Windows\System32\bcrypt.dll
>
> 0x00007fff60730000 - 0x00007fff6075e000 C:\Windows\SYSTEM32\USERENV.dll
>
> 0x00007fff601f0000 - 0x00007fff601fc000 C:\Windows\SYSTEM32\CRYPTBASE.dll
>
> 0x00007fff5fc80000 - 0x00007fff5fcbb000 C:\Windows\SYSTEM32\IPHLPAPI.DLL
>
> 0x00007fff62550000 - 0x00007fff62558000 C:\Windows\System32\NSI.dll
>
> 0x00007fff55080000 - 0x00007fff55097000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL
>
> 0x00007fff55060000 - 0x00007fff5507d000 C:\Windows\SYSTEM32\dhcpcsvc.DLL
>
> 0x00007fff5fcd0000 - 0x00007fff5fd9b000 C:\Windows\SYSTEM32\DNSAPI.dll
>
> dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
>
> symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e;C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17\bin\server
>
> VM Arguments:
>
> jvm_args: -Dapplication.home=C:\Program Files\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17 --enable-native-access=jdk.incubator.jextract -Xms8m -Djdk.module.main=jdk.incubator.jextract
>
> java_command: jdk.incubator.jextract/jdk.incubator.jextract.JextractTool -I C:\Users\Martin\Dev\jzy3d\external\freeglut\include -l opengl32 -l glu32 -l freeglut -t opengl -- C:\Users\Martin\Dev\jzy3d\external\freeglut\include\GL\freeglut.h
>
> java_class_path (initial): <not set>
>
> Launcher Type: SUN_STANDARD
>
> [Global flags]
>
> intx CICompilerCount = 4 {product} {ergonomic}
>
> uint ConcGCThreads = 2 {product} {ergonomic}
>
> uint G1ConcRefinementThreads = 8 {product} {ergonomic}
>
> size_t G1HeapRegionSize = 2097152 {product} {ergonomic}
>
> uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
>
> size_t InitialHeapSize = 8388608 {product} {command line}
>
> size_t MarkStackSize = 4194304 {product} {ergonomic}
>
> size_t MaxHeapSize = 4223664128 {product} {ergonomic}
>
> size_t MaxNewSize = 2533359616 {product} {ergonomic}
>
> size_t MinHeapDeltaBytes = 2097152 {product} {ergonomic}
>
> size_t MinHeapSize = 8388608 {product} {command line}
>
> uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic}
>
> uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic}
>
> uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic}
>
> uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
>
> bool SegmentedCodeCache = true {product} {ergonomic}
>
> size_t SoftMaxHeapSize = 4223664128 {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\Java\openjdk-17-panama+3-167_windows-x64_bin\jdk-17
>
> PATH=C:\Program Files\Zulu\zulu-11\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Program Files (x86)\apache-ant-1.9.16\bin;C:\Program Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\7-Zip;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\gawk-3.1.6-1-bin\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\bin;C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;C:\Users\Martin\AppData\Local\Microsoft\WindowsApps;C:\Users\Martin\AppData\Local\atom\bin;C:\Program Files (x86)\apache-maven-3.8.3\bin;C:\Users\Martin\.dotnet\tools
>
> USERNAME=Martin
>
> OS=Windows_NT
>
> PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
>
> --------------- S Y S T E M ---------------
>
> OS:
>
> Windows 10 , 64 bit Build 19041 (10.0.19041.1348)
>
> OS uptime: 0 days 4:15 hours
>
> Hyper-V role detected
>
> CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 140 stepping 1 microcode 0x86, 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, avx512f, avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv
>
> Memory: 4k page, system-wide physical 16107M (6064M free)
>
> TotalPageFile size 20971M (AvailPageFile size 8500M)
>
> current process WorkingSet (physical memory assigned to process): 136M, peak: 147M
>
> current process commit charge ("private bytes"): 177M, peak: 191M
>
> vm_info: OpenJDK 64-Bit Server VM (17-panama+3-167) for windows-amd64 JRE (17-panama+3-167), built on May 18 2021 13:10:19 by "mach5one" with MS VC++ 16.8 (VS2019)
>
> END.
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> Le vendredi 12 novembre 2021 à 15:47, Martin Pernollet martin.pernollet at protonmail.com a écrit :
>
> > Thanks Jon,
> >
> > MinGW did not create a GL.dll file but rather libfreeglut.dll so I changed to
> >
> > public class glut_h extends glut_h_3 {
> >
> > static {
> >
> > System.loadLibrary("libfreeglut");
> >
> > But it still fails, this time due to unresolved dependencies. Dependency Walker reveals tons of unreachable DLL (see screenshot).
> >
> > This failed attempt is documented here https://github.com/jzy3d/panama-gl/issues/11
> >
> > I'll follow your suggestion and update documentation and notify you once I got it working.
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > Le vendredi 12 novembre 2021 à 15:17, Jorn Vernee jorn.vernee at oracle.com a écrit :
> >
> > > Hi Martin,
> > >
> > > Thanks for testing this!
> > >
> > > The UnsatisfiedLinkError is not from code looking for a header file,
> > >
> > > it's from looking for a library/.dll file named GL.dll. On Windows
> > >
> > > though, freeglut needs the opengl libraries that come bundled with
> > >
> > > Windows (found in C:\Windows\System32), named opengl32 and glu32. The
> > >
> > > script should already add -l flags for those.
> > >
> > > WRT the jextract error you see.
> > >
> > > I have not tried to run the sample with freeglut installed through MingW
> > >
> > > yet. I instead used the freeglut package for MSVC here:
> > >
> > > https://www.transmissionzero.co.uk/software/freeglut-devel/ extracted
> > >
> > > that in some folder, and the pointed freeglutPath at that folder.
> > >
> > > Note that jextract is using clang underneath to do the parsing. I know
> > >
> > > clang works pretty well with MSVC/Windows SDK header files, but I'm
> > >
> > > guessing it can not understand the MingW headers, looking at your error.
> > >
> > > I think it's having problems with __MINGW_NOTHROW and
> > >
> > > __MINGW_ATTRIB_NORETURN, which look like compiler builtins.
> > >
> > > I'd suggest trying the freeglut package I linked to instead, together
> > >
> > > with the Windows SDK headers (which clang should find automatically),
> > >
> > > and taking MingW headers out of the equation for now. We should probably
> > >
> > > create a README for that sample to include instructions on how to get
> > >
> > > freeglut.
> > >
> > > Note that on top of that, you will also have to change Teapot.java to
> > >
> > > account for a change in parameter names resulting in slightly different
> > >
> > > code being generated by jextract [1].
> > >
> > > HTH,
> > >
> > > Jorn
> > >
> > > [1] :
> > >
> > > diff --git a/opengl/Teapot.java b/opengl/Teapot.java
> > >
> > > index 22d1f44..d5eb786 100644
> > >
> > > --- a/opengl/Teapot.java
> > >
> > > +++ b/opengl/Teapot.java
> > >
> > > @@ -79,8 +79,8 @@ public class Teapot {
> > >
> > > glutInitWindowSize(500, 500);
> > >
> > > glutCreateWindow(allocator.allocateUtf8String("Hello Panama!"));
> > >
> > > var teapot = new Teapot(allocator);
> > >
> > > -            var displayStub =
> > >
> > > glutDisplayFunc$func.allocate(teapot::display, scope);
> > >
> > > -            var idleStub = glutIdleFunc$func.allocate(teapot::onIdle,
> > >
> > > scope);
> > >
> > > +            var displayStub =
> > >
> > > glutDisplayFunc$callback.allocate(teapot::display, scope);
> > >
> > > +            var idleStub =
> > >
> > > glutIdleFunc$callback.allocate(teapot::onIdle, scope);
> > >
> > > glutDisplayFunc(displayStub);
> > >
> > > glutIdleFunc(idleStub);
> > >
> > > glutMainLoop();
> > >
> > > On 12/11/2021 13:01, Martin Pernollet wrote:
> > >
> > > > Thanks for your answer. I tried running on Windows an OpenGL binding generated on MacOS, and it fails on much simpler things. The glut_h file from Mac starts with lib names and path that are not relevant for Windows :
> > > >
> > > > public class glut_h extends glut_h_3 {
> > > >
> > > > static {
> > > >
> > > > System.loadLibrary("GL");
> > > >
> > > > System.load("/System/Library/Frameworks/GLUT.framework/Versions/Current/GLUT");
> > > >
> > > > }
> > > >
> > > > while on Windows the path is "C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\include" when using Freeglut built with MinGW.
> > > >
> > > > Fixing manually in the generated glut_h won't help : Exception in thread "main" java.lang.UnsatisfiedLinkError: no GL in java.library.path: C:\Mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\include despite I really got a GL folder under the include dir.
> > > >
> > > > So I got back to Sundararajana samples on github to generate the bindings and got stuck by a surprising JExtract exception :
> > > >
> > > > PS C:\Users\Martin\Dev\jzy3d\external\panama-jextract-samples\opengl> ./compile_windows.ps1
> > > >
> > > > [...]
> > > >
> > > > freeglutPath: C:/Mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32
> > > >
> > > > WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.jextract
> > > >
> > > > C:/Mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32\include\stdlib.h:360:47: error: expected ';' after top level declarator
> > > >
> > > > ERROR: jextract exited with non-zero exit code: 3
> > > >
> > > > Whereas I can not see anything wrong in stdlib.h which is as follow around line 360 :
> > > >
> > > > 358: #ifndef _CRT_TERMINATE_DEFINED
> > > >
> > > > 359: #define _CRT_TERMINATE_DEFINED
> > > >
> > > > 360: void __cdecl __MINGW_NOTHROW exit(int _Code) __MINGW_ATTRIB_NORETURN;
> > > >
> > > > 361: void __cdecl __MINGW_NOTHROW _exit(int _Code) __MINGW_ATTRIB_NORETURN;
> > > >
> > > > I should mention that
> > > >
> > > > -   I built and installed freeglut since JExtract command for Windows wants it. I verified I could build and run a simple program showing a triangle so I think that my Freeglut install in MinGW64 is correct.
> > > > -   I verified GCC and G++ are callable from Powershell
> > > > -   The internet sometime suggest to enclose such problematic lines in a #if defined __cplusplus / #endif block but I think I should not have to edit stdlib.h myself.
> > > >
> > > > Is this stdlib error something some of you already faced? How did you fix?
> > > >
> > > > Thanks!
> > > >
> > > > Sent with ProtonMail Secure Email.
> > > >
> > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > >
> > > > Le lundi 18 octobre 2021 à 11:29, Rado Smogura mail at smogura.eu a écrit :
> > > >
> > > > > Hi Martin,
> > > > >
> > > > > Let me answer the last questions about JExtract and .h files for every
> > > > >
> > > > > platform.
> > > > >
> > > > > It may be needed to do separate bindings, unless you can prove
> > > > >
> > > > > otherwise. The specifications provides .h files and names, but may not
> > > > >
> > > > > be clear if,
> > > > >
> > > > > -   given name is variable, or define
> > > > >
> > > > > -   values set to const / variable
> > > > >
> > > > > -   expr() is method or define
> > > > >
> > > > >     There was one experiment with POSIX, where even so standard things like
> > > > >
> > > > >     net may differ on values assigned to DEFINED between Linux & OSX.
> > > > >
> > > > >     Roughly speaking GL_CONST_X can be 1 on one system and 2 on the other,
> > > > >
> > > > >     and this values will be "inlined" into extracted code.
> > > > >
> > > > >     However how exactly is with OpenGL I don't know.
> > > > >
> > > > >     Kind regards,
> > > > >
> > > > >     Rado
> > > > >
> > > > >     On 17.10.2021 15:20, Martin Pernollet wrote:
> > > > >
> > > > >
> > > > > > Report about more intensive use of foreign function API
> > > > > >
> > > > > > I have plugged mouse control and automated rotation to the PanamaGL prototype [0]. I have let a native frame opened for an hour and didn’t notice any crash. The only JVM crashes I encountered were when I got an exception in a callback due to me. As Jorn said, a complete stack print would be helpful to locate where the bug comes from. One can reproduce crashes without exception with the teapot example modified as follow :
> > > > > >
> > > > > > void onIdle() {
> > > > > >
> > > > > > throw new IllegalArgumentException("Teapot does not support coffee");
> > > > > >
> > > > > > }
> > > > > >
> > > > > > My CPU is busy (60%) but this is normal : this prototype uses glutMainLoop(), which will let the GPU run and invoke CPU/JVM at each frame. At each frame, Jzy3D will invoke all OpenGL methods to render geometries in immediate mode (a.k.a fixed function pipeline). There are ways to do things more efficiently in Jzy3D with a single communication between GPU and CPU at program start, but I think it is better to stick on such non-efficient way of rendering for the purpose of challenging JEP-412.
> > > > > >
> > > > > > I did not implement a couple of things for the prototype (text, automatic HiDPI detection, image overlays, screenshots, etc) because there are harder questions that I would like to discuss before.
> > > > > >
> > > > > > Integration in an AWT Canvas
> > > > > >
> > > > > > Embedding a GL renderer into an existing AWT application could be done by rendering the image offscreen, fetching it to convert as a BufferedImage and then add it in an AWT Canvas. This is however inefficient since the pixels will go from GPU to CPU and then back to GPU.
> > > > > >
> > > > > > It would be more efficient to execute GL code in GPU in a viewport relating to the canvas where we intend to draw. Beside being more efficient, this would also comply with the need of OpenGL to be invoked by a single thread. The authors of JOGL did this by defining a GLEventListener[1] interface that must be registered on a GLCanvas. The GLCanvas will invoke the GLEventListener, and the implementation of GLEventListener.display must define what to draw, e.g. a teapot, a collection of polygons, etc.
> > > > > >
> > > > > > I hence would like to hook where a Canvas gets rendered by AWT and execute GL code from there. I found this package [2] to be instructive for the native OpenGL side, SunGraphics2D lead me to PixelDrawPipe, then CompositeCRenderer where I get a bit lost for now as it relies on SunGraphics2D back. I would enjoy any suggestion clarifying who actually draws an AWT widget, and where is the link between Graphics2D and OpenGL.
> > > > > >
> > > > > > Beside these technical questions I have an historical one : JOGL was initially created by Sun and I presume Java3D relied on it when it was released in 1998. Java3D was dropped in 2004 from JDK and JOGL was given to the community. Does someone know what the reasons were? I fear writing something similar to what was done 20 years ago would fail the same way :)
> > > > > >
> > > > > > I know that Apple has shifted to Metal on MacOS, that JDK now has the ability to use it for rendering and that I would have to deal with OpenGL + Metal that should fit under the same interface (implementing an OpenGL interface with Metal would probably be the best way).
> > > > > >
> > > > > > More practical questions about JExtract
> > > > > >
> > > > > > I presume I should not have to build an OpenGL binding with JExtract for each OS/Version, because OpenGL is a specification and all computer vendors should provide .h that follow the same specs. So my understanding is that JExtract should in theory be ran for each OS/Version, but in practice can be ran once on my computer and will be OK for Windows and Linux for the OpenGL case.
> > > > > >
> > > > > > Last, I wonder if exposing OpenGL through JExtract from an AWT Canvas would be compatible with using OpenGL to render usual AWT widgets with native OpenGL inside the JVM?
> > > > > >
> > > > > > Thanks for reading!
> > > > > >
> > > > > > Martin
> > > > > >
> > > > > > [0] https://urldefense.com/v3/https://github.com/jzy3d/panama-gl;!!ACWV5N9M2RV99hQ!Y8ZS9vrOr-YuUd_CFsgfhGO3aSXk4ne1wkwSCaMl0iDG2u41mhMU1YSO8bHkQ00p$
> > > > > >
> > > > > > [1] https://urldefense.com/v3/https://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/com/jogamp/opengl/GLEventListener.html;!!ACWV5N9M2RV99hQ!Y8ZS9vrOr-YuUd_CFsgfhGO3aSXk4ne1wkwSCaMl0iDG2u41mhMU1YSO8ROseeEa$
> > > > > >
> > > > > > [2] https://urldefense.com/v3/https://github.com/openjdk/jdk/tree/master/src/java.desktop/share/native/common/java2d/opengl;!!ACWV5N9M2RV99hQ!Y8ZS9vrOr-YuUd_CFsgfhGO3aSXk4ne1wkwSCaMl0iDG2u41mhMU1YSO8WkFrawU$


More information about the panama-dev mailing list