[External] : Re: JEP-412 & OpenGL

Martin Pernollet martin.pernollet at protonmail.com
Mon Nov 15 07:33:56 UTC 2021


Hi,

I am now on Ubuntu. The original teapot sample is working (just required to change glutDisplayFunc$func to glutDisplayFunc$callback).

I got an UnstasfiedLinkException with other programs. I wonder if you have a suggestion to help me understand my mistake? LDD command does not help. Like for the NPE, we lack a bit of info for debugging.

---------------------------------------------------------------------------
Console says

Uncaught exception:
java.lang.UnsatisfiedLinkError
{0x0000000091ac9b58} - klass: 'java/lang/UnsatisfiedLinkError'
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (universalUpcallHandler.cpp:113), pid=33668, tid=33677
# Error: ShouldNotReachHere()

---------------------------------------------------------------------------
Core dump says (see attached the complete core dump file)

Current thread (0x00007f5d580268c0): JavaThread "main" [_thread_in_Java, id=35593, stack(0x00007f5d5f59e000,0x00007f5d5f69f000)]

Stack: [0x00007f5d5f59e000,0x00007f5d5f69f000], sp=0x00007f5d5f69c8b0, free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xd993a3] ProgrammableUpcallHandler::handle_uncaught_exception(oopDesc*)+0x43
v ~BufferBlob::panama_upcall_stub
C [libglut.so.3.9.0+0x20895] glutMainLoopEvent+0x2a5

Register to memory mapping:

RAX=0x00007f5d60cc4000 points into unknown readable memory: 0x0000000000000058 | 58 00 00 00 00 00 00 00
RBX=0x00007f5d4184556a is at code_begin+842 in
[CodeBlob (0x00007f5d41845190)]
Framesize: 0
BufferBlob (0x00007f5d41845190) used for panama_upcall_stub
RCX=0x000000000000000a is an unknown value
RDX=0x0 is NULL
RSP=0x00007f5d5f69c8b0 is pointing into the stack for thread: 0x00007f5d580268c0
RBP=0x00007f5d5f69c8c0 is pointing into the stack for thread: 0x00007f5d580268c0
RSI=0x0000000000000071 is an unknown value
RDI=0x00007f5d606f6108: <offset 0x0000000000efd108> in /usr/lib/jvm/jdk-17-panama/lib/server/libjvm.so at 0x00007f5d5f7f9000
R8 =0x0 is NULL
R9 =0x00007f5d5f69c8a0 is pointing into the stack for thread: 0x00007f5d580268c0
R10=0x0 is NULL
R11=0x0 is NULL
R12=0x0000000091d82828 is an oop: java.lang.UnsatisfiedLinkError
{0x0000000091d82828} - klass: 'java/lang/UnsatisfiedLinkError'
R13=0x00007f5d1c42fbdc is pointing into metadata
R14=0x00007f5d5f69c8c8 is pointing into the stack for thread: 0x00007f5d580268c0
R15=0x00007f5d580268c0 is a thread

---------------------------------------------------------------------------
I verified with LDD if the lib I am linking to has dependencies problem but it seams to be ok.

ldd --verbose /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0
linux-vdso.so.1 (0x00007ffc37dcd000)
libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007effdf322000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007effdf1e5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007effdf096000)
libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007effdf084000)
libXxf86vm.so.1 => /lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007effdf07d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007effdee8b000)
libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007effdedd1000)
libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007effded9d000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007effded73000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007effded6d000)
/lib64/ld-linux-x86-64.so.2 (0x00007effdf608000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007effded58000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007effded50000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007effded48000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007effded2e000)

Version information:
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0:
libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libGL.so.1:
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libX11.so.6:
libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.26) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libm.so.6:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libXi.so.6:
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libXxf86vm.so.1:
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
/lib/x86_64-linux-gnu/libGLdispatch.so.0:
libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libGLX.so.0:
libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libxcb.so.1:
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libdl.so.2:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libXext.so.6:
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libXau.so.6:
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libXdmcp.so.6:
libbsd.so.0 (LIBBSD_0.2) => /lib/x86_64-linux-gnu/libbsd.so.0
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libbsd.so.0:
libc.so.6 (GLIBC_2.25) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6


More information about the panama-dev mailing list