Author: ppoddar
Date: Tue Feb 20 09:57:24 2007
New Revision: 509688
URL: http://svn.apache.org/viewvc?view=rev&rev=509688
Log:
Prevent access to the pc fields by implictly invoking _pc.toString() as that
may cause infinite loop if toString() again tries to access unloaded field(s)
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java?view=diff&rev=509688&r1=509687&r2=509688
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
Tue Feb 20 09:57:24 2007
@@ -396,8 +396,10 @@
public void accessingField(int idx) {
if (!_access && !_loaded.get(idx))
+ // do not access the pc fields by implictly invoking
_pc.toString()
+ // may cause infinite loop if again tries to access unloaded
field
throw new IllegalStateException(_loc.get("unloaded-detached",
- _pc).getMessage());
+ _pc.getClass()+"@"+System.identityHashCode(_pc)).getMessage());
}
public boolean serializing() {