Looks to me that PCClassFileTransformer is clicking off a second defineClass
before the first define class is complete. See the code beginning with
"*******". I would seem that you can't enhance a class that hasn't been
defined yet and hence this needs to happen at a later time after the define.

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:64816       
        Thread [main] (Suspended)       
                owns: Vector<E>  (id=12323)     
                owns: Object  (id=12288)        
                Vector<E>.addElement(E) line: 615       
                Launcher$AppClassLoader(ClassLoader).addClass(Class) line: 263  
*********ClassLoader.defineClass1(String, byte[], int, int,
ProtectionDomain, String) line: not available [native method]   
                Launcher$AppClassLoader(ClassLoader).defineClass(String, 
byte[], int, int,
ProtectionDomain) line: 792     
                Launcher$AppClassLoader(SecureClassLoader).defineClass(String, 
byte[],
int, int, CodeSource) line: 142 
                Launcher$AppClassLoader(URLClassLoader).defineClass(String, 
Resource)
line: 449       
                URLClassLoader.access$100(URLClassLoader, String, Resource) 
line: 71    
                URLClassLoader$1.run() line: 361        
                URLClassLoader$1.run() line: 355        
                AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]       
                Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 
354     
                Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) 
line: 424       
                Launcher$AppClassLoader.loadClass(String, boolean) line: 308    
                Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 
357        
                Class<T>.forName0(String, boolean, ClassLoader) line: not 
available
[native method] 
                Class<T>.forName(String, boolean, ClassLoader) line: 270        
                TemporaryClassLoader.loadClass(String, boolean) line: 78        
                TemporaryClassLoader.loadClass(String) line: 44 
                Class<T>.forName0(String, boolean, ClassLoader) line: not 
available
[native method] 
                Class<T>.forName(String, boolean, ClassLoader) line: 270        
                PCClassFileTransformer.needsEnhance(String, Class, byte[]) 
line: 198    
                PCClassFileTransformer.transform0(String, Class, byte[]) line: 
139      
                PCClassFileTransformer.transform(ClassLoader, String, Class,
ProtectionDomain, byte[]) line: 126     
                TransformerManager.transform(ClassLoader, String, Class, 
ProtectionDomain,
byte[]) line: 188       
                InstrumentationImpl.transform(ClassLoader, String, Class,
ProtectionDomain, byte[], boolean) line: 424    
*********ClassLoader.defineClass1(String, byte[], int, int,
ProtectionDomain, String) line: not available [native method]   
                Launcher$AppClassLoader(ClassLoader).defineClass(String, 
byte[], int, int,
ProtectionDomain) line: 792     
                Launcher$AppClassLoader(SecureClassLoader).defineClass(String, 
byte[],
int, int, CodeSource) line: 142 
                Launcher$AppClassLoader(URLClassLoader).defineClass(String, 
Resource)
line: 449       
                URLClassLoader.access$100(URLClassLoader, String, Resource) 
line: 71    
                URLClassLoader$1.run() line: 361        
                URLClassLoader$1.run() line: 355        
                AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]       
                Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 
354     
                Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) 
line: 424       
                Launcher$AppClassLoader.loadClass(String, boolean) line: 308    
                Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 
357        
                H2Dictionary(DBDictionary).configureNamingRules() line: 520     
                H2Dictionary(DBDictionary).setConfiguration(Configuration) 
line: 4672   
                Configurations.configureInstance(Object, Configuration, 
Properties,
String) line: 504       
                Configurations.configureInstance(Object, Configuration, String, 
String)
line: 461       
                DBDictionaryFactory.newDBDictionary(JDBCConfiguration, String, 
String,
Connection) line: 201   









--
View this message in context: 
http://openjpa.208410.n2.nabble.com/JDK-1-7-seems-to-be-causing-an-issue-with-latest-snapshot-tp7581417p7584432.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to