Skip to Main Content

Chinese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ChangeAwareClassLoader.loadClass Deadlock

User_V5DTEJan 16 2023

环境:
jDK oracle1.8. 1.8.0_181-b13
应用平台:original
应用服务器:webLogic12c
关键要素:
1、死锁日志在cwgspjglapp1.out44896 的23057
<Jan 12, 2023 10:01:45,507 AM CST> <Critical> <WebLogicServer> <BEA-000394> <Deadlock detected:
23058 [deadlocked thread] CpesReceive-T-32:
23059 ------------------------------------
23060 Thread 'CpesReceive-T-32' is waiting to acquire lock 'weblogic.utils.classloaders.ChangeAwareClassLoader@25c99419' that is held by thread 'CpesReceive-T-6'
23061
23062 Stack trace:
23063 ------------
23064 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:81)
23065 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
23066 org.bouncycastle.math.ec.ECCurve.createDefaultMultiplier(Unknown Source)
23067 org.bouncycastle.math.ec.ECCurve.getMultiplier(Unknown Source)
23068 org.bouncycastle.math.ec.ECPoint.multiply(Unknown Source)
23069 org.bouncycastle.crypto.engines.SM2Engine.decrypt(Unknown Source)
23070 org.bouncycastle.crypto.engines.SM2Engine.processBlock(Unknown Source
...
23086 [deadlocked thread] CpesReceive-T-6:
23087 -----------------------------------
23088 Thread 'CpesReceive-T-6' is waiting to acquire lock 'java.lang.Object@367be406' that is held by thread 'CpesReceive-T-11'
23089
23090 Stack trace:
23091 ------------
23092 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:68)
23093 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
23094 java.lang.ClassLoader.defineClass1(Native Method)
23095 java.lang.ClassLoader.defineClass(ClassLoader.java:763)
23096 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
23097 weblogic.utils.classloaders.GenericClassLoader.defineClassInternal(GenericClassLoader.java:1113)
23098 weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:1046)
23099 weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1038)
23100 weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
23101 weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
23102 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:82)
23103 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
23104 org.bouncycastle.math.ec.ECCurve.createDefaultMultiplier(Unknown Source)
23105 org.bouncycastle.math.ec.ECCurve.getMultiplier(Unknown Source)
23106 org.bouncycastle.math.ec.ECPoint.multiply(Unknown Source)

23107
...
23124 [deadlocked thread] CpesReceive-T-11:
23125 ------------------------------------
23126 Thread 'CpesReceive-T-11' is waiting to acquire lock 'weblogic.utils.classloaders.ChangeAwareClassLoader@25c99419' that is held by thread 'CpesReceive-T-6'
23127
23128 Stack trace:
23129 ------------
23130 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:81)
23131 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
23132 org.bouncycastle.math.ec.ECCurve.createDefaultMultiplier(Unknown Source)
23133 org.bouncycastle.math.ec.ECCurve.getMultiplier(Unknown Source)
23134 org.bouncycastle.math.ec.ECPoint.multiply(Unknown Source)
23135 org.bouncycastle.crypto.engines.SM2Engine.decrypt(Unknown Source)
23136 org.bouncycastle.crypto.engines.SM2Engine.processBlock(Unknown Source)
23137 com.resoft.baseoriginal.bill.platform.common.utils.sm.Sm2Util.decrypt(Sm2Util.java:107)

23138

2、系统宕机在cwgspjglapp1.out 中 27217行

27217 #
27218 # A fatal error has been detected by the Java Runtime Environment:
27219 #
27220 # SIGSEGV (0xb) at pc=0x00007f421d78bac9, pid=114471, tid=0x00007f38b3bf7700
27221 #
27222 # JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
27223 # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode linux-amd64 )
27224 # Problematic frame:
27225 # C [libc.so.6+0xc0ac9] readdir+0x29
27226 #
27227 # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
27228 #
27229 # Can not save log file, dump to screen..
27230 #
27231 # A fatal error has been detected by the Java Runtime Environment:
27232 #
27233 # SIGSEGV (0xb) at pc=0x00007f421d78bac9, pid=114471, tid=0x00007f38b3bf7700
27234 #
27235 # JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
27236 # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode linux-amd64 )
27237 # Problematic frame:
27238 # C [libc.so.6+0xc0ac9] readdir+0x29
27239 #

