You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2011/02/17 05:02:24 UTC

[jira] Closed: (OPENJPA-551) Exception in thread "Timer-0" java.lang.StackOverflowError after persist many times

     [ https://issues.apache.org/jira/browse/OPENJPA-551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick closed OPENJPA-551.
--------------------------------

    Resolution: Cannot Reproduce

I wasn't able to reproduce on trunk. Please reopen if you still see the problem. 

> Exception in thread "Timer-0" java.lang.StackOverflowError after persist many times
> -----------------------------------------------------------------------------------
>
>                 Key: OPENJPA-551
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-551
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.0.2
>         Environment: windows xp
>            Reporter: kobe valiant
>            Priority: Blocker
>
> There's StackOverflowError after EntityManager.persist many times, say about 1500 times
> Here's part of stack trace:
> Exception in thread "Timer-0" java.lang.StackOverflowError
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.openjpa.enhance.Reflection.getDeclaredField(Reflection.java:201)
> 	at org.apache.openjpa.enhance.Reflection.findField(Reflection.java:180)
> 	at org.apache.openjpa.enhance.com$tailenet$songstat$domain$Record$pcsubclass.pcProvideField(Unknown Source)
> 	at org.apache.openjpa.kernel.StateManagerImpl.provideField(StateManagerImpl.java:2978)
> 	at org.apache.openjpa.kernel.SaveFieldManager.isFieldEqual(SaveFieldManager.java:185)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:807)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)
> 	at org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3857)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1572)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1485)
> 	at org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.java:808)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.java:4621)
> 	at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.java:4361)
> 	at org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.java:3740)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira