I have successfully compiled liblmdb on a Raspberry Pi and ran the verifier, see below (Kotlin):
val env: Env<ByteBuffer> = Env.create(PROXY_OPTIMAL)
.setMapSize(10485760)
.setMaxDbs(Verifier.DBI_COUNT)
.open(file)
val v = Verifier(env)
v.runFor(3, TimeUnit.SECONDS)
env.close()
I'm getting a SIGSEGV, see report below. Do you have an idea what the problem might be?
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x76c6f90a, pid=17915, tid=17916
#
# JRE version: OpenJDK Runtime Environment (11.0.6+10) (build 11.0.6+10-post-Debian-1bpo91)
# Java VM: OpenJDK Server VM (11.0.6+10-post-Debian-1bpo91, mixed mode, serial gc, linux-)
# Problematic frame:
# V [libjvm.so+0x6b190a]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# https://bugs.debian.org/openjdk-11
#
--------------- S U M M A R Y ------------
Command Line: -Dlmdbjava.native.lib=liblmdb.so db-test-9.jar
Host: rev 4 (v7l), 4 cores, 925M, Raspbian GNU/Linux 9 (stretch)
Time: Tue Aug 18 09:51:53 2020 UTC elapsed time: 2 seconds (0d 0h 0m 2s)
--------------- T H R E A D ---------------
Current thread (0x7620d800): JavaThread "main" [_thread_in_vm, id=17916, stack(0x76334000,0x76384000)]
Stack: [0x76334000,0x76384000], sp=0x76382880, free space=314k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x6b190a]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 96 jdk.internal.misc.Unsafe.getByte(Ljava/lang/Object;J)B java.base@11.0.6 (0 bytes) @ 0x7401d5c0 [0x7401d570+0x00000050]
j jdk.internal.misc.Unsafe.getByte(J)B+3 java.base@11.0.6
j java.nio.DirectByteBuffer.get()B+11 java.base@11.0.6
j java.nio.ByteBuffer.get([BII)Ljava/nio/ByteBuffer;+42 java.base@11.0.6
j java.nio.DirectByteBuffer.get([BII)Ljava/nio/ByteBuffer;+145 java.base@11.0.6
j org.lmdbjava.ByteBufferProxy$AbstractByteBufferProxy.getBytes(Ljava/nio/ByteBuffer;)[B+14
j org.lmdbjava.ByteBufferProxy$AbstractByteBufferProxy.getBytes(Ljava/lang/Object;)[B+5
j org.lmdbjava.Env.getDbiNames()Ljava/util/List;+131
j org.lmdbjava.Verifier.deleteDbis()V+4
j org.lmdbjava.Verifier.<init>(Lorg/lmdbjava/Env;)V+98
j de.rrsdb.dbtest.Main$Companion.main([Ljava/lang/String;)V+57
j de.rrsdb.dbtest.Main.main([Ljava/lang/String;)V+4
v ~StubRoutines::call_stub
I have successfully compiled liblmdb on a Raspberry Pi and ran the verifier, see below (Kotlin):
I'm getting a SIGSEGV, see report below. Do you have an idea what the problem might be?