openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "kobe valiant (JIRA)" <j...@apache.org>
Subject [jira] Updated: (OPENJPA-551) Exception in thread "Timer-0" java.lang.StackOverflowError after persist many times
Date Thu, 03 Apr 2008 04:04:24 GMT

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

kobe valiant updated OPENJPA-551:
---------------------------------

    Description: 
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)

  was:
I don't have any idea why and when it happens.
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)

        Summary: Exception in thread "Timer-0" java.lang.StackOverflowError after persist
many times  (was: Exception in thread "Timer-0" java.lang.StackOverflowError)

> 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message