[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] GenericSignatureFormatError with IBM JVM Debug Mode
|
Hello,
I have the following bug (GenericSignatureFormatError)
when using Aspect J with IBM JVM in debug mode.
The error doesn't appear when using Sun JVM in debug
mode.
I use the folowing version of IBM JVM :
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition
(build pwi32dev-20061002a (SR3)
)
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP
x86-32 j9vmwi3223-2006100
1 (JIT enabled)
J9VM - 20060915_08260_lHdSMR
JIT - 20060908_1811_r8
GC - 20060906_AA)
JCL - 20061002
The bug appears when I configure an aspect J aspect
and when I put a break point on a class executed in
the aspect (in the execution flow of the aspect).
In my sample, when I put a break point on a Dao which
is executed by a service. I have added transactional
aspects on the service.
In this case, aspect J generated an
GenericSignatureFormatError.
This exception is generated from class
org.aspectj.weaver.reflect.Java15GenericSignatureInformationProvider.
I've checked the object state used by
Java15GenericSignatureInformationProvider, and found
the following weird variable - please note the value
of the field signature :
member : [Class=Method]
annotationDefault = null
annotations = null
clazz = class
com.natixis.sphinx.persistence.jpa.support.JpaCrudDaoSupport
exceptionType = [class
org.springframework.dao.ConcurrencyFailureException,
class
org.springframework.dao.DataIntegrityViolationException]
genericInfo = null
j9method = com.ibm.oti.reflect.Method@3a2a3a2a
methodAccessor = null
modifiers = 1
name = update
override = false
parameterAnnotations = null
parameterTypes = [class java.lang.Object]
returnType = class java.lang.Object
root = null
securityCheckCache = null
securityCheckTargetClassCache = null
signature = xB·B
slot = 1108159024
Has someone some tips on this one ?
Thank you
Here's the stackTrace :
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sampleManager' defined
in class path resource [myartiContext.xml]: Cannot
resolve reference to bean 'sampleDao' while setting
bean property 'sampleDao'; nested exception is
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sampleDao' defined in
class path resource [myartiContext.xml]:
Initialization of bean failed; nested exception is
java.lang.reflect.GenericSignatureFormatError
Caused by:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sampleDao' defined in
class path resource [myartiContext.xml]:
Initialization of bean failed; nested exception is
java.lang.reflect.GenericSignatureFormatError
Caused by:
java.lang.reflect.GenericSignatureFormatError
at
sun.reflect.generics.parser.SignatureParser.error(SignatureParser.java:121)
at
sun.reflect.generics.parser.SignatureParser.parseFormalParameters(SignatureParser.java:462)
at
sun.reflect.generics.parser.SignatureParser.parseMethodTypeSignature(SignatureParser.java:454)
at
sun.reflect.generics.parser.SignatureParser.parseMethodSig(SignatureParser.java:159)
at
sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepository.java:55)
at
sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepository.java:43)
at
sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository.java:74)
at
sun.reflect.generics.repository.GenericDeclRepository.<init>(GenericDeclRepository.java:48)
at
sun.reflect.generics.repository.ConstructorRepository.<init>(ConstructorRepository.java:51)
at
sun.reflect.generics.repository.MethodRepository.<init>(MethodRepository.java:46)
at
sun.reflect.generics.repository.MethodRepository.make(MethodRepository.java:59)
at
java.lang.reflect.Method.getGenericInfo(Method.java:119)
at
java.lang.reflect.Method.getGenericParameterTypes(Method.java:307)
at
org.aspectj.weaver.reflect.Java15GenericSignatureInformationProvider.getGenericParameterTypes(Java15GenericSignatureInformationProvider.java:44)
at
org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl.getGenericParameterTypes(ReflectionBasedResolvedMemberImpl.java:120)
at
org.aspectj.weaver.ResolvedMemberImpl.matches(ResolvedMemberImpl.java:771)
at
org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:386)
at
org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:178)
at
org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:69)
at
org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:287)
at
org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:106)
at
org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at
org.aspectj.weaver.internal.tools.PointcutExpressionImpl.getShadowMatch(PointcutExpressionImpl.java:235)
at
org.aspectj.weaver.internal.tools.PointcutExpressionImpl.matchesExecution(PointcutExpressionImpl.java:101)
at
org.aspectj.weaver.internal.tools.PointcutExpressionImpl.matchesMethodExecution(PointcutExpressionImpl.java:92)
at
org.springframework.aop.aspectj.AspectJExpressionPointcut.getShadowMatch(AspectJExpressionPointcut.java:345)
at
org.springframework.aop.aspectj.AspectJExpressionPointcut.matches(AspectJExpressionPointcut.java:231)
at
org.springframework.aop.support.AopUtils.canApply(AopUtils.java:195)
at
org.springframework.aop.support.AopUtils.canApply(AopUtils.java:236)
at
org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:270)
at
org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:83)
at
org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66)
at
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:296)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:312)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1180)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at
org.springframework.test.AbstractSingleSpringContextTests.createApplicationContext(AbstractSingleSpringContextTests.java:199)
at
org.springframework.test.AbstractSingleSpringContextTests.loadContextLocations(AbstractSingleSpringContextTests.java:179)
at
org.springframework.test.AbstractSingleSpringContextTests.loadContext(AbstractSingleSpringContextTests.java:158)
at
org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpringContextTests.java:105)
at
org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:87)
at
junit.framework.TestCase.runBare(TestCase.java:125)
at
org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
at
junit.framework.TestResult$1.protect(TestResult.java:106)
at
junit.framework.TestResult.runProtected(TestResult.java:124)
at
junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Merci !
____________________________________________________________________________________________
Découvrez le blog Yahoo! Mail : dernières nouveautés, astuces, conseils.. et vos réactions !
http://blog.mail.yahoo.fr