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() {


Reply via email to