-
1. Re: JBPM and Drools 6.2.0 Final throws java.io.OptionalDataException when deepClone is invoked in org.drools.core.util.ClassUtils when high concurrency
advommen Sep 1, 2015 11:53 AM (in response to qiuhao.zheng)Today we encountered what seems to me the very same error. We do use 6.1.0 Final and received the following
java.lang.RuntimeException: java.io.InvalidObjectException: Illegal mappings count: -2
org.drools.core.util.ClassUtils.deepClone(ClassUtils.java:514)
org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:770)
org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:66)
org.drools.core.impl.KnowledgeBaseImpl.addPackages(KnowledgeBaseImpl.java:722)
org.drools.core.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:266)
org.drools.impl.adapters.KnowledgeBaseAdapter.addKnowledgePackages(KnowledgeBaseAdapter.java:38)
....
-
2. Re: JBPM and Drools 6.2.0 Final throws java.io.OptionalDataException when deepClone is invoked in org.drools.core.util.ClassUtils when high concurrency
advommen Sep 1, 2015 12:00 PM (in response to advommen)In addition to my previous reply, we even have a more detailed root cause:
java.io.InvalidObjectException: Illegal mappings count: -2
java.util.HashMap.readObject(HashMap.java:1159)
sun.reflect.GeneratedMethodAccessor5553.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.jbpm.workflow.core.DroolsAction.readExternal(DroolsAction.java:61)
org.jbpm.workflow.core.impl.DroolsConsequenceAction.readExternal(DroolsConsequenceAction.java:49)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.drools.core.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:198)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
java.util.HashMap.readObject(HashMap.java:1180)
sun.reflect.GeneratedMethodAccessor5553.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.drools.core.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:59)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.drools.core.definitions.impl.KnowledgePackageImpl.readExternal(KnowledgePackageImpl.java:284)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
org.drools.core.util.ClassUtils.deepClone(ClassUtils.java:511)
org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:770)
org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:66)
org.drools.core.impl.KnowledgeBaseImpl.addPackages(KnowledgeBaseImpl.java:722)
-
3. Re: JBPM and Drools 6.2.0 Final throws java.io.OptionalDataException when deepClone is invoked in org.drools.core.util.ClassUtils when high concurrency
advommen Nov 12, 2015 7:47 AM (in response to qiuhao.zheng)Once again, under heavy load, we have yet another almost similar exception (Drools 6.1.0.Final)
exception: java.io.NotSerializableException: com.pwc.fdb.Process_com$u46$pwc$u46$fdb$u46$FdbRuleFlowMaster609832596Action0Invoker
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at java.util.HashMap.writeObject(HashMap.java:1129) [rt.jar:1.7.0_80]
at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source) [:1.7.0_80]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_80]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_80]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at org.jbpm.workflow.core.DroolsAction.writeExternal(DroolsAction.java:69) [jbpm-flow-6.1.0.Final.jar:6.1.0.Final]
at org.jbpm.workflow.core.impl.DroolsConsequenceAction.writeExternal(DroolsConsequenceAction.java:42) [jbpm-flow-6.1.0.Final.jar:6.1.0.Final]
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at org.drools.core.rule.JavaDialectRuntimeData.writeExternal(JavaDialectRuntimeData.java:136) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at java.util.HashMap.writeObject(HashMap.java:1129) [rt.jar:1.7.0_80]
at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source) [:1.7.0_80]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_80]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_80]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at org.drools.core.rule.DialectRuntimeRegistry.writeExternal(DialectRuntimeRegistry.java:48) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at org.drools.core.definitions.impl.KnowledgePackageImpl.writeExternal(KnowledgePackageImpl.java:237) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [rt.jar:1.7.0_80]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [rt.jar:1.7.0_80]
at org.drools.core.util.ClassUtils.deepClone(ClassUtils.java:508) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:770) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at org.drools.core.definitions.impl.KnowledgePackageImpl.deepCloneIfAlreadyInUse(KnowledgePackageImpl.java:66) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at org.drools.core.impl.KnowledgeBaseImpl.addPackages(KnowledgeBaseImpl.java:722) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at org.drools.core.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:266) [drools-core-6.1.0.Final.jar:6.1.0.Final]
at org.drools.impl.adapters.KnowledgeBaseAdapter.addKnowledgePackages(KnowledgeBaseAdapter.java:38) [knowledge-api-6.1.0.Final.jar:6.1.0.Final]
at com.pwc.fdb.utils.DroolsUtil.doDroolsHybrid(DroolsUtil.java:319) [classes:]