Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1768

StackOverflowError when finding an Entity with an Eager ManyToMany relationship.

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.0.0, 2.1.0
    • 2.2.0
    • datacache
    • None

    Description

      I ran across the following StackOverflowError when working on OPENJPA-1469. I haven't done much for analysis on this failure, but to recreate the exception set "openjpa.DataCache","true" to the test org.apache.openjpa.jdbc.kernel.TestM2MBiVersion.

      java.lang.StackOverflowError
      at java.util.HashMap.getEntry(HashMap.java:508)
      at java.util.HashMap.get(HashMap.java:496)
      at org.apache.openjpa.datacache.DataCacheManagerImpl.isCachable(DataCacheManagerImpl.java:157)
      at org.apache.openjpa.datacache.DataCacheManagerImpl.selectCache(DataCacheManagerImpl.java:140)
      at org.apache.openjpa.datacache.DataCacheStoreManager.load(DataCacheStoreManager.java:414)
      at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
      at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
      at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3047)
      at org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:451)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1127)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1033)
      at org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:221)
      at org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:168)
      at org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
      at org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:204)
      at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:174)
      at org.apache.openjpa.datacache.DataCacheStoreManager.load(DataCacheStoreManager.java:420)
      at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
      at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
      at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3047)
      at org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:451)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1127)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1033)
      at org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:221)
      at org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:168)
      at org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
      at org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:204)
      at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:174)
      at org.apache.openjpa.datacache.DataCacheStoreManager.load(DataCacheStoreManager.java:420)
      at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
      ......
      at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
      at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
      at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3047)
      at org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:451)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1127)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1033)
      at org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:221)
      at org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:168)
      at org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
      at org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:204)
      at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:154)
      at org.apache.openjpa.datacache.DataCacheStoreManager.loadAll(DataCacheStoreManager.java:487)
      at org.apache.openjpa.kernel.DelegatingStoreManager.loadAll(DelegatingStoreManager.java:122)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1104)
      at org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1033)
      at org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:221)
      at org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:168)
      at org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
      at org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:204)
      at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:154)
      at org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:368)
      at org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
      at org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
      at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1014)
      at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:972)
      at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:889)
      at org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:223)
      at org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:477)

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            mikedd Michael Dick
            curtisr7 Richard G. Curtis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment