[
https://issues.apache.org/jira/browse/GERONIMO-5751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981064#action_12981064
]
Kevan Miller commented on GERONIMO-5751:
----------------------------------------
Basic problem is that OpenJPA class transformation / TemporaryClassLoader
behavior / Equinox behavior is causing duplicate/redundant defineClasse()
invocations for the same Class on the same ClassLoader. Call stack follows.
Apologies about the missing package names -- Eclipse doesn't give them to me.
DefaultClassLoader is org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader:
Daemon System Thread [RMI TCP Connection(4)-10.0.1.4] (Suspended)
ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain,
String, boolean) line: not available [native method]
DefaultClassLoader(ClassLoader).defineClassCond(String, byte[], int,
int, ProtectionDomain, boolean) line: 632
DefaultClassLoader(ClassLoader).defineClass(String, byte[], int, int,
ProtectionDomain) line: 616
DefaultClassLoader.defineClass(String, byte[], ClasspathEntry,
BundleEntry) line: 188
ClasspathManager.defineClass(String, byte[], ClasspathEntry,
BundleEntry, ClassLoadingStatsHook[]) line: 580
ClasspathManager.findClassImpl(String, ClasspathEntry,
ClassLoadingStatsHook[]) line: 550
ClasspathManager.findLocalClassImpl(String, ClassLoadingStatsHook[])
line: 481
ClasspathManager.findLocalClass_LockClassLoader(String,
ClassLoadingStatsHook[]) line: 469
ClasspathManager.findLocalClass(String) line: 449
DefaultClassLoader.findLocalClass(String) line: 216
BundleLoader.findLocalClass(String) line: 393
BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 469
BundleLoader.findClass(String, boolean) line: 422
BundleLoader.findClass(String) line: 410
DefaultClassLoader.loadClass(String, boolean) line: 107
DefaultClassLoader(ClassLoader).loadClass(String) line: 248
BundleLoader.loadClass(String) line: 338
BundleHost.loadClass(String, boolean) line: 232
BundleHost(AbstractBundle).loadClass(String) line: 1197
BundleResourceClassLoader(BundleClassLoader).loadClass(String, boolean)
line: 70
TemporaryClassLoader(ClassLoader).loadClass(String, boolean) line: 296
TemporaryClassLoader.loadClass(String, boolean) line: 104
TemporaryClassLoader.loadClass(String) line: 62
Class<T>.forName0(String, boolean, ClassLoader) line: not available
[native method]
Class<T>.forName(String, boolean, ClassLoader) line: 247
PCClassFileTransformer.needsEnhance(String, Class, byte[]) line: 186
PCClassFileTransformer.transform0(String, Class, byte[]) line: 132
PCClassFileTransformer.transform(ClassLoader, String, Class,
ProtectionDomain, byte[]) line: 120
PersistenceProviderImpl$ClassTransformerImpl.transform(ClassLoader,
String, Class<?>, ProtectionDomain, byte[]) line: 312
TransformerWrapper.transform(ClassLoader, String, Class<?>,
ProtectionDomain, byte[]) line: 43
TransformerCollection.transform(ClassLoader, String, Class<?>,
ProtectionDomain, byte[]) line: 53
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]
DefaultClassLoader(ClassLoader).defineClassCond(String, byte[], int,
int, ProtectionDomain, boolean) line: 632
DefaultClassLoader(ClassLoader).defineClass(String, byte[], int, int,
ProtectionDomain) line: 616
DefaultClassLoader.defineClass(String, byte[], ClasspathEntry,
BundleEntry) line: 188
ClasspathManager.defineClass(String, byte[], ClasspathEntry,
BundleEntry, ClassLoadingStatsHook[]) line: 580
ClasspathManager.findClassImpl(String, ClasspathEntry,
ClassLoadingStatsHook[]) line: 550
ClasspathManager.findLocalClassImpl(String, ClassLoadingStatsHook[])
line: 481
ClasspathManager.findLocalClass_LockClassLoader(String,
ClassLoadingStatsHook[]) line: 469
ClasspathManager.findLocalClass(String) line: 449
DefaultClassLoader.findLocalClass(String) line: 216
BundleLoader.findLocalClass(String) line: 393
BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 469
BundleLoader.findClass(String, boolean) line: 422
BundleLoader.findClass(String) line: 410
DefaultClassLoader.loadClass(String, boolean) line: 107
DefaultClassLoader(ClassLoader).loadClass(String) line: 248
Class<T>.forName0(String, boolean, ClassLoader) line: not available
[native method]
Class<T>.forName(String, boolean, ClassLoader) line: 247
CoreReflectionFactory.makeNamedType(String) line: 95
Reifier.visitClassTypeSignature(ClassTypeSignature) line: 107
ClassTypeSignature.accept(TypeTreeVisitor<?>) line: 31
AnnotationParser.parseSig(String, Class) line: 370
AnnotationParser.parseAnnotation(ByteBuffer, ConstantPool, Class,
boolean) line: 181
AnnotationParser.parseAnnotations2(byte[], ConstantPool, Class) line:
69
AnnotationParser.parseAnnotations(byte[], ConstantPool, Class) line: 52
Method.declaredAnnotations() line: 693
Method.getDeclaredAnnotations() line: 686
Method(AccessibleObject).getAnnotations() line: 175
AbstractFinder$MethodInfo(AbstractFinder$Annotatable).<init>(AbstractFinder,
AnnotatedElement) line: 575
AbstractFinder$MethodInfo.<init>(AbstractFinder,
AbstractFinder$ClassInfo, Method) line: 725
ClassFinder(AbstractFinder).readClassDef(Class) line: 552
ClassFinder.<init>(List<Class>) line: 137
AnnotationDeployer$ProcessAnnotatedBeans.createInheritedClassFinder(Class<?>...)
line: 3608
AnnotationDeployer$ProcessAnnotatedBeans.deploy(CdiBeanInfo) line: 670
AnnotationDeployer.deploy(CdiBeanInfo) line: 246
CdiResourceInjectionService.buildInjections(Set<Class<?>>) line: 73
OpenEJBLifecycle.startApplication(Object) line: 158
ThreadSingletonServiceAdapter.initialize(StartupObject) line: 62
CdiBuilder.build(AppInfo, AppContext, List<BeanContext>) line: 46
Assembler.createApplication(AppInfo, ClassLoader, boolean) line: 649
Assembler.createApplication(AppInfo, ClassLoader) line: 461
OpenEjbSystemGBean.createApplication(AppInfo, ClassLoader) line: 438
EjbModuleImpl.doStart() line: 183
GBeanInstance.createInstance() line: 975
GBeanInstanceState.attemptFullStart() line: 271
GBeanInstanceState.start() line: 105
GBeanInstance.start() line: 546
GBeanDependency.attemptFullStart() line: 110
GBeanDependency.addTarget(AbstractName) line: 145
GBeanDependency$1.running(AbstractName) line: 119
BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 175
BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName)
line: 44
BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line:
253
GBeanInstanceState.attemptFullStart() line: 301
GBeanInstanceState.start() line: 105
GBeanInstance.start() line: 546
GBeanDependency.attemptFullStart() line: 110
GBeanDependency.addTarget(AbstractName) line: 145
GBeanDependency$1.running(AbstractName) line: 119
BasicLifecycleMonitor.fireRunningEvent(AbstractName) line: 175
BasicLifecycleMonitor.access$300(BasicLifecycleMonitor, AbstractName)
line: 44
BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line:
253
GBeanInstanceState.attemptFullStart() line: 301
GBeanInstanceState.start() line: 105
GBeanInstanceState.startRecursive() line: 127
GBeanInstance.startRecursive() line: 560
BasicKernel.startRecursiveGBean(AbstractName) line: 386
ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration,
Kernel) line: 460
EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration)
line: 224
EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact,
LifecycleMonitor) line: 698
EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact)
line: 677
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
ReflectionMethodInvoker.invoke(Object, Object[]) line: 34
GBeanOperation.invoke(Object, Object[]) line: 131
GBeanInstance.invoke(String, Object[], String[]) line: 872
BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 245
KernelGBean.invoke(AbstractName, String, Object[], String[]) line: 344
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
ReflectionMethodInvoker.invoke(Object, Object[]) line: 34
GBeanOperation.invoke(Object, Object[]) line: 131
GBeanInstance.invoke(String, Object[], String[]) line: 872
BasicKernel.invoke(AbstractName, String, Object[], String[]) line: 245
MBeanGBeanBridge.invoke(String, Object[], String[]) line: 172
DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[],
String[]) line: 836
JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 761
RMIConnectionImpl.doOperation(int, Object[]) line: 1427
RMIConnectionImpl.access$200(RMIConnectionImpl, int, Object[]) line: 72
RMIConnectionImpl$PrivilegedOperation.run() line: 1265
AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]
RMIConnectionImpl.doPrivilegedOperation(int, Object[], Subject) line:
1367
RMIConnectionImpl.invoke(ObjectName, String, MarshalledObject,
String[], Subject) line: 788
GeneratedMethodAccessor59.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line:
305
Transport$1.run() line: 159
AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]
TCPTransport(Transport).serviceCall(RemoteCall) line: 155
TCPTransport.handleMessages(Connection, boolean) line: 535
TCPTransport$ConnectionHandler.run0() line: 790
TCPTransport$ConnectionHandler.run() line: 649
ThreadPoolExecutor$Worker.runTask(Runnable) line: 886
ThreadPoolExecutor$Worker.run() line: 908
Thread.run() line: 680
> LinkageError running CDI TCK
> ----------------------------
>
> Key: GERONIMO-5751
> URL: https://issues.apache.org/jira/browse/GERONIMO-5751
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Affects Versions: 3.0-M2
> Reporter: Kevan Miller
> Fix For: 3.0-M2
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.