![]() |
![]() |
|
[
Permalink
| « Hide
]
Andy Jefferson added a comment - 11/Sep/06 03:10 PM
I dont see the JPOX-compliant testcase (see Bug Reporting guide)
Replacing the old JPOX version 1.1.1 it works... I'll post a test case
Related to http://www.jpox.org/servlet/jira/browse/CORE-2910
and you probably have maxFetchDepth as -1 ? While I respect users wanting to raise issues as "Blocker"s they must provide a testcase so we have a chance of reproducing exactly what is "blocking". Downgraded to Major until a testcase is provided
With the just downloaded version 1.1.3 anything works! ;-)
Marking as fixed then :-) If it reoccurs we reopen it but will need a way of reproducing.
I'm getting a very similar issue using 1.1.5. Stack trace below.
I'm guessing this is because there was a bug in our code where we have a friendship Set inside a Member object and the code was adding the same Member instance to this set. A person being a friend of themselves! I realise I need to create a test case and also update to version 2 of DataNucleus. However, can an expert at least suggest when this might be happening as it doesn't seem to happen all the time. For example, we have ehcache, is it when the object is retrieved from the cache rather than DB? I'm just hoping the stack trace below might give this signature? It would help me in creating a test case for you. java.lang.StackOverflowError at java.security.AccessController.doPrivileged(Native Method) at org.datanucleus.state.JDOStateManagerImpl.replaceStateManager(JDOStateManagerImpl.java:992) at org.datanucleus.state.JDOStateManagerImpl.initialiseForDetached(JDOStateManagerImpl.java:552) at org.datanucleus.state.JDOStateManagerImpl.initialiseForCachedPC(JDOStateManagerImpl.java:596) at org.datanucleus.state.StateManagerFactory.newStateManagerForCachedPC(StateManagerFactory.java:216) at org.datanucleus.ObjectManagerImpl.getObjectFromCache(ObjectManagerImpl.java:3647) at org.datanucleus.ObjectManagerImpl.findObject(ObjectManagerImpl.java:2208) at org.datanucleus.store.fieldmanager.CacheRetrieveFieldManager.fetchObjectField(CacheRetrieveFieldManager.java:178) at org.datanucleus.state.AbstractStateManager.replacingObjectField(AbstractStateManager.java:1197) at net.playtxt.member.Member.jdoReplaceField(Member.java) at net.playtxt.member.Member.jdoReplaceFields(Member.java) at org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl.java:2772) at org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl.java:2791) at org.datanucleus.state.JDOStateManagerImpl.initialiseForCachedPC(JDOStateManagerImpl.java:602) at org.datanucleus.state.StateManagerFactory.newStateManagerForCachedPC(StateManagerFactory.java:216) at org.datanucleus.ObjectManagerImpl.getObjectFromCache(ObjectManagerImpl.java:3647) at org.datanucleus.ObjectManagerImpl.findObject(ObjectManagerImpl.java:2208) at org.datanucleus.store.fieldmanager.CacheRetrieveFieldManager.fetchObjectField(CacheRetrieveFieldManager.java:90) at org.datanucleus.state.AbstractStateManager.replacingObjectField(AbstractStateManager.java:1197) at net.playtxt.member.MemberInteract.jdoReplaceField(MemberInteract.java) at net.playtxt.member.MemberInteract.jdoReplaceFields(MemberInteract.java) at org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl.java:2772) at org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl.java:2791) at org.datanucleus.state.JDOStateManagerImpl.initialiseForCachedPC(JDOStateManagerImpl.java:602) at org.datanucleus.state.StateManagerFactory.newStateManagerForCachedPC(StateManagerFactory.java:216) at org.datanucleus.ObjectManagerImpl.getObjectFromCache(ObjectManagerImpl.java:3647) at org.datanucleus.ObjectManagerImpl.findObject(ObjectManagerImpl.java:2208) at org.datanucleus.store.fieldmanager.CacheRetrieveFieldManager.fetchObjectField(CacheRetrieveFieldManager.java:178) at org.datanucleus.state.AbstractStateManager.replacingObjectField(AbstractStateManager.java:1197) at net.playtxt.member.Member.jdoReplaceField(Member.java) at net.playtxt.member.Member.jdoReplaceFields(Member.java) |
|||||||||||||||||||||||||||||||||||||||||