在 AS400/Java 上创建 Mac 对象时出现 StackOverFlowError

发布于 2024-09-06 04:59:29 字数 21175 浏览 14 评论 0原文

我是 AS400-Java 编程的新手。我正在尝试创建我的第一个程序来测试消息验证代码(MAC)的实现。我正在尝试使用 HMACSHA1 哈希函数。我的(Java 1.4)程序在开发盒(V5R4)上运行良好,但在质量检查盒(V5R3)上却严重失败。我的程序如下:

============================================== =========


import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.security.Provider;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.SecretKey;

public class Test01
{
 private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";

 public static void main (String [] arguments)
 {
  byte[] key = { 1,2,3,4,5,6,7,8};
  SecretKeySpec SHA1key = new SecretKeySpec(key, "HmacSHA1");
  Mac hmac;
  String strFinalRslt = "";

  try {
 hmac = Mac.getInstance("HmacSHA1");
 hmac.init(SHA1key);
 byte[] result = hmac.doFinal();
    strFinalRslt = toHexString(result);

  }catch (NoSuchAlgorithmException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
  }catch (InvalidKeyException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
  }catch(StackOverflowError e){
 e.printStackTrace();
  }
  System.out.println(strFinalRslt);
  System.out.println("All done!!!");
 }

 public static byte[] fromHexString ( String s )
 {
  int stringLength = s.length();
  if ( (stringLength & 0x1) != 0 )
  {
   throw new IllegalArgumentException ( "fromHexString requires an even number of hex characters" );
  }
  byte[] b = new byte[stringLength / 2];

  for ( int i=0,j=0; i>> 4] );

  //look up low nibble char
  sb.append( hexChar [b[i] & 0x0f] );
 }
 return sb.toString();
}

static char[] hexChar = {
'0' , '1' , '2' , '3' ,
'4' , '5' , '6' , '7' ,
'8' , '9' , 'a' , 'b' ,
'c' , 'd' , 'e' , 'f'};


}

该程序编译良好,并在我的 win-xp 客户端和我的开发盒上得到正确的响应。但是,失败并在 QA 框中出现以下错误:

java.lang.StackOverflowError
    at java.lang.Throwable.(Throwable.java:180)
    at java.lang.Error.(Error.java:37)
    at java.lang.StackOverflowError.(StackOverflowError.java:24)
    at java.io.Os400FileSystem.list(Native method)
    at java.io.File.list(File.java:922)
    at javax.crypto.b.e(Unknown source)
    at javax.crypto.b.a(Unknown source)
    at javax.crypto.b.c(Unknown source)
    at javax.crypto.b£0.run(Unknown source)
    at javax.crypto.b.(Unknown source)
    at javax.crypto.Mac.getInstance(Unknown source)

我已经验证了 java.security 文件以及与 jce 文件相对应的条目都正常。 DMPJVM 命令给我以下响应:

Thu Jun 03 12:25:34 E
Java Virtual Machine Information  016822/QPGMR/11111
........................................................................
. Classpath                                                            .
........................................................................
java.version=1.4
sun.boot.class.path=/QIBM/ProdData/OS400/Java400/jdk/lib/jdkptf14.zip:/QIBM
/ProdData/OS400/Java400/ext/ibmjssefw.jar:/QIBM/ProdData/CAP/ibmjsseprovide
r.jar:/QIBM/ProdData/OS400/Java400/ext/ibmjsseprovider2.jar:/QIBM/ProdData/
OS400/Java400/ext/ibmpkcs11impl.jar:/QIBM/ProdData/CAP/ibmjssefips.jar:/QIB
M/ProdData/OS400/Java400/jdk/lib/IBMiSeriesJSSE.jar:/QIBM/ProdData/OS400/Ja
va400/jdk/lib/jce.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/jaas.jar:/QIBM/P
rodData/OS400/Java400/jdk/lib/ibmcertpathfw.jar:/QIBM/ProdData/OS400/Java40
0/jdk/lib/ibmcertpathprovider.jar:/QIBM/ProdData/OS400/Java400/ext/ibmpkcs.
jar:/QIBM/ProdData/OS400/Java400/jdk/lib/ibmjgssfw.jar:/QIBM/ProdData/OS400
/Java400/jdk/lib/ibmjgssprovider.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/s
ecurity.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/charsets.jar:/QIBM/ProdDat
a/OS400/Java400/jdk/lib/resources.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/
rt.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/sunrsasign.jar:/QIBM/ProdData/O
S400/Java400/ext/IBMmisc.jar:/QIBM/ProdData/Java400/
java.class.path=/myhome/lib/commons-codec-1.3.jar:/myhome/lib/commons-httpc
lient-3.1.jar:/myhome/lib/commons-logging-1.1.jar:/myhome/lib/log4j-1.2.15.jar:/myhome/lib/log4j-core.jar
;
java.ext.dirs=/QIBM/ProdData/OS400/Java400/jdk/lib/ext:/QIBM/UserData/Java4
00/ext:/QIBM/ProdData/Java400/jdk14/lib/ext
java.library.path=/QSYS.LIB/ROBOTLIB.LIB:/QSYS.LIB/QTEMP.LIB:/QSYS.LIB/ODIP
GM.LIB:/QSYS.LIB/QGPL.LIB
........................................................................
. Garbage Collection                                                   .
........................................................................
Garbage collector parameters
   Initial size: 16384 K
   Max size: 240000000 K
