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.
|