[ 
https://issues.apache.org/jira/browse/OPENJPA-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573553#comment-13573553
 ] 

Kevin Sutter commented on OPENJPA-2330:
---------------------------------------

Hi,
Can you give some more details on your environment and the scenario that is 
causing this failure?  I can see where it looks like a potential issue with the 
PersistenceUtils, but what was the user scenario that got you into this mess?  
We have some tests (junit, functional, cts) that utilize the PersistenceUtils.  
We would need some more information, preferably a junit, in order to recreate 
the error.  Thanks!
                
> Stackoverflow due to endless recursive calls
> --------------------------------------------
>
>                 Key: OPENJPA-2330
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2330
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.2.0, 2.2.1
>            Reporter: Guillaume Chauvet
>            Priority: Critical
>
> We wish to report another bug that generates a memory overflow resulting in 
> an infinite recursive loop. Here are two stacktraces apparently from the same 
> bug:
> First stacktrace sample :
> ================================================
> Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
>       at java.util.LinkedHashMap$KeyIterator.<init>(LinkedHashMap.java:383)
>       at java.util.LinkedHashMap$KeyIterator.<init>(LinkedHashMap.java:383)
>       at java.util.LinkedHashMap.newKeyIterator(LinkedHashMap.java:396)
>       at java.util.HashMap$KeySet.iterator(HashMap.java:874)
>       at java.util.HashSet.iterator(HashSet.java:153)
>       at 
> org.apache.openjpa.util.java$util$LinkedHashSet$proxy.iterator(Unknown Source)
>       at java.util.AbstractCollection.toArray(AbstractCollection.java:120)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedCollection(OpenJPAPersistenceUtil.java:240)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:212)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedArray(OpenJPAPersistenceUtil.java:265)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedCollection(OpenJPAPersistenceUtil.java:242)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:212)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:223)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:223)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedArray(OpenJPAPersistenceUtil.java:265)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedCollection(OpenJPAPersistenceUtil.java:242)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:212)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:223)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
> [...]
> Second stacktrace sample :
> ================================================
> Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
>       at java.util.HashMap$EntrySet.size(HashMap.java:963)
>       at 
> org.apache.openjpa.util.ProxyMaps$ProxyEntrySetImpl.size(ProxyMaps.java:255)
>       at java.util.AbstractCollection.toArray(AbstractCollection.java:119)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedMap(OpenJPAPersistenceUtil.java:288)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:215)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedArray(OpenJPAPersistenceUtil.java:265)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedCollection(OpenJPAPersistenceUtil.java:242)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:212)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedArray(OpenJPAPersistenceUtil.java:265)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedCollection(OpenJPAPersistenceUtil.java:242)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:212)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:223)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoadedField(OpenJPAPersistenceUtil.java:223)
>       at 
> org.apache.openjpa.persistence.OpenJPAPersistenceUtil.isLoaded(OpenJPAPersistenceUtil.java:161)
> [...]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to