[ https://issues.apache.org/jira/browse/XMLBEANS-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17566843#comment-17566843 ]
PJ Fanning commented on XMLBEANS-616: ------------------------------------- If I ran into a problem like this, I would warm up the JVM by using the XmlBeans code in a single thread before allowing it be used in multiple threads. Java class loading can be pretty brittle when you get lots of threads trying to load the same classes at the same time. This is one of the reasons that I would recommend using the latest Java runtime too. > is there a dead lock in loading the SOAP Service Concurrently > ------------------------------------------------------------- > > Key: XMLBEANS-616 > URL: https://issues.apache.org/jira/browse/XMLBEANS-616 > Project: XMLBeans > Issue Type: Bug > Reporter: yanglinfu > Priority: Major > Attachments: 007337a1-7e50-40bc-ac1f-d2ebd469f095.png, 1.7z, > 2a6c2727-50e1-4ccc-a2f5-33abd746117a.png, > 40f87ce3-cbcd-495e-9ce7-0ae861a3bdb7.png, > b3d30bc4-a060-419a-b990-503b188fe262.png, image-2022-07-14-09-54-42-466.png, > image-2022-07-14-09-55-15-029.png, image-2022-07-14-14-04-52-429.png > > > *i have 10 threads to loading the SOAP Service Concurrently,and i find a dead > lock in xmlBeans's some class loading process.* > Thread1 info: > "pool-13-thread-9" #120 prio=5 os_prio=0 tid=0x00002ae578872800 nid=0x19b4 in > Object.wait() [0x00002ae5c1814000] > java.lang.Thread.State: RUNNABLE > at org.apache.xmlbeans.XmlBeans.getNoType(XmlBeans.java:504) > at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:517) > at > org.apache.xmlbeans.impl.schema.XmlObjectFactory.<init>(XmlObjectFactory.java:41) > at org.apache.xmlbeans.XmlObject.<clinit>(XmlObject.java:128) > at sun.misc.Unsafe.ensureClassInitialized(Native Method) > at > sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) > at > sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) > at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) > at java.lang.reflect.Field.getFieldAccessor(Field.java:1069) > at java.lang.reflect.Field.get(Field.java:393) > > Thread2 info : > "pool-13-thread-1" #112 prio=5 os_prio=0 tid=0x00002ae578861800 nid=0x19ab in > Object.wait() [0x00002ae5c100c000] > java.lang.Thread.State: RUNNABLE > at > org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.<clinit>(SchemaTypeLoaderBase.java:38) > at > com.***.***.service.QueryRecommendOfferingsReqMsgDocument.<clinit>(QueryRecommendOfferingsReqMsgDocument.java:23) > at sun.misc.Unsafe.ensureClassInitialized(Native Method) > at > sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) > at > sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) > at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) > at java.lang.reflect.Field.getFieldAccessor(Field.java:1069) > at java.lang.reflect.Field.get(Field.java:393) > > *xmlBeans code analyze* > 1.the object XmlBeans init is waiting for BuiltinSchemaTypeSystem inited > !007337a1-7e50-40bc-ac1f-d2ebd469f095.png! > 2. BuiltinSchemaTypeSystem is the sub class of SchemaTypeLoaderBase ,so > BuiltinSchemaTypeSystem is inited after SchemaTypeLoaderBase ; > !b3d30bc4-a060-419a-b990-503b188fe262.png! > 3. SchemaTypeLoaderBase init is need XmlBeans init in line 38; > > !2a6c2727-50e1-4ccc-a2f5-33abd746117a.png! > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org