[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