Community
Participate
Working Groups
Building of a large project fails while weaving. NPE in EclipseSourceContext.removeUnnecessaryProblems(..) The project was just migrated to Eclipse 3.2 Eclipse newly installed with Eclipse SDK and via Update manager with AJDT, CDT, Web/J2EE tools, SubClipse, SpringIDE. Same Project workes in Eclipse 3.1. Simple Test AspectJ-Project workes OK Building with Ant/AspectJ compiler (as external Tools Launch in Eclipse) works. I tried the following, but got the error anyway: - Checked out as a new AspectJ Project - upgraded to the developement Version of AJDT
Version: 1.4.1 Build id: 20060726064959 AspectJ version: 1.5.3.20060726092219 Stacktrace/Error Output: java.lang.NullPointerException at org.aspectj.ajdt.internal.core.builder.EclipseSourceContext.removeUnnecessaryProblems(EclipseSourceContext.java:82) at org.aspectj.weaver.bcel.BcelAdvice.removeUnnecessaryProblems(BcelAdvice.java:297) at org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:214) at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:684) at org.aspectj.weaver.Shadow.implement(Shadow.java:471) at org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:2825) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:502) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:115) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1591) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1542) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1322) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1143) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:321) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:192) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:890) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:245) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:164) at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191) trouble in: public abstract class baag.boa.esn.client.ESNEnumDao extends java.lang.Object implements baag.boa.mvc.element.enums.EnumFilter: protected baag.boa.common.interfaces.ESN esn private String filterDaoID private baag.boa.esn.server.workflowfw.dao.ClientDataDao filterDAO private static final org.aspectj.lang.JoinPoint$StaticPart ajc$tjp_0 [Synthetic] public void <init>(): ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 37) INVOKESPECIAL java.lang.Object.<init> ()V constructor-execution(void baag.boa.esn.client.ESNEnumDao.<init>()) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 47) | ACONST_NULL | PUTFIELD baag.boa.esn.client.ESNEnumDao.filterDaoID Ljava/lang/String; | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 59) | ACONST_NULL | PUTFIELD baag.boa.esn.client.ESNEnumDao.filterDAO Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; | RETURN (line 37) constructor-execution(void baag.boa.esn.client.ESNEnumDao.<init>()) end public void <init>() public void setEsn(baag.boa.common.interfaces.ESN) org.aspectj.weaver.MethodDeclarationLineNumber: 42:1596 : method-execution(void baag.boa.esn.client.ESNEnumDao.setEsn(baag.boa.common.interfaces.ESN)) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 42) | ALOAD_1 // Lbaag/boa/common/interfaces/ESN; esn | PUTFIELD baag.boa.esn.client.ESNEnumDao.esn Lbaag/boa/common/interfaces/ESN; | RETURN method-execution(void baag.boa.esn.client.ESNEnumDao.setEsn(baag.boa.common.interfaces.ESN)) end public void setEsn(baag.boa.common.interfaces.ESN) public void setFilterDaoID(String) org.aspectj.weaver.MethodDeclarationLineNumber: 46:1754 : method-execution(void baag.boa.esn.client.ESNEnumDao.setFilterDaoID(java.lang.String)) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 46) | ALOAD_1 // Ljava/lang/String; fidID | PUTFIELD baag.boa.esn.client.ESNEnumDao.filterDaoID Ljava/lang/String; | RETURN method-execution(void baag.boa.esn.client.ESNEnumDao.setFilterDaoID(java.lang.String)) end public void setFilterDaoID(String) protected baag.boa.esn.server.workflowfw.dao.ClientDataDao getFilter() throws baag.boa.exception.BOAException org.aspectj.weaver.MethodDeclarationLineNumber: 51:1946 : method-execution(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.getFilter()) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 52) | field-get(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.filterDAO) | | GETFIELD baag.boa.esn.client.ESNEnumDao.filterDAO Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; | field-get(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.filterDAO) | IFNONNULL L1 | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 53) | field-get(java.lang.String baag.boa.esn.client.ESNEnumDao.filterDaoID) | | GETFIELD baag.boa.esn.client.ESNEnumDao.filterDaoID Ljava/lang/String; | field-get(java.lang.String baag.boa.esn.client.ESNEnumDao.filterDaoID) | IFNONNULL L0 | NEW baag.boa.exception.BOARuntimeException (line 54) | DUP | LDC "Fehlkonfig: ID für Filter-DAO nicht definiert." | constructor-call(void baag.boa.exception.BOARuntimeException.<init>(java.lang.String)) | | INVOKESPECIAL baag.boa.exception.BOARuntimeException.<init> (Ljava/lang/String;)V | constructor-call(void baag.boa.exception.BOARuntimeException.<init>(java.lang.String)) | ATHROW | L0: ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 55) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this | field-get(baag.boa.common.interfaces.ESN baag.boa.esn.client.ESNEnumDao.esn) | | GETFIELD baag.boa.esn.client.ESNEnumDao.esn Lbaag/boa/common/interfaces/ESN; | field-get(baag.boa.common.interfaces.ESN baag.boa.esn.client.ESNEnumDao.esn) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this | field-get(java.lang.String baag.boa.esn.client.ESNEnumDao.filterDaoID) | | GETFIELD baag.boa.esn.client.ESNEnumDao.filterDaoID Ljava/lang/String; | field-get(java.lang.String baag.boa.esn.client.ESNEnumDao.filterDaoID) | ASTORE_1 | ASTORE_2 | method-call(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.common.interfaces.ESN.filterData(java.lang.String)) | | INVOKESTATIC baag.boa.common.connect.ServerFasadenDefinition.aspectOf ()Lbaag/boa/common/connect/ServerFasadenDefinition; | | ALOAD_2 | | BIPUSH 3 | | ANEWARRAY java.lang.Object | | ASTORE_3 | | ALOAD_3 | | BIPUSH 0 | | ALOAD_0 | | AASTORE | | ALOAD_3 | | BIPUSH 1 | | ALOAD_2 | | AASTORE | | ALOAD_3 | | BIPUSH 2 | | ALOAD_1 | | AASTORE | | NEW baag.boa.esn.client.ESNEnumDao$AjcClosure1 | | DUP | | ALOAD_3 | | INVOKESPECIAL baag.boa.esn.client.ESNEnumDao$AjcClosure1.<init> ([Ljava/lang/Object;)V | | GETSTATIC baag.boa.esn.client.ESNEnumDao.ajc$tjp_0 Lorg/aspectj/lang/JoinPoint$StaticPart; | | INVOKEVIRTUAL baag.boa.common.connect.RufServer.ajc$around$baag_boa_common_connect_RufServer$1$19b2b7d5 (Ljava/lang/Object;Lorg/aspectj/runtime/internal/AroundClosure;Lorg/aspectj/lang/JoinPoint$StaticPart;)Ljava/lang/Object; | | CHECKCAST baag.boa.esn.server.workflowfw.dao.ClientDataDao | method-call(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.common.interfaces.ESN.filterData(java.lang.String)) | PUTFIELD baag.boa.esn.client.ESNEnumDao.filterDAO Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; | L1: ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 57) | field-get(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.filterDAO) | | GETFIELD baag.boa.esn.client.ESNEnumDao.filterDAO Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; | field-get(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.filterDAO) | ARETURN method-execution(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.getFilter()) end protected baag.boa.esn.server.workflowfw.dao.ClientDataDao getFilter() throws baag.boa.exception.BOAException public java.util.List select() throws baag.boa.exception.BOAException org.aspectj.weaver.MethodDeclarationLineNumber: 70:2497 : method-execution(java.util.List baag.boa.esn.client.ESNEnumDao.select()) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 71) | method-call(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.getFilter()) | | INVOKEVIRTUAL baag.boa.esn.client.ESNEnumDao.getFilter ()Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; | method-call(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.esn.client.ESNEnumDao.getFilter()) | ASTORE_1 | ALOAD_1 // Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; dau (line 72) | ICONST_0 | method-call(void baag.boa.esn.server.workflowfw.dao.ClientDataDao.setBisElement(int)) | | INVOKEINTERFACE baag.boa.esn.server.workflowfw.dao.ClientDataDao.setBisElement (I)V | method-call(void baag.boa.esn.server.workflowfw.dao.ClientDataDao.setBisElement(int)) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this (line 73) | ALOAD_0 // Lbaag/boa/esn/client/ESNEnumDao; this | field-get(baag.boa.common.interfaces.ESN baag.boa.esn.client.ESNEnumDao.esn) | | GETFIELD baag.boa.esn.client.ESNEnumDao.esn Lbaag/boa/common/interfaces/ESN; | field-get(baag.boa.common.interfaces.ESN baag.boa.esn.client.ESNEnumDao.esn) | ALOAD_1 // Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; dau | method-call(java.util.List baag.boa.common.interfaces.ESN.getPresentationList(baag.boa.esn.server.workflowfw.dao.ClientDataDao)) | | INVOKEINTERFACE baag.boa.common.interfaces.ESN.getPresentationList (Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao;)Ljava/util/List; | method-call(java.util.List baag.boa.common.interfaces.ESN.getPresentationList(baag.boa.esn.server.workflowfw.dao.ClientDataDao)) | method-call(java.util.List baag.boa.esn.client.ESNEnumDao.adaptiere(java.util.List)) | | INVOKEVIRTUAL baag.boa.esn.client.ESNEnumDao.adaptiere (Ljava/util/List;)Ljava/util/List; | method-call(java.util.List baag.boa.esn.client.ESNEnumDao.adaptiere(java.util.List)) | ARETURN method-execution(java.util.List baag.boa.esn.client.ESNEnumDao.select()) end public java.util.List select() throws baag.boa.exception.BOAException protected abstract java.util.List adaptiere(java.util.List) org.aspectj.weaver.MethodDeclarationLineNumber: 79:2853 ; static final baag.boa.esn.server.workflowfw.dao.ClientDataDao filterData_aroundBody0(baag.boa.esn.client.ESNEnumDao, baag.boa.common.interfaces.ESN, String): ALOAD_1 ALOAD_2 INVOKEINTERFACE baag.boa.common.interfaces.ESN.filterData (Ljava/lang/String;)Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; (line 55) ARETURN end static final baag.boa.esn.server.workflowfw.dao.ClientDataDao filterData_aroundBody0(baag.boa.esn.client.ESNEnumDao, baag.boa.common.interfaces.ESN, String) end public abstract class baag.boa.esn.client.ESNEnumDao public class baag.boa.esn.client.ESNEnumDao$AjcClosure1 extends org.aspectj.runtime.internal.AroundClosure: public void <init>(Object[]): ALOAD_0 ALOAD_1 INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V RETURN end public void <init>(Object[]) public Object run(Object[]): ALOAD_0 GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object; ASTORE_2 ALOAD_2 BIPUSH 0 AALOAD CHECKCAST baag.boa.esn.client.ESNEnumDao ALOAD_1 BIPUSH 0 AALOAD CHECKCAST baag.boa.common.interfaces.ESN ALOAD_2 BIPUSH 2 AALOAD CHECKCAST java.lang.String INVOKESTATIC baag.boa.esn.client.ESNEnumDao.filterData_aroundBody0 (Lbaag/boa/esn/client/ESNEnumDao;Lbaag/boa/common/interfaces/ESN;Ljava/lang/String;)Lbaag/boa/esn/server/workflowfw/dao/ClientDataDao; ARETURN end public Object run(Object[]) end public class baag.boa.esn.client.ESNEnumDao$AjcClosure1 when implementing on shadow method-call(baag.boa.esn.server.workflowfw.dao.ClientDataDao baag.boa.common.interfaces.ESN.filterData(java.lang.String)) when weaving type baag.boa.esn.client.ESNEnumDao when weaving classes when weaving when batch building BuildConfig[/home/hiv/devel/Arbeit/.metadata/.plugins/org.eclipse.ajdt.core/BOA3.generated.lst] #Files=658
Passing over to compiler
fix committed. NPE guard.
*** Bug 152024 has been marked as a duplicate of this bug. ***
fix available in AJ dev builds.