[Info-vax] JNI problem on I64
Arne Vajhøj
arne at vajhoej.dk
Tue Jan 25 19:39:52 EST 2022
Code outline:
... (JNIEnv *cntx, jobject baobj)
...
signed char *buf;
...
buf = (*cntx)->GetByteArrayElements(cntx, baobj, NULL);
...
...
...
(*cntx)->ReleaseByteArrayElements(cntx, baobj, buf, 0);
VMS Alpha 8.4 with Java 1.5 : works fine
VMS I64 8.4 with Java 8 : crashes (the output is attached below)
ReleaseByteArrayElements calls memcpy and memcpy calls something
in LIBOTS that does an access violation.
I understand the memcpy - if GetByteArrayElements returned a copy
of the JVM data then ReleaseByteArrayElements has to copy the modified
data back.
But neither baobj nor buf has changed. So I am totally baffled
over why I can get an access violation.
Does anyone have an idea about what I should be looking for?
Arne
#
# A fatal error has been detected by the Java Runtime Environment:
#
# %SYSTEM-F-ACCVIO (0xc) at pc=84234440, pid=1064, tid=0x000000007b6ecec0
#
# JRE version: OpenJDK Runtime Environment (8.0_222-b05) (build
1.8.0_222-b05)
# Java VM: OpenJDK 64-Bit Server VM (25.222-b05 mixed mode OpenVMS-ia64 )
# Problematic frame:
# C [LIBOTS+0x2c0] +0x84234440
#
#
#
# Can not save log file, dump to screen..
#
# A fatal error has been detected by the Java Runtime Environment:
#
# %SYSTEM-F-ACCVIO (0xc) at pc=84234440, pid=1064, tid=0x000000007b6ecec0
#
# JRE version: OpenJDK Runtime Environment (8.0_222-b05) (build
1.8.0_222-b05)
# Java VM: OpenJDK 64-Bit Server VM (25.222-b05 mixed mode OpenVMS-ia64 )
# Problematic frame:
# C [LIBOTS+0x2c0] +0x84234440
#
#
#
# Please report this error to VSI customer support.
#
--------------- T H R E A D ---------------
Current thread (31C000): JavaThread "main" [_thread_in_vm,
id=2070859456, stack(7AB16000,7AD16000)]
siginfo:si_signo=(null): si_errno=error 9732, si_code=12
Top of Stack: (sp=7AD0FAF0)
7AD0FAF0: 0000000000000000 0000000000000000
7AD0FB00: 0000000000000000 0000000000000000
7AD0FB10: 0000030000030380 0000000843790022
7AD0FB20: ffffffff84234440 000000000000000c
7AD0FB30: 000007fdbffd6a00 000007fdbffd6a00
7AD0FB40: 0000000000000000 0000000000000000
7AD0FB50: c00000000000030b 0000000000000000
7AD0FB60: 0000000000000000 0000000000000000
7AD0FB70: 0000000000000000 0000000000000000
7AD0FB80: 0000000000000000 0000000000000000
7AD0FB90: 0000000000000000 0000000000000000
7AD0FBA0: 0209804c0274433f 0000000000000000
7AD0FBB0: ffffffffffff9ed7 00001013084ae030
7AD0FBC0: 0000080400000000 0000000000000000
7AD0FBD0: 0000000009b92000 00000000ffedbd34
7AD0FBE0: ffffffff84234430 8000000b766d1020
7AD0FBF0: 0000000000000000 ffffffff7ff78e80
7AD0FC00: 0000000000000000 0f6c000009b7cbf0
7AD0FC10: 0000000000007f00 0000000000000000
7AD0FC20: 0000000000000003 0000000000000000
7AD0FC30: 000007fd00000002 000000007b562000
7AD0FC40: 0000000000000000 0000000000000000
7AD0FC50: 000000000031c000 000000007ad0fe68
7AD0FC60: 000000007ab16000 000007fdc0fd4000
7AD0FC70: 000007fe2e80ba18 0000000000000018
7AD0FC80: 000000000000001b 0000000000000000
7AD0FC90: 000000007ad0ec40 000000007b6ecec0
7AD0FCA0: 00000000a0f80bb0 000000007b8b1f48
7AD0FCB0: ffffffff84234180 000007fd97405d00
7AD0FCC0: 0000000009b7aea0 0000000000000000
7AD0FCD0: 00000000004453a0 0000000009b7cbf0
7AD0FCE0: 00000000000097d7 00000000025d0173
7AD0FCF0: 000007fd9741d088 0000000009b92260
7AD0FD00: 000007fd9741cde8 000007fd9741cdf8
7AD0FD10: 0000000009b92010 0000000009b92000
7AD0FD20: 0000000000000018 00000000973eeb90
7AD0FD30: ffffffff8484b5f0 0000000000000000
7AD0FD40: 0000000000000000 0000000000000000
7AD0FD50: 0000000000000000 0000000000000000
7AD0FD60: ffffffff84234180 ffffffff844be1a0
7AD0FD70: 0000000000000800 0000000000000000
7AD0FD80: c000000000000000 000000000000ffcb
7AD0FD90: 00000000000004b6 000000000001003e
7AD0FDA0: 8400000000000000 000000000001000c
7AD0FDB0: e000000000000000 0000000000010001
7AD0FDC0: 96db6db6db6db6db 0000000000010009
7AD0FDD0: 9249249249249249 000000000000fffc
7AD0FDE0: 432414183a217a08 c428f87005283070
7AD0FDF0: 0000000000000000 0000000000000000
7AD0FE00: 0000000000000000 0000000000000000
7AD0FE10: 0000000009b7aea0 000000000031c000
7AD0FE20: 000000000031c000 000000000031c000
7AD0FE30: 000007fd60fc2100 000007fd60fc21d8
7AD0FE40: 000007fd60fc21d8 09b7ad80010e00ff
7AD0FE50: 09b7ad80010e00ff 000007fd60fc21d8
7AD0FE60: 0000000000000000 0000000000000000
7AD0FE70: 000007fd97412728 000007fd9742e920
7AD0FE80: 000007fd9742e858 000007fd9742e830
7AD0FE90: 000000007b35e5c0 000000007b35e5c0
7AD0FEA0: 0000000000000000 000007fd9742e588
7AD0FEB0: 0000000000000003 000007fd9742e920
7AD0FEC0: 000007fd9742e858 000007fd9742e830
7AD0FED0: 0000000000000003 000007fd9742e750
7AD0FEE0: 000007fd9742e660 000007fd9740be80
7AD0FEF0: 000007fd974081e0 000007fd97408198
7AD0FF00: 0000000000000000 0000000000000000
7AD0FF10: 000007fd97405e28 000007fd97405cf0
7AD0FF20: 000007fd973ff1b0 000000000031c000
7AD0FF30: 0000000000000000 0000000000000000
7AD0FF40: 0000000000000000 0000000000000000
7AD0FF50: 0000000000000000 0000000000000000
7AD0FF60: 0000000000000000 0000000000000000
7AD0FF70: 0000000000000000 0000000000000000
7AD0FF80: 0000000000000000 0000000000000000
7AD0FF90: 0000000000000000 0000000000000000
7AD0FFA0: 0000000000000000 0000000000000000
7AD0FFB0: 0000000000000000 0000000000000000
7AD0FFC0: 0000000000000000 0000000000000000
7AD0FFD0: 0000000000000000 0000000000000000
7AD0FFE0: 0000000000000000 0000000000000000
7AD0FFF0: 0000000000000000 0000000000000000
7AD10000: 0000000000000000 0000000000000000
7AD10010: 0000000000000000 0000000000000000
7AD10020: 0000000000000000 0000000000000000
7AD10030: 0000000000000000 0000000000000000
7AD10040: 0000000000000000 0000000000000000
7AD10050: 0000000000000000 0000000000000000
7AD10060: 0000000000000000 0000000000000000
7AD10070: 000007fdafc9f880 0000000000000000
7AD10080: 0000000000000000 0000000000000000
7AD10090: 0000000000000000 000000000031c000
7AD100A0: 0000000000000001 000007fd00000000
7AD100B0: 000007fd60f88a58 000000000031c000
7AD100C0: 0000000000000004 000007fd60bcdc50
7AD100D0: 000007fd60f88a58 000000000031c000
7AD100E0: 0000000003ebaa48 000007fd000000d8
7AD100F0: 000000007ad10530 000007fd60fabb28
7AD10100: 0000000000000001 0000000000000000
7AD10110: 0000000003ebaa08 0000000003eba620
7AD10120: 000007fd60f88a58 000000000031c000
7AD10130: 000007fd60f88a58 000000000031c000
7AD10140: 000007fd60bcdc50 000000000031c000
7AD10150: 000000000031c000 0000000008e30c90
7AD10160: 000007fd60f88a58 000007fd973ff1b0
7AD10170: 000000007ad107f0 000007fdafc8c2d0
7AD10180: 000007fdbffd5fb0 000007fd00000001
7AD10190: 000000007ad105c0 000000000031c000
7AD101A0: 000000000031c000 000000000031fd30
7AD101B0: 0000000003eba9f0 0000000003ebaa20
7AD101C0: 0000000003ebaad8 000007fd000000d8
7AD101D0: 000000007ad10d50 0000000000000003
7AD101E0: 0000000003ebaa08 0000000000000002
7AD101F0: 000007fd60f88a58 000007fd60f88a58
7AD10200: 0000000000000000 000007fd60fab270
7AD10210: 000000007ad10520 000007fd60f88a58
7AD10220: 000007fd60f88a58 000007fd00000003
7AD10230: 0000000000000081 0000000003ebaa08
7AD10240: 0000000100000001 000007fd00000001
7AD10250: 0000000000000200 000007fd60cb9d70
7AD10260: 00000000039b2960 000007fd60f88a58
7AD10270: 0000000003eadd70 0000000003eba5f0
7AD10280: 0000000003eba600 0000000003eba9d8
7AD10290: 00000000000003d8 000007fd60cbaba0
7AD102A0: 000007fd60f88a58 000000000031c000
7AD102B0: 000007fd60f8a298 0000000003ebaa64
7AD102C0: 0000000000000001 0000000005123a61
7AD102D0: 0000000000000001 000000000031c000
7AD102E0: 000007fd60cb9d70 000000000031c000
Instructions: (pc=84234440)
84234420: 08 4a 61 3a 18 14 c4 c2 70 30 28 20 71 f8 00 c4
84234430: 49 c2 ac 34 98 95 84 71 6d 30 2b 40 01 f8 00 c4
84234440: 08 7a 21 3a 18 14 24 43 70 30 28 05 70 f8 28 c4
84234450: 49 42 c4 34 98 95 84 a0 6d 30 2b 00 00 f8 2c e4
Stack: [7AB16000,7AD16000], sp=7AD0FE10, free space=2023k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
C=native code)
C [LIBOTS+0x2c0] +0x84234440
C [DECC$SHR+0x30] C$$MEMFUNC/_memcpy64+0x8484b5f0
C [java$jvm_shr+0x320] jni/jni_ReleaseByteArrayElements+0xce6de0
C [VMScall_shr+0x5300]
dk_vajhoej_vms_call_vms/Java_dk_vajhoej_vms_call_VMS_callFunction+0x9b88e10
v ~StubRoutines::native_call_stub
j
dk.vajhoej.vms.call.VMS.callFunction(J[I[I[Ldk/vajhoej/vms/call/VMS$TypeWrapper;)I+0
j
dk.vajhoej.vms.call.VMS.call(Ljava/lang/String;Ljava/lang/String;[Ldk/vajhoej/vms/call/VMS$Pass;)I+674
j
dk.vajhoej.vms.call.test.TestBasic.testDefaultAccessTraditionalStyle()V+56
v ~StubRoutines::call_stub
C [java$jvm_shr+0x15b0] javaCalls/call_helper+0x169ff30
C [java$jvm_shr+0xe0] os_vms/os_exception_wrapper+0xe9e4a0
C [java$jvm_shr+0x60] javaCalls/call+0x16a6ea0
C [java$jvm_shr+0x1090] reflection/invoke+0x10a3310
C [java$jvm_shr+0x480]
Interrupt
More information about the Info-vax
mailing list