openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From garpinc <garp...@yahoo.com>
Subject Re: JDK 1.7 seems to be causing an issue with latest snapshot
Date Tue, 16 Jul 2013 22:19:38 GMT
Ok I've found exactly where openjpa operates differently in JDK 1.6 and JDK
1.7

Either:
1) jdk 1.7 has a bug OR
2) openjpa utilized functionality that was in 1.6 but was a bug fix in 1.7
and hence openjpa can not depend on the previous behavior

Here is the stack trace in 1.6 where ClassCircularityError is raised and
later caught in PCClassFileTransformer.needsEnhance as a Linkage error on
line 207 (trunk):

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:53304	
	Thread [main] (Suspended (breakpoint at line 36 in LinkageError))	
		owns: Launcher$AppClassLoader  (id=1166)	
		ClassCircularityError(LinkageError).<init>(String) line: 36	
		ClassCircularityError.<init>(String) line: 32	
		Class<T>.forName0(String, boolean, ClassLoader) line: not available
[native method]	
		Class<T>.forName(String, boolean, ClassLoader) line: 249	
		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: 249	
		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: 169	
		InstrumentationImpl.transform(ClassLoader, String, Class,
ProtectionDomain, byte[], boolean) line: 365	
		ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain,
String, boolean) line: not available [native method]	

In JDK 1.7 the error is not raised and hence not caught and if you step into
the forName0 you'll instead end up a the following stack position:
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:53419	
	Thread [main] (Suspended)	
		owns: Object  (id=4827)	
		String.lastIndexOf(int) line: 1591	
		Launcher$AppClassLoader.loadClass(String, boolean) line: 301	
		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]	





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

Mime
View raw message