Current values
   Heap size: 437952 K
   Garbage collections: 58
Additional values
   JIT heap size: 53824 K
   JVM heap size: 55752 K
   Last GC cycle time: 1333 ms
........................................................................
. Thread information                                                   .
........................................................................
Information for 4 thread(s) of 4 thread(s) processed
Thread:  00000004 Thread-0
  TDE:  B00380000BAA0000
  Thread priority: 5
  Thread status: Running
  Thread group: main
  Runnable: java/lang/Thread
 Stack:
    java/io/Os400FileSystem.list(Ljava/io/File;)[Ljava/lang/String;+0 (Os400FileSystem.java:0)
    java/io/File.list()[Ljava/lang/String;+19 (File.java:922)
    javax/crypto/b.e()[B+127 (:0)
    javax/crypto/b.a(Ljava/security/cert/X509Certificate;)V+7 (:0)
    javax/crypto/b.access$500(Ljava/security/cert/X509Certificate;)V+1 (:0)
    javax/crypto/b$0.run()Ljava/lang/Object;+98 (:0)
    javax/crypto/b.()V+507 (:0)
    javax/crypto/Mac.getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;+10 (:0)
 Locks:
    None
Thread:  00000007 jitcompilethread
  TDE:  B00380000BD58000
  Thread priority: 5
  Thread status: Java wait
  Thread group: system
  Runnable: java/lang/Thread
 Stack:
    None
 Locks:
    None
Thread:  00000005 Reference Handler
  TDE:  B00380000BAAC000
  Thread priority: 10
  Thread status: Waiting
  Wait object: java/lang/ref/Reference$Lock
  Thread group: system
  Runnable: java/lang/ref/Reference$ReferenceHandler
 Stack:
    java/lang/Object.wait()V+1 (Object.java:452)
    java/lang/ref/Reference$ReferenceHandler.run()V+47 (Reference.java:169)
 Locks:
    None
Thread:  00000006 Finalizer
  TDE:  B00380000BAB3000
  Thread priority: 8
  Thread status: Waiting
  Wait object: java/lang/ref/ReferenceQueue$Lock
  Thread group: system
  Runnable: java/lang/ref/Finalizer$FinalizerThread
 Stack:
    java/lang/ref/ReferenceQueue.remove(J)Ljava/lang/ref/Reference;+43 (ReferenceQueue.java:111)
    java/lang/ref/ReferenceQueue.remove()Ljava/lang/ref/Reference;+1 (ReferenceQueue.java:127)
    java/lang/ref/Finalizer$FinalizerThread.run()V+3 (Finalizer.java:171)
 Locks:
    None
........................................................................
. Class loader information                                             .
........................................................................
0 Default class loader
1 sun/reflect/DelegatingClassLoader
2 sun/misc/Launcher$ExtClassLoader
........................................................................
. GC heap information                                                  .
........................................................................
 Loader     Objects      Class name
 ------     -------      ----------
 0          1493         [C
 0          2122181      java/lang/String
 0          47           [Ljava/util/Hashtable$Entry;
 0          68           [Ljava/lang/Object;
 0          1016         java/lang/Class
 0          31           java/util/HashMap
 0          37           java/util/Hashtable
 0          2            java/lang/ThreadGroup
 0          2            java/lang/RuntimePermission
 0          2            java/lang/ref/ReferenceQueue$Null
 0          5            java/lang/ref/ReferenceQueue
 0          50           java/util/Vector
 0          4            java/util/Stack
 0          3            sun/misc/SoftCache
 0          1            [Ljava/lang/ThreadGroup;
 0          5            [Ljava/io/ObjectStreamField;
 0          1            sun/reflect/ReflectionFactory
 0          7            java/lang/ref/ReferenceQueue$Lock
 0          10           java/lang/Object
 0          1            java/lang/String$CaseInsensitiveComparator
 0          1            java/util/Hashtable$EmptyEnumerator
 0          1            java/util/Hashtable$EmptyIterator
 0          33           [Ljava/util/HashMap$Entry;
 0          19210        [J
 0          1            sun/nio/cs/StandardCharsets
 0          5            java/util/TreeMap
 0          1075         java/util/TreeMap$Entry
 0          469          [Ljava/lang/String;
 0          1            java/lang/StringBuffer
 0          2            java/io/FileInputStream
 0          2            java/io/FileOutputStream
 0          2            java/io/BufferedOutputStream
 0          1            java/lang/reflect/ReflectPermission
 0          1            [[Ljava/lang/ref/SoftReference;
 0          2            [Ljava/lang/ref/SoftReference;
 0          2            sun/nio/cs/Surrogate$Parser
 0          3            sun/misc/Signal
 0          1            [Ljava/io/File;
 0          6            java/io/File
 0          1            java/util/BitSet
 0          17           sun/reflect/NativeConstructorAccessorImpl
 0          2            java/net/URLClassLoader$ClassFinder
 0          12           java/util/ArrayList
 0          32           java/io/RandomAccessFile
 0          16           java/lang/Thread
 0          1            java/lang/ref/Reference$ReferenceHandler
 0          1            java/lang/ref/Finalizer$FinalizerThread
 0          266          [B
 0          2            java/util/Properties
 0          71           java/lang/ref/Finalizer
 0          2            com/ibm/nio/cs/DirectEncoder
 0          38           java/lang/reflect/Constructor
 0          33           java/util/jar/JarFile
 0          19200        java/lang/StackOverflowError
 0          5            java/security/AccessControlContext
 0          2            [Ljava/lang/Thread;
 0          4            java/lang/OutOfMemoryError
 0          1065         java/util/Hashtable$Entry
 0          1            java/io/BufferedInputStream
 0          2            java/io/PrintStream
 0          2            java/io/OutputStreamWriter
 0          428          [I
 0          3            java/lang/ClassLoader$NativeLibrary
 0          25           java/util/Locale
 0          3            sun/misc/URLClassPath
 0          30           java/util/zip/Inflater
 0          612          java/util/HashMap$Entry
 0          2            java/io/FilePermission
 0          10           java/io/ObjectStreamField
 0          1            java/security/BasicPermissionCollection
 0          2            java/security/ProtectionDomain
 0          1            java/lang/Integer$1
 0          1            java/lang/ref/Reference$Lock
 0          1            java/lang/Shutdown$Lock
 0          1            java/lang/Runtime
 0          36           java/io/FileDescriptor
 0          1            java/lang/Long$1
 0          202          java/lang/Long
 0          3            java/lang/ThreadLocal
 0          3            java/nio/charset/CodingErrorAction
 0          2            java/nio/charset/CoderResult
 0          1            java/nio/charset/CoderResult$1
 0          1            java/nio/charset/CoderResult$2
 0          1            sun/misc/Unsafe
 0          2            java/nio/ByteOrder
 0          1            java/io/Os400FileSystem
 0          3            java/lang/Boolean
 0          1            java/lang/Terminator$1
 0          23           java/lang/Integer
 0          2            sun/misc/NativeSignalHandler
 0          1            sun/misc/Launcher$Factory
 0          1            sun/misc/Launcher
 0          53           [Ljava/lang/Class;
 0          1            java/lang/reflect/ReflectAccess
 0          18           sun/reflect/DelegatingConstructorAccessorImpl
 0          1            sun/net/www/protocol/file/Handler
 0          3            java/util/HashSet
 0          3            sun/net/www/protocol/jar/Handler
 0          1            java/util/jar/JavaUtilJarAccessImpl
 0          1            java/net/UnknownContentHandler
 0          2            [Ljava/security/Principal;
 0          10           [Ljava/security/cert/Certificate;
 0          2            sun/misc/AtomicLongCSImpl
 0          3            sun/reflect/DelegatingMethodAccessorImpl
 0          1            sun/security/util/ByteArrayLexOrder
 0          1            sun/security/util/ByteArrayTagOrder
 0          7            sun/security/x509/CertificateVersion
 0          7            sun/security/x509/CertificateSerialNumber
 0          7            sun/security/x509/SerialNumber
 0          7            sun/security/x509/CertificateAlgorithmId
 0          7            sun/security/x509/CertificateIssuerName
 0          60           sun/security/x509/RDN
 0          60           [Lsun/security/x509/AVA;
 0          67           sun/security/util/DerInputStream
 0          3            [Ljava/math/BigInteger;
 0          2            com/ibm/nio/cs/Converter
 0          2            sun/nio/cs/StreamEncoder$CharsetSE
 0          35           java/lang/ref/SoftReference
 0          2            java/nio/HeapByteBuffer
 0          2            java/io/BufferedWriter
 0          33           sun/misc/URLClassPath$JarLoader
 0          4            java/lang/ThreadLocal$ThreadLocalMap$Entry
 0          76           java/net/URL
 0          1            sun/misc/Launcher$ExtClassLoader
 0          1            sun/misc/Launcher$AppClassLoader
 0          4            java/lang/Throwable
 0          7            java/lang/reflect/Method
 0          2            sun/misc/URLClassPath$FileLoader
 0          2            java/security/CodeSource
 0          2            java/security/Permissions
 0          2            java/io/FilePermissionCollection
 0          1            java/lang/ThreadLocal$ThreadLocalMap
 0          1            javax/crypto/spec/SecretKeySpec
 0          17           java/util/jar/Attributes$Name
 0          1            [Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 0          1            java/security/SecureRandom
 0          2            sun/security/provider/Sun
 0          1            java/util/jar/JarFile$JarFileEntry
 0          1            java/util/jar/JarVerifier
 0          3            sun/reflect/NativeMethodAccessorImpl
 0          116          sun/security/util/ObjectIdentifier
 0          1            java/lang/Package
 0          2            [S
 0          104          java/math/BigInteger
 0          20           sun/security/x509/AlgorithmId
 0          14           sun/security/x509/X500Name
 0          14           [Lsun/security/x509/RDN;
 0          60           sun/security/x509/AVA
 0          67           sun/security/util/DerValue
 0          67           sun/security/util/DerInputBuffer
 0          21           sun/security/x509/AVAKeyword
 0          6            sun/security/x509/X509CertImpl
 0          7            sun/security/x509/X509CertInfo
 0          1            [Lsun/security/util/ObjectIdentifier;
 0          1            [[Ljava/lang/Byte;
 0          3            [[B
 0          7            sun/security/provider/DSAPublicKey
 0          7            sun/security/x509/AuthorityKeyIdentifierExtension
 0          12           [Ljava/lang/Byte;
 0          14           java/lang/Byte
 0          7            sun/security/x509/CertificateSubjectName
 0          7            sun/security/x509/CertificateX509Key
 0          14           sun/security/x509/KeyIdentifier
 0          4            [Z
 0          5            sun/text/Normalizer$Mode
 0          7            sun/security/x509/CertificateValidity
 0          14           java/util/Date
 0          7            sun/security/provider/DSAParameters
 0          7            sun/security/util/BitArray
 0          7            sun/security/x509/CertificateExtensions
 0          7            java/security/AlgorithmParameters
 0          7            sun/security/x509/SubjectKeyIdentifierExtension
 0          5            sun/security/x509/BasicConstraintsExtension
 0          2            sun/security/x509/KeyUsageExtension
 0          1            sun/text/CompactCharArray
 0          1            sun/text/CompactByteArray
 0          1            sun/net/www/protocol/jar/JarFileFactory
 0          1            java/util/Collections$EmptySet
 0          1            java/util/Collections$EmptyList
 0          1            java/util/Collections$ReverseComparator
 0          1            com/ibm/security/jgss/i18n/PropertyResource
 0          1            javax/crypto/b$0
 0          1            sun/security/provider/X509Factory
 0          1            sun/reflect/BootstrapConstructorAccessorImpl
 1          1            sun/reflect/GeneratedConstructorAccessor3202134454
 2          1            com/ibm/crypto/provider/IBMJCE
 0          6            java/util/ResourceBundle$LoaderReference
 0          1            [Lsun/security/x509/NetscapeCertTypeExtension$MapEntry;
 0          1            com/sun/rsajca/Provider
 0          1            com/ibm/security/cert/IBMCertPath
 0          1            com/ibm/as400/ibmonly/net/ssl/Provider
 0          1            com/ibm/jsse/IBMJSSEProvider
 0          1            com/ibm/security/jgss/IBMJGSSProvider
 0          5            org/ietf/jgss/Oid
 0          1            java/util/PropertyResourceBundle
 0          7            java/util/ResourceBundle$ResourceCacheKey
 0          2            sun/net/www/protocol/jar/URLJarFile
 0          6            sun/misc/SoftCache$ValueCell
 0          1            java/util/Random
 0          1            java/util/Collections$EmptyMap
 0          112          com/ibm/security/util/ObjectIdentifier
 0          5            java/security/Security$ProviderProperty
 0          1            java/security/cert/CertificateFactory
 0          1            sun/security/provider/SecureRandom
 0          2            java/security/MessageDigest$Delegate
 0          2            sun/security/provider/SHA
 0          1            sun/util/calendar/ZoneInfo
 0          4            com/ibm/security/x509/X500Name
 0          2            [Ljava/security/cert/X509Certificate;
 0          1            sun/reflect/DelegatingClassLoader
 0          1            sun/security/x509/NetscapeCertTypeExtension
 0          7            sun/security/x509/NetscapeCertTypeExtension$MapEntry
 0          3            [[Ljava/lang/String;
 0          3            java/util/Arrays$ArrayList
 0          7            com/ibm/security/x509/NetscapeCertTypeExtension$MapEntry
 0          1            com/ibm/security/validator/EndEntityChecker
 0          1            java/util/AbstractList$Itr
 0          1            com/ibm/security/util/ByteArrayLexOrder
 0          1            com/ibm/security/util/ByteArrayTagOrder
 0          18           [Lcom/ibm/security/x509/AVA;
 0          18           com/ibm/security/util/DerInputStream
 0          5            com/ibm/security/util/text/Normalizer$Mode
 0          1            com/ibm/security/validator/SimpleValidator
 0          1            [Lcom/ibm/security/x509/NetscapeCertTypeExtension$MapEntry;
 0          4            [Lcom/ibm/security/x509/RDN;
 0          1            java/util/Hashtable$Enumerator
 0          4            java/util/LinkedHashMap$Entry
 0          1            sun/text/resources/LocaleElements
 0          1            sun/text/resources/LocaleElements_en
 0          22           com/ibm/security/x509/AVAKeyword
 0          4            javax/security/auth/x500/X500Principal
 0          18           com/ibm/security/x509/RDN
 0          18           com/ibm/security/x509/AVA
 0          18           com/ibm/security/util/DerInputBuffer
 0          18           com/ibm/security/util/DerValue
 0          1            com/ibm/security/util/text/CompactCharArray
 0          1            com/ibm/security/util/text/CompactByteArray
 0          2            java/util/LinkedHashMap
 0          1            java/net/InetAddress$1
 0          2            [Ljava/net/InetAddress;
 0          2            java/net/InetAddress$Cache
 0          1            java/net/Inet4AddressImpl
 0          3            java/net/Inet4Address
 0          2            java/net/InetAddress$CacheEntry
........................................................................
. Global registry information                                          .
........................................................................
 Loader     Objects      Class name
 ------     -------      ----------
 0          23           [C
 0          1017         java/lang/Class
 0          1            java/lang/ref/Reference$ReferenceHandler
 0          1            java/lang/ref/Finalizer$FinalizerThread
 0          1            sun/misc/Launcher$AppClassLoader
 0          32           java/io/RandomAccessFile
 0          32           [B

有人能给我建议吗?

多谢, 普拉萨那

I am a newbie to AS400-Java programming. I am trying to create my first program to test the implementation of Message Authentication Code (MAC). I am trying to use the HMACSHA1 hash function. My (Java 1.4) program runs fine on a dev box (V5R4).But fails terribly on the QA box (V5R3). My program is as below:

=====================================================


import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.security.Provider;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.SecretKey;

public class Test01
{
 private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";

 public static void main (String [] arguments)
 {
  byte[] key = { 1,2,3,4,5,6,7,8};
  SecretKeySpec SHA1key = new SecretKeySpec(key, "HmacSHA1");
  Mac hmac;
  String strFinalRslt = "";

  try {
 hmac = Mac.getInstance("HmacSHA1");
 hmac.init(SHA1key);
 byte[] result = hmac.doFinal();
    strFinalRslt = toHexString(result);

  }catch (NoSuchAlgorithmException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
  }catch (InvalidKeyException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
  }catch(StackOverflowError e){
 e.printStackTrace();
  }
  System.out.println(strFinalRslt);
  System.out.println("All done!!!");
 }

 public static byte[] fromHexString ( String s )
 {
  int stringLength = s.length();
  if ( (stringLength & 0x1) != 0 )
  {
   throw new IllegalArgumentException ( "fromHexString requires an even number of hex characters" );
  }
  byte[] b = new byte[stringLength / 2];

  for ( int i=0,j=0; i>> 4] );

  //look up low nibble char
  sb.append( hexChar [b[i] & 0x0f] );
 }
 return sb.toString();
}

static char[] hexChar = {
'0' , '1' , '2' , '3' ,
'4' , '5' , '6' , '7' ,
'8' , '9' , 'a' , 'b' ,
'c' , 'd' , 'e' , 'f'};


}

This program compiles fine and gets the correct response on my win-xp client and also my dev box. But, fails with the following error on the QA box:

java.lang.StackOverflowError
    at java.lang.Throwable.(Throwable.java:180)
    at java.lang.Error.(Error.java:37)
    at java.lang.StackOverflowError.(StackOverflowError.java:24)
    at java.io.Os400FileSystem.list(Native method)
    at java.io.File.list(File.java:922)
    at javax.crypto.b.e(Unknown source)
    at javax.crypto.b.a(Unknown source)
    at javax.crypto.b.c(Unknown source)
    at javax.crypto.b£0.run(Unknown source)
    at javax.crypto.b.(Unknown source)
    at javax.crypto.Mac.getInstance(Unknown source)

I have verified the java.security file and entry corresponding to the jce files are all ok. The DMPJVM command gives me the following response:

Thu Jun 03 12:25:34 E
Java Virtual Machine Information  016822/QPGMR/11111
........................................................................
. Classpath                                                            .
........................................................................
java.version=1.4
sun.boot.class.path=/QIBM/ProdData/OS400/Java400/jdk/lib/jdkptf14.zip:/QIBM
/ProdData/OS400/Java400/ext/ibmjssefw.jar:/QIBM/ProdData/CAP/ibmjsseprovide
r.jar:/QIBM/ProdData/OS400/Java400/ext/ibmjsseprovider2.jar:/QIBM/ProdData/
OS400/Java400/ext/ibmpkcs11impl.jar:/QIBM/ProdData/CAP/ibmjssefips.jar:/QIB
M/ProdData/OS400/Java400/jdk/lib/IBMiSeriesJSSE.jar:/QIBM/ProdData/OS400/Ja
va400/jdk/lib/jce.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/jaas.jar:/QIBM/P
rodData/OS400/Java400/jdk/lib/ibmcertpathfw.jar:/QIBM/ProdData/OS400/Java40
0/jdk/lib/ibmcertpathprovider.jar:/QIBM/ProdData/OS400/Java400/ext/ibmpkcs.
jar:/QIBM/ProdData/OS400/Java400/jdk/lib/ibmjgssfw.jar:/QIBM/ProdData/OS400
/Java400/jdk/lib/ibmjgssprovider.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/s
ecurity.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/charsets.jar:/QIBM/ProdDat
a/OS400/Java400/jdk/lib/resources.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/
rt.jar:/QIBM/ProdData/OS400/Java400/jdk/lib/sunrsasign.jar:/QIBM/ProdData/O
S400/Java400/ext/IBMmisc.jar:/QIBM/ProdData/Java400/
java.class.path=/myhome/lib/commons-codec-1.3.jar:/myhome/lib/commons-httpc
lient-3.1.jar:/myhome/lib/commons-logging-1.1.jar:/myhome/lib/log4j-1.2.15.jar:/myhome/lib/log4j-core.jar
;
java.ext.dirs=/QIBM/ProdData/OS400/Java400/jdk/lib/ext:/QIBM/UserData/Java4
00/ext:/QIBM/ProdData/Java400/jdk14/lib/ext
java.library.path=/QSYS.LIB/ROBOTLIB.LIB:/QSYS.LIB/QTEMP.LIB:/QSYS.LIB/ODIP
GM.LIB:/QSYS.LIB/QGPL.LIB
........................................................................
. Garbage Collection                                                   .
........................................................................
Garbage collector parameters
   Initial size: 16384 K
   Max size: 240000000 K
Current values
   Heap size: 437952 K
   Garbage collections: 58
Additional values
   JIT heap size: 53824 K
   JVM heap size: 55752 K
   Last GC cycle time: 1333 ms
........................................................................
. Thread information                                                   .
........................................................................
Information for 4 thread(s) of 4 thread(s) processed
Thread:  00000004 Thread-0
  TDE:  B00380000BAA0000
  Thread priority: 5
  Thread status: Running
  Thread group: main
  Runnable: java/lang/Thread
 Stack:
    java/io/Os400FileSystem.list(Ljava/io/File;)[Ljava/lang/String;+0 (Os400FileSystem.java:0)
    java/io/File.list()[Ljava/lang/String;+19 (File.java:922)
    javax/crypto/b.e()[B+127 (:0)
    javax/crypto/b.a(Ljava/security/cert/X509Certificate;)V+7 (:0)
    javax/crypto/b.access$500(Ljava/security/cert/X509Certificate;)V+1 (:0)
    javax/crypto/b$0.run()Ljava/lang/Object;+98 (:0)
    javax/crypto/b.()V+507 (:0)
    javax/crypto/Mac.getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;+10 (:0)
 Locks:
    None
Thread:  00000007 jitcompilethread
  TDE:  B00380000BD58000
  Thread priority: 5
  Thread status: Java wait
  Thread group: system
  Runnable: java/lang/Thread
 Stack:
    None
 Locks:
    None
Thread:  00000005 Reference Handler
  TDE:  B00380000BAAC000
  Thread priority: 10
  Thread status: Waiting
  Wait object: java/lang/ref/Reference$Lock
  Thread group: system
  Runnable: java/lang/ref/Reference$ReferenceHandler
 Stack:
    java/lang/Object.wait()V+1 (Object.java:452)
    java/lang/ref/Reference$ReferenceHandler.run()V+47 (Reference.java:169)
 Locks:
    None
Thread:  00000006 Finalizer
  TDE:  B00380000BAB3000
  Thread priority: 8
  Thread status: Waiting
  Wait object: java/lang/ref/ReferenceQueue$Lock
  Thread group: system
  Runnable: java/lang/ref/Finalizer$FinalizerThread
 Stack:
    java/lang/ref/ReferenceQueue.remove(J)Ljava/lang/ref/Reference;+43 (ReferenceQueue.java:111)
    java/lang/ref/ReferenceQueue.remove()Ljava/lang/ref/Reference;+1 (ReferenceQueue.java:127)
    java/lang/ref/Finalizer$FinalizerThread.run()V+3 (Finalizer.java:171)
 Locks:
    None
........................................................................
. Class loader information                                             .
........................................................................
0 Default class loader
1 sun/reflect/DelegatingClassLoader
2 sun/misc/Launcher$ExtClassLoader
........................................................................
. GC heap information                                                  .
........................................................................
 Loader     Objects      Class name
 ------     -------      ----------
 0          1493         [C
 0          2122181      java/lang/String
 0          47           [Ljava/util/Hashtable$Entry;
 0          68           [Ljava/lang/Object;
 0          1016         java/lang/Class
 0          31           java/util/HashMap
 0          37           java/util/Hashtable
 0          2            java/lang/ThreadGroup
 0          2            java/lang/RuntimePermission
 0          2            java/lang/ref/ReferenceQueue$Null
 0          5            java/lang/ref/ReferenceQueue
 0          50           java/util/Vector
 0          4            java/util/Stack
 0          3            sun/misc/SoftCache
 0          1            [Ljava/lang/ThreadGroup;
 0          5            [Ljava/io/ObjectStreamField;
 0          1            sun/reflect/ReflectionFactory
 0          7            java/lang/ref/ReferenceQueue$Lock
 0          10           java/lang/Object
 0          1            java/lang/String$CaseInsensitiveComparator
 0          1            java/util/Hashtable$EmptyEnumerator
 0          1            java/util/Hashtable$EmptyIterator
 0          33           [Ljava/util/HashMap$Entry;
 0          19210        [J
 0          1            sun/nio/cs/StandardCharsets
 0          5            java/util/TreeMap
 0          1075         java/util/TreeMap$Entry
 0          469          [Ljava/lang/String;
 0          1            java/lang/StringBuffer
 0          2            java/io/FileInputStream
 0          2            java/io/FileOutputStream
 0          2            java/io/BufferedOutputStream
 0          1            java/lang/reflect/ReflectPermission
 0          1            [[Ljava/lang/ref/SoftReference;
 0          2            [Ljava/lang/ref/SoftReference;
 0          2            sun/nio/cs/Surrogate$Parser
 0          3            sun/misc/Signal
 0          1            [Ljava/io/File;
 0          6            java/io/File
 0          1            java/util/BitSet
 0          17           sun/reflect/NativeConstructorAccessorImpl
 0          2            java/net/URLClassLoader$ClassFinder
 0          12           java/util/ArrayList
 0          32           java/io/RandomAccessFile
 0          16           java/lang/Thread
 0          1            java/lang/ref/Reference$ReferenceHandler
 0          1            java/lang/ref/Finalizer$FinalizerThread
 0          266          [B
 0          2            java/util/Properties
 0          71           java/lang/ref/Finalizer
 0          2            com/ibm/nio/cs/DirectEncoder
 0          38           java/lang/reflect/Constructor
 0          33           java/util/jar/JarFile
 0          19200        java/lang/StackOverflowError
 0          5            java/security/AccessControlContext
 0          2            [Ljava/lang/Thread;
 0          4            java/lang/OutOfMemoryError
 0          1065         java/util/Hashtable$Entry
 0          1            java/io/BufferedInputStream
 0          2            java/io/PrintStream
 0          2            java/io/OutputStreamWriter
 0          428          [I
 0          3            java/lang/ClassLoader$NativeLibrary
 0          25           java/util/Locale
 0          3            sun/misc/URLClassPath
 0          30           java/util/zip/Inflater
 0          612          java/util/HashMap$Entry
 0          2            java/io/FilePermission
 0          10           java/io/ObjectStreamField
 0          1            java/security/BasicPermissionCollection
 0          2            java/security/ProtectionDomain
 0          1            java/lang/Integer$1
 0          1            java/lang/ref/Reference$Lock
 0          1            java/lang/Shutdown$Lock
 0          1            java/lang/Runtime
 0          36           java/io/FileDescriptor
 0          1            java/lang/Long$1
 0          202          java/lang/Long
 0          3            java/lang/ThreadLocal
 0          3            java/nio/charset/CodingErrorAction
 0          2            java/nio/charset/CoderResult
 0          1            java/nio/charset/CoderResult$1
 0          1            java/nio/charset/CoderResult$2
 0          1            sun/misc/Unsafe
 0          2            java/nio/ByteOrder
 0          1            java/io/Os400FileSystem
 0          3            java/lang/Boolean
 0          1            java/lang/Terminator$1
 0          23           java/lang/Integer
 0          2            sun/misc/NativeSignalHandler
 0          1            sun/misc/Launcher$Factory
 0          1            sun/misc/Launcher
 0          53           [Ljava/lang/Class;
 0          1            java/lang/reflect/ReflectAccess
 0          18           sun/reflect/DelegatingConstructorAccessorImpl
 0          1            sun/net/www/protocol/file/Handler
 0          3            java/util/HashSet
 0          3            sun/net/www/protocol/jar/Handler
 0          1            java/util/jar/JavaUtilJarAccessImpl
 0          1            java/net/UnknownContentHandler
 0          2            [Ljava/security/Principal;
 0          10           [Ljava/security/cert/Certificate;
 0          2            sun/misc/AtomicLongCSImpl
 0          3            sun/reflect/DelegatingMethodAccessorImpl
 0          1            sun/security/util/ByteArrayLexOrder
 0          1            sun/security/util/ByteArrayTagOrder
 0          7            sun/security/x509/CertificateVersion
 0          7            sun/security/x509/CertificateSerialNumber
 0          7            sun/security/x509/SerialNumber
 0          7            sun/security/x509/CertificateAlgorithmId
 0          7            sun/security/x509/CertificateIssuerName
 0          60           sun/security/x509/RDN
 0          60           [Lsun/security/x509/AVA;
 0          67           sun/security/util/DerInputStream
 0          3            [Ljava/math/BigInteger;
 0          2            com/ibm/nio/cs/Converter
 0          2            sun/nio/cs/StreamEncoder$CharsetSE
 0          35           java/lang/ref/SoftReference
 0          2            java/nio/HeapByteBuffer
 0          2            java/io/BufferedWriter
 0          33           sun/misc/URLClassPath$JarLoader
 0          4            java/lang/ThreadLocal$ThreadLocalMap$Entry
 0          76           java/net/URL
 0          1            sun/misc/Launcher$ExtClassLoader
 0          1            sun/misc/Launcher$AppClassLoader
 0          4            java/lang/Throwable
 0          7            java/lang/reflect/Method
 0          2            sun/misc/URLClassPath$FileLoader
 0          2            java/security/CodeSource
 0          2            java/security/Permissions
 0          2            java/io/FilePermissionCollection
 0          1            java/lang/ThreadLocal$ThreadLocalMap
 0          1            javax/crypto/spec/SecretKeySpec
 0          17           java/util/jar/Attributes$Name
 0          1            [Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 0          1            java/security/SecureRandom
 0          2            sun/security/provider/Sun
 0          1            java/util/jar/JarFile$JarFileEntry
 0          1            java/util/jar/JarVerifier
 0          3            sun/reflect/NativeMethodAccessorImpl
 0          116          sun/security/util/ObjectIdentifier
 0          1            java/lang/Package
 0          2            [S
 0          104          java/math/BigInteger
 0          20           sun/security/x509/AlgorithmId
 0          14           sun/security/x509/X500Name
 0          14           [Lsun/security/x509/RDN;
 0          60           sun/security/x509/AVA
 0          67           sun/security/util/DerValue
 0          67           sun/security/util/DerInputBuffer
 0          21           sun/security/x509/AVAKeyword
 0          6            sun/security/x509/X509CertImpl
 0          7            sun/security/x509/X509CertInfo
 0          1            [Lsun/security/util/ObjectIdentifier;
 0          1            [[Ljava/lang/Byte;
 0          3            [[B
 0          7            sun/security/provider/DSAPublicKey
 0          7            sun/security/x509/AuthorityKeyIdentifierExtension
 0          12           [Ljava/lang/Byte;
 0          14           java/lang/Byte
 0          7            sun/security/x509/CertificateSubjectName
 0          7            sun/security/x509/CertificateX509Key
 0          14           sun/security/x509/KeyIdentifier
 0          4            [Z
 0          5            sun/text/Normalizer$Mode
 0          7            sun/security/x509/CertificateValidity
 0          14           java/util/Date
 0          7            sun/security/provider/DSAParameters
 0          7            sun/security/util/BitArray
 0          7            sun/security/x509/CertificateExtensions
 0          7            java/security/AlgorithmParameters
 0          7            sun/security/x509/SubjectKeyIdentifierExtension
 0          5            sun/security/x509/BasicConstraintsExtension
 0          2            sun/security/x509/KeyUsageExtension
 0          1            sun/text/CompactCharArray
 0          1            sun/text/CompactByteArray
 0          1            sun/net/www/protocol/jar/JarFileFactory
 0          1            java/util/Collections$EmptySet
 0          1            java/util/Collections$EmptyList
 0          1            java/util/Collections$ReverseComparator
 0          1            com/ibm/security/jgss/i18n/PropertyResource
 0          1            javax/crypto/b$0
 0          1            sun/security/provider/X509Factory
 0          1            sun/reflect/BootstrapConstructorAccessorImpl
 1          1            sun/reflect/GeneratedConstructorAccessor3202134454
 2          1            com/ibm/crypto/provider/IBMJCE
 0          6            java/util/ResourceBundle$LoaderReference
 0          1            [Lsun/security/x509/NetscapeCertTypeExtension$MapEntry;
 0          1            com/sun/rsajca/Provider
 0          1            com/ibm/security/cert/IBMCertPath
 0          1            com/ibm/as400/ibmonly/net/ssl/Provider
 0          1            com/ibm/jsse/IBMJSSEProvider
 0          1            com/ibm/security/jgss/IBMJGSSProvider
 0          5            org/ietf/jgss/Oid
 0          1            java/util/PropertyResourceBundle
 0          7            java/util/ResourceBundle$ResourceCacheKey
 0          2            sun/net/www/protocol/jar/URLJarFile
 0          6            sun/misc/SoftCache$ValueCell
 0          1            java/util/Random
 0          1            java/util/Collections$EmptyMap
 0          112          com/ibm/security/util/ObjectIdentifier
 0          5            java/security/Security$ProviderProperty
 0          1            java/security/cert/CertificateFactory
 0          1            sun/security/provider/SecureRandom
 0          2            java/security/MessageDigest$Delegate
 0          2            sun/security/provider/SHA
 0          1            sun/util/calendar/ZoneInfo
 0          4            com/ibm/security/x509/X500Name
 0          2            [Ljava/security/cert/X509Certificate;
 0          1            sun/reflect/DelegatingClassLoader
 0          1            sun/security/x509/NetscapeCertTypeExtension
 0          7            sun/security/x509/NetscapeCertTypeExtension$MapEntry
 0          3            [[Ljava/lang/String;
 0          3            java/util/Arrays$ArrayList
 0          7            com/ibm/security/x509/NetscapeCertTypeExtension$MapEntry
 0          1            com/ibm/security/validator/EndEntityChecker
 0          1            java/util/AbstractList$Itr
 0          1            com/ibm/security/util/ByteArrayLexOrder
 0          1            com/ibm/security/util/ByteArrayTagOrder
 0          18           [Lcom/ibm/security/x509/AVA;
 0          18           com/ibm/security/util/DerInputStream
 0          5            com/ibm/security/util/text/Normalizer$Mode
 0          1            com/ibm/security/validator/SimpleValidator
 0          1            [Lcom/ibm/security/x509/NetscapeCertTypeExtension$MapEntry;
 0          4            [Lcom/ibm/security/x509/RDN;
 0          1            java/util/Hashtable$Enumerator
 0          4            java/util/LinkedHashMap$Entry
 0          1            sun/text/resources/LocaleElements
 0          1            sun/text/resources/LocaleElements_en
 0          22           com/ibm/security/x509/AVAKeyword
 0          4            javax/security/auth/x500/X500Principal
 0          18           com/ibm/security/x509/RDN
 0          18           com/ibm/security/x509/AVA
 0          18           com/ibm/security/util/DerInputBuffer
 0          18           com/ibm/security/util/DerValue
 0          1            com/ibm/security/util/text/CompactCharArray
 0          1            com/ibm/security/util/text/CompactByteArray
 0          2            java/util/LinkedHashMap
 0          1            java/net/InetAddress$1
 0          2            [Ljava/net/InetAddress;
 0          2            java/net/InetAddress$Cache
 0          1            java/net/Inet4AddressImpl
 0          3            java/net/Inet4Address
 0          2            java/net/InetAddress$CacheEntry
........................................................................
. Global registry information                                          .
........................................................................
 Loader     Objects      Class name
 ------     -------      ----------
 0          23           [C
 0          1017         java/lang/Class
 0          1            java/lang/ref/Reference$ReferenceHandler
 0          1            java/lang/ref/Finalizer$FinalizerThread
 0          1            sun/misc/Launcher$AppClassLoader
 0          32           java/io/RandomAccessFile
 0          32           [B

Can someone please advise me?

Thanks a lot,
Prasanna

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

和我恋爱吧 2024-09-13 04:59:29

问题似乎是

at java.io.Os400FileSystem.list(Native method)
at java.io.File.list(File.java:922)

Mac.getInstance() 代码需要读取由 Os400FileSystem.list() 方法完成的文件夹 (File.list)。显然该文件夹太大了。

您需要检查的第一件事是机器是否是最新的 PTF。如果问题仍然存在,请尝试为您的进程提供更多内存(JAVA/RUNJVA 命令的参数),看看您的内存是否太少了。默认值从 V5R3 增加到 V5R4。

The issue appears to be

at java.io.Os400FileSystem.list(Native method)
at java.io.File.list(File.java:922)

The Mac.getInstance() code needs to read a folder (File.list) which is being done by the Os400FileSystem.list() method. Apparently that folder is too large.

The first thing you need to check is that the machine is current on PTF's. If the problem remains, then try giving your process more memory (argument to the JAVA/RUNJVA command) to see if you just have a bit too little memory. The defaults were incremented from V5R3 to V5R4.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文