除了那个报错之外,系统宕机之后联系启动系统两次均未成功,报错信息也是在loadClass方法,但不是因为加解密调起的,日志如下:
28362 <Jan 12, 2023 3:14:15,207 PM CST> <Critical> <WebLogicServer> <BEA-000394> <Deadlock detected:
28363 [deadlocked thread] pool-96-thread-1:
28364 ------------------------------------
28365 Thread 'pool-96-thread-1' is waiting to acquire lock 'weblogic.utils.classloaders.ChangeAwareClassLoader@5b462b55' that is held by thread 'pool-17-thread-1'
28366
28367 Stack trace:
28368 ------------
28369 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:81)
28370 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
28371 com.resoft.baseoriginal.bill.application.core.api.ESBSysSeqApi.getSysSeq(ESBSysSeqApi.java:18)
28372 com.resoft.baseoriginal.bill.eai.swt.message.ReqESBBase.<init>(ReqESBBase.java:34)
28373 com.resoft.baseoriginal.bill.eai.swt.message.ltts.ElecShangpiaoAccountReq.<init>(ElecShangpiaoAccountReq.java:22)
28374 com.resoft.baseoriginal.bill.application.cpes.notradbusi.prmtpay.logic.PrmtpayLogic.buildElecAcctDate(PrmtpayLogic.java:2986)
28375 com.resoft.baseoriginal.bill.application.cpes.notradbusi.prmtpay.logic.PrmtpayLogic.buildApplyAcctDateNcpe(PrmtpayLogic.java:2558)
28376 com.resoft.baseoriginal.bill.application.cpes.notradbusi.prmtpay.logic.PrmtpayLogic.autoAccountNcpe(PrmtpayLogic.java:2093)
28377
...
28388 [deadlocked thread] pool-17-thread-1:
28389 ------------------------------------
28390 Thread 'pool-17-thread-1' is waiting to acquire lock 'java.lang.Object@391c1fa5' that is held by thread 'pool-13-thread-1'
28391
28392 Stack trace:
28393 ------------
28394 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:68)
28395 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
28396 java.lang.ClassLoader.defineClass1(Native Method)
28397 java.lang.ClassLoader.defineClass(ClassLoader.java:763)
28398 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
28399 weblogic.utils.classloaders.GenericClassLoader.defineClassInternal(GenericClassLoader.java:1113)
28400 weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:1046)
28401 weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1038)
28402 weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
28403 weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
28404 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:82)
28405 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
28406 org.apache.xerces.impl.xs.XSDeclarationPool.<init>(Unknown Source)
28407 org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
28408 org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
28409 org.apache.xerces.jaxp.validation.XMLSchemaFactory.<init>(Unknown Source)
28410
...
28449 [deadlocked thread] pool-13-thread-1:
28450 ------------------------------------
28451 Thread 'pool-13-thread-1' is waiting to acquire lock 'weblogic.utils.classloaders.ChangeAwareClassLoader@5b462b55' that is held by thread 'pool-17-thread-1'
28452
28453 Stack trace:
28454 ------------
28455 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:81)
28456 weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
28457 org.apache.xerces.impl.xs.XSDeclarationPool.<init>(Unknown Source)
28458 org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
28459 org.apache.xerces.impl.xs.XMLSchemaLoader.<init>(Unknown Source)
28460 org.apache.xerces.jaxp.validation.XMLSchemaFactory.<init>(Unknown Source)
28461 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
28462 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
28463 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
28464 java.lang.reflect.Constructor.newInstance(Constructor.java:423)
28465 java.lang.Class.newInstance(Class.java:442)
28466 java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
28467 java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
28468 java.util.ServiceLoader$1.next(ServiceLoader.java:480)
28469 javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:351)
28470 javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:347)
28471 java.security.AccessController.doPrivileged(Native Method)
28472 javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:347)
28473 javax.xml.validation.SchemaFactoryFinder._newFactory(SchemaFactoryFinder.java:219)
28474 javax.xml.validation.SchemaFactoryFinder.newFactory(SchemaFactoryFinder.java:146)
28475 javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:213)

28476 com.resoft.baseoriginal.bill.eai.swt.common.SchemaValidatorUtil.validate(SchemaValidatorUtil.java:34)

Comments

Post Details