I'd suggest you submit the issue to the Eclipse Bugzilla bug system (http://www.eclipse.org/aspectj/bugs.php). Other than that, it looks like you are seeing some interaction between your JPA provider and AspectJ, although it's interesting you hit this problem only in debug mode on an IBM VM. I would also submit it as a bug to IBM.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Adrian Gonzalez Sent: Tuesday, October 23, 2007 7:50 AM To: [email protected] Subject: [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 = [EMAIL PROTECTED] 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(SignatureP arser.java:462) at sun.reflect.generics.parser.SignatureParser.parseMethodTypeSignature(Signatu reParser.java:454) at sun.reflect.generics.parser.SignatureParser.parseMethodSig(SignatureParser.j ava:159) at sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepos itory.java:55) at sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepos itory.java:43) at sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository .java:74) at sun.reflect.generics.repository.GenericDeclRepository.<init>(GenericDeclRepo sitory.java:48) at sun.reflect.generics.repository.ConstructorRepository.<init>(ConstructorRepo sitory.java:51) at sun.reflect.generics.repository.MethodRepository.<init>(MethodRepository.jav a: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.getGene ricParameterTypes(Java15GenericSignatureInformationProvider.java:44) at org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl.getGenericParam eterTypes(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(J oinPointSignatureIterator.java:178) at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIter ator.java:69) at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:2 87) 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(Poin tcutExpressionImpl.java:235) at org.aspectj.weaver.internal.tools.PointcutExpressionImpl.matchesExecution(Po intcutExpressionImpl.java:101) at org.aspectj.weaver.internal.tools.PointcutExpressionImpl.matchesMethodExecut ion(PointcutExpressionImpl.java:92) at org.springframework.aop.aspectj.AspectJExpressionPointcut.getShadowMatch(Asp ectJExpressionPointcut.java:345) at org.springframework.aop.aspectj.AspectJExpressionPointcut.matches(AspectJExp ressionPointcut.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.j ava: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.postPro cessAfterInitialization(AbstractAutoProxyCreator.java:296) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory .applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFacto ry.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(Ab stractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSi ngleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra ctBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra ctBeanFactory.java:160) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolv eReference(BeanDefinitionValueResolver.java:261) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolv eValueIfNecessary(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(Ab stractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSi ngleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra ctBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra ctBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInst antiateSingletons(DefaultListableBeanFactory.java:287) at org.springframework.context.support.AbstractApplicationContext.refresh(Abstr actApplicationContext.java:352) at org.springframework.test.AbstractSingleSpringContextTests.createApplicationC ontext(AbstractSingleSpringContextTests.java:199) at org.springframework.test.AbstractSingleSpringContextTests.loadContextLocatio ns(AbstractSingleSpringContextTests.java:179) at org.springframework.test.AbstractSingleSpringContextTests.loadContext(Abstra ctSingleSpringContextTests.java:158) at org.springframework.test.AbstractSpringContextTests.getContext(AbstractSprin gContextTests.java:105) at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSing leSpringContextTests.java:87) at junit.framework.TestCase.runBare(TestCase.java:125) at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.jav a: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(JUnit3T estReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 8) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu nner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu nner.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 _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
