9 Replies Latest reply: Oct 25, 2007 4:32 PM by 575203 RSS

    StackOverflowError from Sleepycat

    575203
      While running one thread inserting instances and two threads deleting instances in a transactionless and lockless environment I got a StackOverflowError after inserting some 237000 instances and having deleted some 168000 instances.

      I would not have been supprised by some lock-related exception, but not this. Any idea what might cause it? Is it stuck in some nasty eternal loop or deadlock? I can supply the complete code and testcase that produce the error.


      Exception in thread "Thread-1" java.lang.StackOverflowError
           at java.util.ArrayList.get(ArrayList.java:321)
           at com.sleepycat.persist.impl.PersistCatalog.getFormat(PersistCatalog.java:630)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:133)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
      238000
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.CollectionProxy$ArrayListProxy.bdbReadNonKeyFields(CollectionProxy.java)
           at com.sleepycat.persist.impl.EnhancedAccessor.readNonKeyFields(EnhancedAccessor.java:159)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.ProxiedFormat.newInstance(ProxiedFormat.java:83)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:135)
           at com.sleepycat.persist.impl.ReflectionAccessor$ObjectAccess.read(ReflectionAccessor.java:374)
           at com.sleepycat.persist.impl.ReflectionAccessor.readNonKeyFields(ReflectionAccessor.java:274)
           at com.sleepycat.persist.impl.ComplexFormat.readObject(ComplexFormat.java:472)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.ObjectArrayFormat.readObject(ObjectArrayFormat.java:121)
           at com.sleepycat.persist.impl.RecordInput.readObject(RecordInput.java:151)
           at com.sleepycat.persist.impl.CollectionProxy.bdbReadNonKeyFields(CollectionProxy.java)
        • 1. Re: StackOverflowError from Sleepycat
          Greybird-Oracle
          Hi Tony,

          We are looking into this. Is this blocking your work, or have you found a way around it?
          While running one thread inserting instances and two
          threads deleting instances in a transactionless and
          lockless environment I got a StackOverflowError after
          inserting some 237000 instances and having deleted
          some 168000 instances.

          I would not have been supprised by some lock-related
          exception, but not this. Any idea what might cause
          it? Is it stuck in some nasty eternal loop or
          deadlock? I can supply the complete code and testcase
          that produce the error.
          Yes, I agree that it is probably not caused by disabling locks.

          Thanks for your offer of a test case -- I will let you know if we need it.

          --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
          • 2. Re: StackOverflowError from Sleepycat
            575203
            We are looking into this. Is this blocking your work, or have you found a way around it?
            Not blocking. But it makes the application slower (less threads) from time to time.
            • 3. Re: StackOverflowError from Sleepycat
              Greybird-Oracle
              Hi Tony,

              Just a status update on this issue: We were able to reproduce the problem with a persistent object containing an ArrayList, where the ArrayList has itself as one of its elements. I assume you're doing something similar. We'll work on a fix.

              --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
              • 4. Re: StackOverflowError from Sleepycat
                Greybird-Oracle
                I've isolated this problem and it turns out to be more of a missing capability than a simple bug. An instance of a proxied class cannot currently contain a reference to itself. So ArrayList, which is a proxied class, cannot contain itself as one of its elements.

                To support this capability we'll need to add an extended PersistentProxy interface that supports this type of embedded self reference. The proxied object must first be instantiated, and its contents then initialized separately. For the ArrayList proxy and other built-in collection proxies, we'll implement this new interface. For user defined proxies that may contain self references, they will also need to implement this new interface.

                This capability may take some time to implement, and we would prefer to add it in a future release.

                Tony, can you work around this by not adding an ArrayList as an element of itself?

                If there are others reading this who are using collections or custom proxies, can you avoid this situation also?

                --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
                • 5. Re: StackOverflowError from Sleepycat
                  575203
                  Tony, can you work around this by not adding an
                  ArrayList as an element of itself?
                  That is really not what I'm doing though. In fact there are no backrefereces at all.

                  I only get the error when I run multiple threads deleting instances of the same class at the same time as I'm inserting them. I.e. I add data to a queue and as it grows to a specific size I start processing it in another another thread that will delete each instance as it has been processed.

                  My code is here: https://issues.apache.org/jira/browse/LUCENE-626
                  You will need to check out Lucene from the SVN trunk and apply the patch.
                  Also, it depends on LUCENE-550.

                  If you want I could supply you with a tarball or something.

                  TestGoalJuror.testImportData contains the code that produce the exception (commented out).
                  • 6. Re: StackOverflowError from Sleepycat
                    Greybird-Oracle
                    Tony, can you work around this by not adding an
                    ArrayList as an element of itself?
                    That is really not what I'm doing though. In fact
                    there are no backrefereces at all.
                    Interesting. I was able to reproduce the same stack overflow you reported by adding the ArrayList as an element of itself. It is possible you have some shared state between threads that could cause this (ArrayList as element of itself) to happen unintentionally?

                    If this doesn't ring a bell, could you please create a tar ball and instructions for me to reproduce the test? Please send me email (mark.hayes at the obvious .com) and I'll give you an FTP upload location.

                    Thanks,
                    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                    • 7. Re: StackOverflowError from Sleepycat
                      575203
                      Interesting. I was able to reproduce the same stack
                      overflow you reported by adding the ArrayList as an
                      element of itself. It is possible you have some
                      shared state between threads that could cause this
                      (ArrayList as element of itself) to happen
                      unintentionally?
                      This is the closest thing I have:

                      @Entity
                      public class QuerySession<R> {
                      @PrimaryKey
                      private String id;
                      private long lastTouched = System.currentTimeMillis();
                      private long expirationTimeMilliseconds = defaultExpirationTimeMilliseconds;
                      private List<QueryGoalNode<R>> nodes = new ArrayList<QueryGoalNode<R>>();
                      }

                      @Persistent
                      public class QueryGoalNode<R> {
                      private QueryGoalNode<R> parent;
                      private List<QueryGoalNode<R>> children = new ArrayList<QueryGoalNode<R>>();
                      }

                      The session will contain all nodes recusive in a list, and all nodes will reference thier children, but there are never any cyclic references.

                      What strikes me as strange is that I do not get the exception when not stressing the BDB.


                      I only have two more classes I persist in the BDB:

                      @Entity
                      public class SuggestionList implements Iterable<Suggestion> {
                      @PrimaryKey
                      private String query;
                      private List<Suggestion> suggestions = new LinkedList<Suggestion>();
                      }

                      @Persistent
                      public class Suggestion implements Comparable<Suggestion> {
                      private String suggested;
                      private double score = 1d;
                      private Integer corpusQueryResults;
                      }

                      I'll send you an email.
                      • 8. Re: StackOverflowError from Sleepycat
                        Greybird-Oracle
                        FYI, the StackOverflowError in this case was caused by an exceptionally deep nesting of objects within an entity. Tony will avoid the error by preventing such deep nesting.

                        The other problem I mentioned above is something that has not been reported as a difficiency: Proxied objects (such as a collection) may not currently contain themselves. For the next JE release, this has been improved to throw an IllegalArgumentException rather than allowing a StackOverflowError to occur. We currently have no plans to support this type of cyclic reference.

                        Here is the change log for the next JE release:
                        """
                        Before, when a proxied object contained an embedded reference to itself, this caused StackOverflowException. Now, a more meaningful IllegalArgumentException is thrown. This occurs, for example, if a container (List, Map, etc) contains itself as an element, since containers are proxied. This limitation is now documented in the PersistentProxy class description. The Entity class description also mentions a limitation on nested object depth (12,000 is the practical maximum depth) and exceeding this limit can cause stack overflow.
                        """

                        --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                        • 9. Re: StackOverflowError from Sleepycat
                          575203
                          FYI, the StackOverflowError in this case was caused
                          by an exceptionally deep nesting of objects within an
                          entity. Tony will avoid the error by preventing such
                          deep nesting.
                          It is also worth noting that the JVM argument -Xss will increase the stack and allow a deeper nesting. However, -Xss is a per thread setting, i.e. -Xss1G will reuire 1G of RAM per running thread.


                          --
                          Tony