|
On Fri, Jan 9, 2026 at 1:01 PM Marco Facchinetti <
marco.facchinetti@xxxxxxxxx> wrote:
Make sure that *PUBLIC has at least *RX authority to the following
directory paths:
/QIBM/ProdData/OS400/Java400/jdk/lib/
/QIBM/ProdData/OS400/Java400/jdk/lib/ext/
/QIBM/ProdData/Java400/jdk11/lib/ext/
Those three directories don't exist on either of our systems.
The others all have at least *RX.
QIBM_MULTI_THREADED = 'Y'
Neither system has that environment variable set at the *SYS level.
/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/conf/security/java.policy
Both systems have that file and they are identical.
Is there a possibility that the JVM was already in error before the Java
class was executed in your RPG?
I don't think so ... the JVM is initialized, but fails about half a second
later.
Here's the fragment of the job log showing the error:
JVAB302 Diagnostic 10 01/09/26 07:42:19.694378
QJVAUTLJVM QSYS *STMT QJVAJVMXIF QSYS *STMT
From user . . . . . . . . . :
XXXXXXXX
From module . . . . . . . . :
QJVAUTLJVM
From procedure . . . . . . :
JvaSendMsg
Statement . . . . . . . . . : 10
To module . . . . . . . . . :
QJVAJVMXIF
To procedure . . . . . . . :
sendMessage__10QjvaJvmXifFPcPviT1
Statement . . . . . . . . . : 1
Thread . . . . : 00001E1D
Message . . . . : Java Virtual
Machine is IBM Technology for Java.
PID(3832342)
Cause . . . . . : JAVA_HOME
environment variable is
/QOpenSys/QIBM/ProdData/JavaVM/jdk11/64bit
MCH74A5 Escape 40 01/09/26 07:42:20.117156
QXJ9UTLJVM QJVM1164 *STMT QXJ9UTLJVM QJVM1164 *STMT
From user . . . . . . . . . :
XXXXXXXX
From module . . . . . . . . :
QXJ9UTLJVM
From procedure . . . . . . :
JvaSendMsg
Statement . . . . . . . . . : 16
To module . . . . . . . . . :
QXJ9UTLJVM
To procedure . . . . . . . :
JvaSendMsg
Statement . . . . . . . . . : 16
Thread . . . . : 00001E1D
Message . . . . : The Java Virtual
Machine has ended.
Cause . . . . . : Java Virtual
Machine 1 has ended because of reason 2. The
reason codes are defined as follows:
01- A Java program called the
java.lang.System.exit method with a
zero status code. 02- A Java program
called the java.lang.System.exit
method with a non zero status code of 1.
03- An unexpected system error was
detected. 04- A critical Java Virtual
Machine thread has ended and
processing cannot continue. Recovery . . . :
If the Java Virtual Machine ended
because of reason code 03, an internal
error has occurred. Contact you
service representative. Information about
the error was saved in the Licensed
Internal Code log.
JVAB544 Diagnostic 40 01/09/26 07:42:20.117357
QXJ9UTLJVM QJVM1164 *STMT QRNXUTIL QSYS *STMT
From user . . . . . . . . . :
XXXXXXXX
From module . . . . . . . . :
QXJ9UTLJVM
From procedure . . . . . . :
JvaSendMsg
Statement . . . . . . . . . : 16
To module . . . . . . . . . :
QRNXJNI
To procedure . . . . . . . :
_QRNI_getJNIEnv
Statement . . . . . . . . . : 75
Thread . . . . : 00001E1D
Message . . . . : Unmonitored
exception received.
Cause . . . . . : Received an
unmonitored exception. Recovery . . . : See
the messages listed on this display
or in the job log (use the DSPJOBLOG
command to display the job log).
Correct any errors and try the command
again.
MCH3601 Escape 40 01/09/26 07:42:20.117744 QRNXUTIL
QSYS *STMT QRNXUTIL QSYS *STMT
From user . . . . . . . . . :
XXXXXXXX
From module . . . . . . . . :
QRNXJNI
From procedure . . . . . . :
_QRNI_getJNIEnv
Statement . . . . . . . . . : 95
To module . . . . . . . . . :
QRNXJNI
To procedure . . . . . . . :
_QRNI_getJNIEnv
Statement . . . . . . . . . : 95
Thread . . . . : 00001E1D
Message . . . . : Pointer not set
for location referenced.
Cause . . . . . : A pointer was
used, either directly or as a basing
pointer, that has not been set to an
address.
--
This is the Java Programming on and around the IBM i (JAVA400-L) mailing
list
To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.