Community
Participate
Working Groups
I get this error when weaving a LifeRay jar (compression-filter.jar). Unhandled kind of new -1: impdep1[254](1) when implementing on shadow constructor-call(void java.lang.NoClassDefFoundError.<init>()) when weaving classes .. To reproduce: 1)extract TestCase.zip. 2) Go to the expanded TestCase/ directory. 3)do: ajc ThrowablesAspect.aj -log "test.log" -cp "<path to aspectjrt.jar>;lib\commons-logging-1.0.4.jar;lib\servlet-api.jar;lib\util-java.jar;lib\portal-kernel.jar" -injars compression-filter.jar -outjar compression-filter.jar.new 4) ajc will say there are 2 fail|aborts NOTE: No advice or doing "around()" doesn't produce the error. The error happens when having at least "before()" or "after()" advice. I tried empty advice and it still fails. Full Stack Trace: -------- trouble in: public class com.liferay.filters.compression.CompressionFilter extends java.lang.Object implements javax.servlet.Filter: static boolean useCompressionFilter public static final String ENCODING private static final String _ALREADY_FILTERED private static final String _COMPRESS = "compress" private static final String _INCLUDE = "javax.servlet.include.request_uri" private static org.apache.commons.logging.Log _log static Class class$com$liferay$filters$compression$CompressionFilter [Synthetic] public void init(javax.servlet.FilterConfig): method-execution(void com.liferay.filters.compression.CompressionFilter.init(javax.servlet.FilterConfig)) | RETURN (line 80) method-execution(void com.liferay.filters.compression.CompressionFilter.init(javax.servlet.FilterConfig)) end public void init(javax.servlet.FilterConfig) public void doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) throws java.io.IOException, javax.servlet.ServletException: method-execution(void com.liferay.filters.compression.CompressionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)) | GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 86) | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | | INVOKEINTERFACE org.apache.commons.logging.Log.isDebugEnabled ()Z | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | IFEQ L1 | GETSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z (line 87) | IFEQ L0 | GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 88) | LDC "Compression is enabled" | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | | INVOKEINTERFACE org.apache.commons.logging.Log.debug (Ljava/lang/Object;)V | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | GOTO L1 | L0: GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 91) | LDC "Compression is disabled" | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | | INVOKEINTERFACE org.apache.commons.logging.Log.debug (Ljava/lang/Object;)V | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | L1: ALOAD_1 // Ljavax/servlet/ServletRequest; req (line 95) | CHECKCAST javax.servlet.http.HttpServletRequest | ASTORE 4 // Ljavax/servlet/http/HttpServletRequest; httpReq | ALOAD_2 // Ljavax/servlet/ServletResponse; res (line 96) | CHECKCAST javax.servlet.http.HttpServletResponse | ASTORE 5 // Ljavax/servlet/http/HttpServletResponse; httpRes | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq (line 98) | GETSTATIC com.liferay.filters.compression.CompressionFilter.ENCODING Ljava/lang/String; | method-call(void javax.servlet.http.HttpServletRequest.setCharacterEncoding(java.lang.String)) | | INVOKEINTERFACE javax.servlet.http.HttpServletRequest.setCharacterEncoding (Ljava/lang/String;)V | method-call(void javax.servlet.http.HttpServletRequest.setCharacterEncoding(java.lang.String)) | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq (line 100) | method-call(java.lang.String com.liferay.util.Http.getCompleteURL(javax.servlet.http.HttpServletRequest)) | | INVOKESTATIC com.liferay.util.Http.getCompleteURL (Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String; | method-call(java.lang.String com.liferay.util.Http.getCompleteURL(javax.servlet.http.HttpServletRequest)) | ASTORE 6 // Ljava/lang/String; completeURL | GETSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z (line 102) | IFEQ L3 | ALOAD_0 // Lcom/liferay/filters/compression/CompressionFilter; this | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq | method-call(boolean com.liferay.filters.compression.CompressionFilter.isCompress(javax.servlet.http.HttpServletRequest)) | | INVOKEVIRTUAL com.liferay.filters.compression.CompressionFilter.isCompress (Ljavax/servlet/http/HttpServletRequest;)Z | method-call(boolean com.liferay.filters.compression.CompressionFilter.isCompress(javax.servlet.http.HttpServletRequest)) | IFEQ L3 | ALOAD_0 // Lcom/liferay/filters/compression/CompressionFilter; this | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq | method-call(boolean com.liferay.filters.compression.CompressionFilter.isInclude(javax.servlet.http.HttpServletRequest)) | | INVOKEVIRTUAL com.liferay.filters.compression.CompressionFilter.isInclude (Ljavax/servlet/http/HttpServletRequest;)Z | method-call(boolean com.liferay.filters.compression.CompressionFilter.isInclude(javax.servlet.http.HttpServletRequest)) | IFNE L3 | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq | method-call(boolean com.liferay.util.BrowserSniffer.acceptsGzip(javax.servlet.http.HttpServletRequest)) | | INVOKESTATIC com.liferay.util.BrowserSniffer.acceptsGzip (Ljavax/servlet/http/HttpServletRequest;)Z | method-call(boolean com.liferay.util.BrowserSniffer.acceptsGzip(javax.servlet.http.HttpServletRequest)) | IFEQ L3 | ALOAD_0 // Lcom/liferay/filters/compression/CompressionFilter; this | ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq | method-call(boolean com.liferay.filters.compression.CompressionFilter.isAlreadyFiltered(javax.servlet.http.HttpServletRequest)) | | INVOKEVIRTUAL com.liferay.filters.compression.CompressionFilter.isAlreadyFiltered (Ljavax/servlet/http/HttpServletRequest;)Z | method-call(boolean com.liferay.filters.compression.CompressionFilter.isAlreadyFiltered(javax.servlet.http.HttpServletRequest)) | IFNE L3 | GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 106) | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | | INVOKEINTERFACE org.apache.commons.logging.Log.isDebugEnabled ()Z | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | IFEQ L2 | GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 107) | NEW java.lang.StringBuffer | DUP | LDC "Compressing " | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String)) | | INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String)) | ALOAD 6 // Ljava/lang/String; completeURL | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | method-call(java.lang.String java.lang.StringBuffer.toString()) | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | method-call(java.lang.String java.lang.StringBuffer.toString()) | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | | INVOKEINTERFACE org.apache.commons.logging.Log.debug (Ljava/lang/Object;)V | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | L2: ALOAD 4 // Ljavax/servlet/http/HttpServletRequest; httpReq (line 110) | GETSTATIC com.liferay.filters.compression.CompressionFilter._ALREADY_FILTERED Ljava/lang/String; | GETSTATIC java.lang.Boolean.TRUE Ljava/lang/Boolean; | method-call(void javax.servlet.http.HttpServletRequest.setAttribute(java.lang.String, java.lang.Object)) | | INVOKEINTERFACE javax.servlet.http.HttpServletRequest.setAttribute (Ljava/lang/String;Ljava/lang/Object;)V | method-call(void javax.servlet.http.HttpServletRequest.setAttribute(java.lang.String, java.lang.Object)) | NEW com.liferay.filters.compression.CompressionResponse (line 112) | DUP | ALOAD 5 // Ljavax/servlet/http/HttpServletResponse; httpRes | constructor-call(void com.liferay.filters.compression.CompressionResponse.<init>(javax.servlet.http.HttpServletResponse)) | | INVOKESPECIAL com.liferay.filters.compression.CompressionResponse.<init> (Ljavax/servlet/http/HttpServletResponse;)V | constructor-call(void com.liferay.filters.compression.CompressionResponse.<init>(javax.servlet.http.HttpServletResponse)) | ASTORE 7 // Lcom/liferay/filters/compression/CompressionResponse; compressionResponse | ALOAD_3 // Ljavax/servlet/FilterChain; chain (line 115) | ALOAD_1 // Ljavax/servlet/ServletRequest; req | ALOAD 7 // Lcom/liferay/filters/compression/CompressionResponse; compressionResponse | method-call(void javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)) | | INVOKEINTERFACE javax.servlet.FilterChain.doFilter (Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V | method-call(void javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)) | ALOAD 7 // Lcom/liferay/filters/compression/CompressionResponse; compressionResponse (line 117) | method-call(void com.liferay.filters.compression.CompressionResponse.finishResponse()) | | INVOKEVIRTUAL com.liferay.filters.compression.CompressionResponse.finishResponse ()V | method-call(void com.liferay.filters.compression.CompressionResponse.finishResponse()) | GOTO L5 | L3: GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 120) | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | | INVOKEINTERFACE org.apache.commons.logging.Log.isDebugEnabled ()Z | method-call(boolean org.apache.commons.logging.Log.isDebugEnabled()) | IFEQ L4 | GETSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; (line 121) | NEW java.lang.StringBuffer | DUP | LDC "Not compressing " | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String)) | | INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String)) | ALOAD 6 // Ljava/lang/String; completeURL | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | method-call(java.lang.String java.lang.StringBuffer.toString()) | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | method-call(java.lang.String java.lang.StringBuffer.toString()) | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | | INVOKEINTERFACE org.apache.commons.logging.Log.debug (Ljava/lang/Object;)V | method-call(void org.apache.commons.logging.Log.debug(java.lang.Object)) | L4: ALOAD_3 // Ljavax/servlet/FilterChain; chain (line 124) | ALOAD_1 // Ljavax/servlet/ServletRequest; req | ALOAD_2 // Ljavax/servlet/ServletResponse; res | method-call(void javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)) | | INVOKEINTERFACE javax.servlet.FilterChain.doFilter (Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V | method-call(void javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)) | L5: RETURN (line 126) method-execution(void com.liferay.filters.compression.CompressionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)) end public void doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) throws java.io.IOException, javax.servlet.ServletException public void destroy(): method-execution(void com.liferay.filters.compression.CompressionFilter.destroy()) | RETURN (line 129) method-execution(void com.liferay.filters.compression.CompressionFilter.destroy()) end public void destroy() protected boolean isAlreadyFiltered(javax.servlet.http.HttpServletRequest): method-execution(boolean com.liferay.filters.compression.CompressionFilter.isAlreadyFiltered(javax.servlet.http.HttpServletRequest)) | ALOAD_1 // Ljavax/servlet/http/HttpServletRequest; req (line 132) | GETSTATIC com.liferay.filters.compression.CompressionFilter._ALREADY_FILTERED Ljava/lang/String; | method-call(java.lang.Object javax.servlet.http.HttpServletRequest.getAttribute(java.lang.String)) | | INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getAttribute (Ljava/lang/String;)Ljava/lang/Object; | method-call(java.lang.Object javax.servlet.http.HttpServletRequest.getAttribute(java.lang.String)) | IFNULL L0 | ICONST_1 (line 133) | IRETURN | L0: ICONST_0 (line 136) | IRETURN method-execution(boolean com.liferay.filters.compression.CompressionFilter.isAlreadyFiltered(javax.servlet.http.HttpServletRequest)) end protected boolean isAlreadyFiltered(javax.servlet.http.HttpServletRequest) protected boolean isCompress(javax.servlet.http.HttpServletRequest): method-execution(boolean com.liferay.filters.compression.CompressionFilter.isCompress(javax.servlet.http.HttpServletRequest)) | ALOAD_1 // Ljavax/servlet/http/HttpServletRequest; req (line 141) | LDC "compress" | ICONST_1 | method-call(boolean com.liferay.util.ParamUtil.get(javax.servlet.ServletRequest, java.lang.String, boolean)) | | INVOKESTATIC com.liferay.util.ParamUtil.get (Ljavax/servlet/ServletRequest;Ljava/lang/String;Z)Z | method-call(boolean com.liferay.util.ParamUtil.get(javax.servlet.ServletRequest, java.lang.String, boolean)) | IFNE L0 | ICONST_0 (line 142) | IRETURN | L0: ALOAD_1 // Ljavax/servlet/http/HttpServletRequest; req (line 151) | LDC "p_p_state" | method-call(java.lang.String com.liferay.util.ParamUtil.getString(javax.servlet.ServletRequest, java.lang.String)) | | INVOKESTATIC com.liferay.util.ParamUtil.getString (Ljavax/servlet/ServletRequest;Ljava/lang/String;)Ljava/lang/String; | method-call(java.lang.String com.liferay.util.ParamUtil.getString(javax.servlet.ServletRequest, java.lang.String)) | ASTORE_2 // Ljava/lang/String; windowState | ALOAD_2 // Ljava/lang/String; windowState (line 153) | LDC "exclusive" | method-call(boolean java.lang.String.equals(java.lang.Object)) | | INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z | method-call(boolean java.lang.String.equals(java.lang.Object)) | IFEQ L1 | ICONST_0 (line 154) | IRETURN | L1: ICONST_1 (line 157) | IRETURN method-execution(boolean com.liferay.filters.compression.CompressionFilter.isCompress(javax.servlet.http.HttpServletRequest)) end protected boolean isCompress(javax.servlet.http.HttpServletRequest) protected boolean isInclude(javax.servlet.http.HttpServletRequest): method-execution(boolean com.liferay.filters.compression.CompressionFilter.isInclude(javax.servlet.http.HttpServletRequest)) | ALOAD_1 // Ljavax/servlet/http/HttpServletRequest; req (line 163) | LDC "javax.servlet.include.request_uri" | method-call(java.lang.Object javax.servlet.http.HttpServletRequest.getAttribute(java.lang.String)) | | INVOKEINTERFACE javax.servlet.http.HttpServletRequest.getAttribute (Ljava/lang/String;)Ljava/lang/Object; | method-call(java.lang.Object javax.servlet.http.HttpServletRequest.getAttribute(java.lang.String)) | CHECKCAST java.lang.String | ASTORE_2 // Ljava/lang/String; uri | ALOAD_2 // Ljava/lang/String; uri (line 165) | IFNONNULL L0 | ICONST_0 (line 166) | IRETURN | L0: ICONST_1 (line 169) | IRETURN method-execution(boolean com.liferay.filters.compression.CompressionFilter.isInclude(javax.servlet.http.HttpServletRequest)) end protected boolean isInclude(javax.servlet.http.HttpServletRequest) static Class class(String, boolean): method-execution(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | catch java.lang.ClassNotFoundException -> E0 | | ALOAD_0 (line 0) | | method-call(java.lang.Class java.lang.Class.forName(java.lang.String)) | | | INVOKESTATIC java.lang.Class.forName (Ljava/lang/String;)Ljava/lang/Class; | | method-call(java.lang.Class java.lang.Class.forName(java.lang.String)) | | ILOAD_1 | | IFNE L0 | | method-call(java.lang.Class java.lang.Class.getComponentType()) | | | INVOKEVIRTUAL java.lang.Class.getComponentType ()Ljava/lang/Class; | | method-call(java.lang.Class java.lang.Class.getComponentType()) | | L0: ARETURN | catch java.lang.ClassNotFoundException -> E0 | E0: NEW java.lang.NoClassDefFoundError | DUP_X1 | constructor-call(void java.lang.NoClassDefFoundError.<init>()) | | INVOKESPECIAL java.lang.NoClassDefFoundError.<init> ()V | constructor-call(void java.lang.NoClassDefFoundError.<init>()) | method-call(java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)) | | INVOKEVIRTUAL java.lang.Throwable.initCause (Ljava/lang/Throwable;)Ljava/lang/Throwable; | method-call(java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)) | ATHROW method-execution(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) end static Class class(String, boolean) public void <init>(): ALOAD_0 // Lcom/liferay/filters/compression/CompressionFilter; this (line 52) INVOKESPECIAL java.lang.Object.<init> ()V constructor-execution(void com.liferay.filters.compression.CompressionFilter.<init>()) | RETURN constructor-execution(void com.liferay.filters.compression.CompressionFilter.<init>()) end public void <init>() private static final void <clinit>(): staticinitialization(void com.liferay.filters.compression.CompressionFilter.<clinit>()) | GETSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; (line 54) | DUP | IFNONNULL L0 | POP | LDC "[Lcom.liferay.filters.compression.CompressionFilter;" | ICONST_0 | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.filters.compression.CompressionFilter.class (Ljava/lang/String;Z)Ljava/lang/Class; | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | DUP | PUTSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | method-call(java.lang.String java.lang.Class.getName()) | | L0: INVOKEVIRTUAL java.lang.Class.getName ()Ljava/lang/String; | method-call(java.lang.String java.lang.Class.getName()) | method-call(java.lang.String com.liferay.util.SystemProperties.get(java.lang.String)) | | INVOKESTATIC com.liferay.util.SystemProperties.get (Ljava/lang/String;)Ljava/lang/String; | method-call(java.lang.String com.liferay.util.SystemProperties.get(java.lang.String)) | ICONST_1 | method-call(boolean com.liferay.util.GetterUtil.getBoolean(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.util.GetterUtil.getBoolean (Ljava/lang/String;Z)Z | method-call(boolean com.liferay.util.GetterUtil.getBoolean(java.lang.String, boolean)) | PUTSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z | GETSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z (line 62) | IFEQ L3 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJBoss()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isJBoss ()Z (line 63) | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJBoss()) | IFNE L1 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJetty()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isJetty ()Z | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJetty()) | IFNE L1 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJOnAS()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isJOnAS ()Z | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isJOnAS()) | IFNE L1 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isOC4J()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isOC4J ()Z | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isOC4J()) | IFNE L1 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isOrion()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isOrion ()Z | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isOrion()) | IFNE L1 | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isTomcat()) | | INVOKESTATIC com.liferay.portal.kernel.util.ServerDetector.isTomcat ()Z | method-call(boolean com.liferay.portal.kernel.util.ServerDetector.isTomcat()) | IFEQ L2 | L1: ICONST_1 (line 67) | PUTSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z | GOTO L3 | L2: ICONST_0 (line 70) | PUTSTATIC com.liferay.filters.compression.CompressionFilter.useCompressionFilter Z | L3: NEW java.lang.StringBuffer (line 75) | DUP | constructor-call(void java.lang.StringBuffer.<init>()) | | INVOKESPECIAL java.lang.StringBuffer.<init> ()V | constructor-call(void java.lang.StringBuffer.<init>()) | GETSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | DUP | IFNONNULL L4 | POP | LDC "[Lcom.liferay.filters.compression.CompressionFilter;" | ICONST_0 | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.filters.compression.CompressionFilter.class (Ljava/lang/String;Z)Ljava/lang/Class; | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | DUP | PUTSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | method-call(java.lang.String java.lang.Class.getName()) | | L4: INVOKEVIRTUAL java.lang.Class.getName ()Ljava/lang/String; | method-call(java.lang.String java.lang.Class.getName()) | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | LDC ".encoding" | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | method-call(java.lang.String java.lang.StringBuffer.toString()) | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | method-call(java.lang.String java.lang.StringBuffer.toString()) | method-call(java.lang.String com.liferay.util.SystemProperties.get(java.lang.String)) | | INVOKESTATIC com.liferay.util.SystemProperties.get (Ljava/lang/String;)Ljava/lang/String; | method-call(java.lang.String com.liferay.util.SystemProperties.get(java.lang.String)) | LDC "UTF-8" | method-call(java.lang.String com.liferay.util.GetterUtil.getString(java.lang.String, java.lang.String)) | | INVOKESTATIC com.liferay.util.GetterUtil.getString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | method-call(java.lang.String com.liferay.util.GetterUtil.getString(java.lang.String, java.lang.String)) | PUTSTATIC com.liferay.filters.compression.CompressionFilter.ENCODING Ljava/lang/String; | NEW java.lang.StringBuffer (line 173) | DUP | constructor-call(void java.lang.StringBuffer.<init>()) | | INVOKESPECIAL java.lang.StringBuffer.<init> ()V | constructor-call(void java.lang.StringBuffer.<init>()) | GETSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | DUP | IFNONNULL L5 | POP | LDC "[Lcom.liferay.filters.compression.CompressionFilter;" | ICONST_0 | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.filters.compression.CompressionFilter.class (Ljava/lang/String;Z)Ljava/lang/Class; | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | DUP | PUTSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object)) | | L5: INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object)) | LDC "_ALREADY_FILTERED" | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer; | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.String)) | method-call(java.lang.String java.lang.StringBuffer.toString()) | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | method-call(java.lang.String java.lang.StringBuffer.toString()) | PUTSTATIC com.liferay.filters.compression.CompressionFilter._ALREADY_FILTERED Ljava/lang/String; | GETSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; (line 180) | DUP | IFNONNULL L6 | POP | LDC "[Lcom.liferay.filters.compression.CompressionFilter;" | ICONST_0 | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.filters.compression.CompressionFilter.class (Ljava/lang/String;Z)Ljava/lang/Class; | method-call(java.lang.Class com.liferay.filters.compression.CompressionFilter.class(java.lang.String, boolean)) | DUP | PUTSTATIC com.liferay.filters.compression.CompressionFilter.class$com$liferay$filters$compression$CompressionFilter Ljava/lang/Class; | method-call(org.apache.commons.logging.Log org.apache.commons.logging.LogFactory.getLog(java.lang.Class)) | | L6: INVOKESTATIC org.apache.commons.logging.LogFactory.getLog (Ljava/lang/Class;)Lorg/apache/commons/logging/Log; | method-call(org.apache.commons.logging.Log org.apache.commons.logging.LogFactory.getLog(java.lang.Class)) | PUTSTATIC com.liferay.filters.compression.CompressionFilter._log Lorg/apache/commons/logging/Log; | RETURN staticinitialization(void com.liferay.filters.compression.CompressionFilter.<clinit>()) end private static final void <clinit>() end public class com.liferay.filters.compression.CompressionFilter Exception thrown from AspectJ 1.5.2 This might be logged as a bug already -- find current bugs at http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler Bugs for exceptions thrown have titles File:line from the top stack, e.g., "SomeFile.java:243" If you don't find the exception below in a bug, please add a new bug at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ To make the bug a priority, please include a test program that can reproduce this exception. Unhandled kind of new -1: impdep1[254](1) when implementing on shadow constructor-call(void java.lang.NoClassDefFoundError.<init>()) when weaving classes when weaving when batch building BuildConfig[null] #Files=1 Unhandled kind of new -1: impdep1[254](1) java.lang.RuntimeException: Unhandled kind of new -1: impdep1[254](1) at org.aspectj.weaver.bcel.BcelShadow.deleteNewAndDup(BcelShadow.java:226) at org.aspectj.weaver.bcel.BcelShadow.prepareForMungers(BcelShadow.java:284) at org.aspectj.weaver.Shadow.implement(Shadow.java:470) 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:1574) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1525) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1305) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1127) 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:887) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:244) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:163) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:367) at org.aspectj.tools.ajc.Main.runMain(Main.java:246) at org.aspectj.tools.ajc.Main.main(Main.java:86) trouble in: public class com.liferay.filters.compression.CompressionStream extends javax.servlet.ServletOutputStream: private static final String _CONTENT_ENCODING = "Content-Encoding" private static final String _GZIP = "gzip" private static org.apache.commons.logging.Log _log private javax.servlet.http.HttpServletResponse _res private javax.servlet.ServletOutputStream _output private java.io.OutputStream _bufferedOutput private boolean _closed static Class class$com$liferay$filters$compression$CompressionStream [Synthetic] public void close() throws java.io.IOException: method-execution(void com.liferay.filters.compression.CompressionStream.close()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 56) | GETFIELD com.liferay.filters.compression.CompressionStream._closed Z | IFEQ L0 | constructor-call(void java.io.IOException.<init>()) | | INVOKESTATIC com.myco.error.ThrowablesAspect.aspectOf ()Lcom/myco/error/ThrowablesAspect; | | INVOKEVIRTUAL com.myco.error.ThrowablesAspect.ajc$before$com_myco_error_ThrowablesAspect$1$45ca0c36 ()V | | NEW java.io.IOException | | DUP | | INVOKESPECIAL java.io.IOException.<init> ()V (line 57) | constructor-call(void java.io.IOException.<init>()) | ATHROW | L0: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 60) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | INSTANCEOF java.io.ByteArrayOutputStream | IFEQ L1 | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 61) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | CHECKCAST java.io.ByteArrayOutputStream | ASTORE_1 // Ljava/io/ByteArrayOutputStream; baos | NEW java.io.ByteArrayOutputStream (line 63) | DUP | constructor-call(void java.io.ByteArrayOutputStream.<init>()) | | INVOKESPECIAL java.io.ByteArrayOutputStream.<init> ()V | constructor-call(void java.io.ByteArrayOutputStream.<init>()) | ASTORE_2 // Ljava/io/ByteArrayOutputStream; compressedContent | NEW java.util.zip.GZIPOutputStream (line 66) | DUP | ALOAD_2 // Ljava/io/ByteArrayOutputStream; compressedContent | constructor-call(void java.util.zip.GZIPOutputStream.<init>(java.io.OutputStream)) | | INVOKESPECIAL java.util.zip.GZIPOutputStream.<init> (Ljava/io/OutputStream;)V | constructor-call(void java.util.zip.GZIPOutputStream.<init>(java.io.OutputStream)) | ASTORE_3 // Ljava/util/zip/GZIPOutputStream; gzipOutput | ALOAD_3 // Ljava/util/zip/GZIPOutputStream; gzipOutput (line 69) | ALOAD_1 // Ljava/io/ByteArrayOutputStream; baos | method-call(byte[] java.io.ByteArrayOutputStream.toByteArray()) | | INVOKEVIRTUAL java.io.ByteArrayOutputStream.toByteArray ()[B | method-call(byte[] java.io.ByteArrayOutputStream.toByteArray()) | method-call(void java.util.zip.GZIPOutputStream.write(byte[])) | | INVOKEVIRTUAL java.util.zip.GZIPOutputStream.write ([B)V | method-call(void java.util.zip.GZIPOutputStream.write(byte[])) | ALOAD_3 // Ljava/util/zip/GZIPOutputStream; gzipOutput (line 70) | method-call(void java.util.zip.GZIPOutputStream.finish()) | | INVOKEVIRTUAL java.util.zip.GZIPOutputStream.finish ()V | method-call(void java.util.zip.GZIPOutputStream.finish()) | ALOAD_2 // Ljava/io/ByteArrayOutputStream; compressedContent (line 72) | method-call(byte[] java.io.ByteArrayOutputStream.toByteArray()) | | INVOKEVIRTUAL java.io.ByteArrayOutputStream.toByteArray ()[B | method-call(byte[] java.io.ByteArrayOutputStream.toByteArray()) | ASTORE 4 // [B compressedBytes | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 74) | GETFIELD com.liferay.filters.compression.CompressionStream._res Ljavax/servlet/http/HttpServletResponse; | ALOAD 4 // [B compressedBytes | ARRAYLENGTH | method-call(void javax.servlet.http.HttpServletResponse.setContentLength(int)) | | INVOKEINTERFACE javax.servlet.http.HttpServletResponse.setContentLength (I)V | method-call(void javax.servlet.http.HttpServletResponse.setContentLength(int)) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 75) | GETFIELD com.liferay.filters.compression.CompressionStream._res Ljavax/servlet/http/HttpServletResponse; | LDC "Content-Encoding" | LDC "gzip" | method-call(void javax.servlet.http.HttpServletResponse.addHeader(java.lang.String, java.lang.String)) | | INVOKEINTERFACE javax.servlet.http.HttpServletResponse.addHeader (Ljava/lang/String;Ljava/lang/String;)V | method-call(void javax.servlet.http.HttpServletResponse.addHeader(java.lang.String, java.lang.String)) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 77) | GETFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | ALOAD 4 // [B compressedBytes | method-call(void javax.servlet.ServletOutputStream.write(byte[])) | | INVOKEVIRTUAL javax.servlet.ServletOutputStream.write ([B)V | method-call(void javax.servlet.ServletOutputStream.write(byte[])) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 78) | GETFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | method-call(void javax.servlet.ServletOutputStream.flush()) | | INVOKEVIRTUAL javax.servlet.ServletOutputStream.flush ()V | method-call(void javax.servlet.ServletOutputStream.flush()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 79) | GETFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | method-call(void javax.servlet.ServletOutputStream.close()) | | INVOKEVIRTUAL javax.servlet.ServletOutputStream.close ()V | method-call(void javax.servlet.ServletOutputStream.close()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 81) | ICONST_1 | PUTFIELD com.liferay.filters.compression.CompressionStream._closed Z | GOTO L2 | L1: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 83) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | INSTANCEOF java.util.zip.GZIPOutputStream | IFEQ L2 | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 84) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | CHECKCAST java.util.zip.GZIPOutputStream | ASTORE_1 // Ljava/util/zip/GZIPOutputStream; gzipOutput | ALOAD_1 // Ljava/util/zip/GZIPOutputStream; gzipOutput (line 86) | method-call(void java.util.zip.GZIPOutputStream.finish()) | | INVOKEVIRTUAL java.util.zip.GZIPOutputStream.finish ()V | method-call(void java.util.zip.GZIPOutputStream.finish()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 88) | GETFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | method-call(void javax.servlet.ServletOutputStream.flush()) | | INVOKEVIRTUAL javax.servlet.ServletOutputStream.flush ()V | method-call(void javax.servlet.ServletOutputStream.flush()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 89) | GETFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | method-call(void javax.servlet.ServletOutputStream.close()) | | INVOKEVIRTUAL javax.servlet.ServletOutputStream.close ()V | method-call(void javax.servlet.ServletOutputStream.close()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 91) | ICONST_1 | PUTFIELD com.liferay.filters.compression.CompressionStream._closed Z | L2: RETURN (line 93) method-execution(void com.liferay.filters.compression.CompressionStream.close()) end public void close() throws java.io.IOException public void flush() throws java.io.IOException: method-execution(void com.liferay.filters.compression.CompressionStream.flush()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 96) | GETFIELD com.liferay.filters.compression.CompressionStream._closed Z | IFEQ L0 | constructor-call(void java.io.IOException.<init>()) | | INVOKESTATIC com.myco.error.ThrowablesAspect.aspectOf ()Lcom/myco/error/ThrowablesAspect; | | INVOKEVIRTUAL com.myco.error.ThrowablesAspect.ajc$before$com_myco_error_ThrowablesAspect$1$45ca0c36 ()V | | NEW java.io.IOException | | DUP | | INVOKESPECIAL java.io.IOException.<init> ()V (line 97) | constructor-call(void java.io.IOException.<init>()) | ATHROW | L0: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 100) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | method-call(void java.io.OutputStream.flush()) | | INVOKEVIRTUAL java.io.OutputStream.flush ()V | method-call(void java.io.OutputStream.flush()) | RETURN (line 101) method-execution(void com.liferay.filters.compression.CompressionStream.flush()) end public void flush() throws java.io.IOException public void write(int) throws java.io.IOException: method-execution(void com.liferay.filters.compression.CompressionStream.write(int)) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 104) | GETFIELD com.liferay.filters.compression.CompressionStream._closed Z | IFEQ L0 | constructor-call(void java.io.IOException.<init>()) | | INVOKESTATIC com.myco.error.ThrowablesAspect.aspectOf ()Lcom/myco/error/ThrowablesAspect; | | INVOKEVIRTUAL com.myco.error.ThrowablesAspect.ajc$before$com_myco_error_ThrowablesAspect$1$45ca0c36 ()V | | NEW java.io.IOException | | DUP | | INVOKESPECIAL java.io.IOException.<init> ()V (line 105) | constructor-call(void java.io.IOException.<init>()) | ATHROW | L0: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 112) | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | ILOAD_1 // I b | I2B | method-call(void java.io.OutputStream.write(int)) | | INVOKEVIRTUAL java.io.OutputStream.write (I)V | method-call(void java.io.OutputStream.write(int)) | RETURN (line 113) method-execution(void com.liferay.filters.compression.CompressionStream.write(int)) end public void write(int) throws java.io.IOException public void write(byte[]) throws java.io.IOException: method-execution(void com.liferay.filters.compression.CompressionStream.write(byte[])) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 116) | ALOAD_1 // [B b | ICONST_0 | ALOAD_1 // [B b | ARRAYLENGTH | method-call(void com.liferay.filters.compression.CompressionStream.write(byte[], int, int)) | | INVOKEVIRTUAL com.liferay.filters.compression.CompressionStream.write ([BII)V | method-call(void com.liferay.filters.compression.CompressionStream.write(byte[], int, int)) | RETURN (line 117) method-execution(void com.liferay.filters.compression.CompressionStream.write(byte[])) end public void write(byte[]) throws java.io.IOException public void write(byte[], int, int) throws java.io.IOException: method-execution(void com.liferay.filters.compression.CompressionStream.write(byte[], int, int)) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 120) | GETFIELD com.liferay.filters.compression.CompressionStream._closed Z | IFEQ L0 | constructor-call(void java.io.IOException.<init>()) | | INVOKESTATIC com.myco.error.ThrowablesAspect.aspectOf ()Lcom/myco/error/ThrowablesAspect; | | INVOKEVIRTUAL com.myco.error.ThrowablesAspect.ajc$before$com_myco_error_ThrowablesAspect$1$45ca0c36 ()V | | NEW java.io.IOException | | DUP | | INVOKESPECIAL java.io.IOException.<init> ()V (line 121) | constructor-call(void java.io.IOException.<init>()) | ATHROW | catch java.io.IOException -> E0 | | L0: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 129) | | GETFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | | ALOAD_1 // [B b | | ILOAD_2 // I off | | ILOAD_3 // I len | | method-call(void java.io.OutputStream.write(byte[], int, int)) | | | INVOKEVIRTUAL java.io.OutputStream.write ([BII)V | | method-call(void java.io.OutputStream.write(byte[], int, int)) | catch java.io.IOException -> E0 | GOTO L1 | E0: ASTORE 4 // Ljava/io/IOException; ioe (line 131) | GETSTATIC com.liferay.filters.compression.CompressionStream._log Lorg/apache/commons/logging/Log; (line 132) | ALOAD 4 // Ljava/io/IOException; ioe | method-call(java.lang.String java.io.IOException.getMessage()) | | INVOKEVIRTUAL java.io.IOException.getMessage ()Ljava/lang/String; | method-call(java.lang.String java.io.IOException.getMessage()) | method-call(void org.apache.commons.logging.Log.warn(java.lang.Object)) | | INVOKEINTERFACE org.apache.commons.logging.Log.warn (Ljava/lang/Object;)V | method-call(void org.apache.commons.logging.Log.warn(java.lang.Object)) | L1: RETURN (line 134) method-execution(void com.liferay.filters.compression.CompressionStream.write(byte[], int, int)) end public void write(byte[], int, int) throws java.io.IOException public boolean closed(): method-execution(boolean com.liferay.filters.compression.CompressionStream.closed()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 137) | GETFIELD com.liferay.filters.compression.CompressionStream._closed Z | IRETURN method-execution(boolean com.liferay.filters.compression.CompressionStream.closed()) end public boolean closed() public void reset(): method-execution(void com.liferay.filters.compression.CompressionStream.reset()) | RETURN (line 141) method-execution(void com.liferay.filters.compression.CompressionStream.reset()) end public void reset() static Class class(String, boolean): method-execution(java.lang.Class com.liferay.filters.compression.CompressionStream.class(java.lang.String, boolean)) | catch java.lang.ClassNotFoundException -> E0 | | ALOAD_0 (line 0) | | method-call(java.lang.Class java.lang.Class.forName(java.lang.String)) | | | INVOKESTATIC java.lang.Class.forName (Ljava/lang/String;)Ljava/lang/Class; | | method-call(java.lang.Class java.lang.Class.forName(java.lang.String)) | | ILOAD_1 | | IFNE L0 | | method-call(java.lang.Class java.lang.Class.getComponentType()) | | | INVOKEVIRTUAL java.lang.Class.getComponentType ()Ljava/lang/Class; | | method-call(java.lang.Class java.lang.Class.getComponentType()) | | L0: ARETURN | catch java.lang.ClassNotFoundException -> E0 | E0: NEW java.lang.NoClassDefFoundError | DUP_X1 | constructor-call(void java.lang.NoClassDefFoundError.<init>()) | | INVOKESPECIAL java.lang.NoClassDefFoundError.<init> ()V | constructor-call(void java.lang.NoClassDefFoundError.<init>()) | method-call(java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)) | | INVOKEVIRTUAL java.lang.Throwable.initCause (Ljava/lang/Throwable;)Ljava/lang/Throwable; | method-call(java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)) | ATHROW method-execution(java.lang.Class com.liferay.filters.compression.CompressionStream.class(java.lang.String, boolean)) end static Class class(String, boolean) private final void this(): method-execution(void com.liferay.filters.compression.CompressionStream.this()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 149) | ACONST_NULL | PUTFIELD com.liferay.filters.compression.CompressionStream._res Ljavax/servlet/http/HttpServletResponse; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 150) | ACONST_NULL | PUTFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 151) | ACONST_NULL | PUTFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 152) | ICONST_0 | PUTFIELD com.liferay.filters.compression.CompressionStream._closed Z | RETURN method-execution(void com.liferay.filters.compression.CompressionStream.this()) end private final void this() public void <init>(javax.servlet.http.HttpServletResponse) throws java.io.IOException: ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 47) INVOKESPECIAL javax.servlet.ServletOutputStream.<init> ()V constructor-execution(void com.liferay.filters.compression.CompressionStream.<init>(javax.servlet.http.HttpServletResponse)) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this | method-call(void com.liferay.filters.compression.CompressionStream.this()) | | INVOKESPECIAL com.liferay.filters.compression.CompressionStream.this ()V | method-call(void com.liferay.filters.compression.CompressionStream.this()) | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 49) | ALOAD_1 // Ljavax/servlet/http/HttpServletResponse; res | PUTFIELD com.liferay.filters.compression.CompressionStream._res Ljavax/servlet/http/HttpServletResponse; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 50) | ALOAD_1 // Ljavax/servlet/http/HttpServletResponse; res | method-call(javax.servlet.ServletOutputStream javax.servlet.http.HttpServletResponse.getOutputStream()) | | INVOKEINTERFACE javax.servlet.http.HttpServletResponse.getOutputStream ()Ljavax/servlet/ServletOutputStream; | method-call(javax.servlet.ServletOutputStream javax.servlet.http.HttpServletResponse.getOutputStream()) | PUTFIELD com.liferay.filters.compression.CompressionStream._output Ljavax/servlet/ServletOutputStream; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 51) | NEW java.io.ByteArrayOutputStream | DUP | constructor-call(void java.io.ByteArrayOutputStream.<init>()) | | INVOKESPECIAL java.io.ByteArrayOutputStream.<init> ()V | constructor-call(void java.io.ByteArrayOutputStream.<init>()) | PUTFIELD com.liferay.filters.compression.CompressionStream._bufferedOutput Ljava/io/OutputStream; | ALOAD_0 // Lcom/liferay/filters/compression/CompressionStream; this (line 52) | ICONST_0 | PUTFIELD com.liferay.filters.compression.CompressionStream._closed Z | RETURN (line 53) constructor-execution(void com.liferay.filters.compression.CompressionStream.<init>(javax.servlet.http.HttpServletResponse)) end public void <init>(javax.servlet.http.HttpServletResponse) throws java.io.IOException private static final void <clinit>(): staticinitialization(void com.liferay.filters.compression.CompressionStream.<clinit>()) | GETSTATIC com.liferay.filters.compression.CompressionStream.class$com$liferay$filters$compression$CompressionStream Ljava/lang/Class; (line 147) | DUP | IFNONNULL L0 | POP | LDC "[Lcom.liferay.filters.compression.CompressionStream;" | ICONST_0 | method-call(java.lang.Class com.liferay.filters.compression.CompressionStream.class(java.lang.String, boolean)) | | INVOKESTATIC com.liferay.filters.compression.CompressionStream.class (Ljava/lang/String;Z)Ljava/lang/Class; | method-call(java.lang.Class com.liferay.filters.compression.CompressionStream.class(java.lang.String, boolean)) | DUP | PUTSTATIC com.liferay.filters.compression.CompressionStream.class$com$liferay$filters$compression$CompressionStream Ljava/lang/Class; | method-call(org.apache.commons.logging.Log org.apache.commons.logging.LogFactory.getLog(java.lang.Class)) | | L0: INVOKESTATIC org.apache.commons.logging.LogFactory.getLog (Ljava/lang/Class;)Lorg/apache/commons/logging/Log; | method-call(org.apache.commons.logging.Log org.apache.commons.logging.LogFactory.getLog(java.lang.Class)) | PUTSTATIC com.liferay.filters.compression.CompressionStream._log Lorg/apache/commons/logging/Log; | RETURN staticinitialization(void com.liferay.filters.compression.CompressionStream.<clinit>()) end private static final void <clinit>() end public class com.liferay.filters.compression.CompressionStream Exception thrown from AspectJ 1.5.2 This might be logged as a bug already -- find current bugs at http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler Bugs for exceptions thrown have titles File:line from the top stack, e.g., "SomeFile.java:243" If you don't find the exception below in a bug, please add a new bug at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ To make the bug a priority, please include a test program that can reproduce this exception. Unhandled kind of new -1: impdep1[254](1) when implementing on shadow constructor-call(void java.lang.NoClassDefFoundError.<init>()) when weaving classes when weaving when batch building BuildConfig[null] #Files=1 Unhandled kind of new -1: impdep1[254](1) java.lang.RuntimeException: Unhandled kind of new -1: impdep1[254](1) at org.aspectj.weaver.bcel.BcelShadow.deleteNewAndDup(BcelShadow.java:226) at org.aspectj.weaver.bcel.BcelShadow.prepareForMungers(BcelShadow.java:284) at org.aspectj.weaver.Shadow.implement(Shadow.java:470) 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:1574) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1525) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1305) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1127) 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:887) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:244) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:163) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:367) at org.aspectj.tools.ajc.Main.runMain(Main.java:246) at org.aspectj.tools.ajc.Main.main(Main.java:86)
Created attachment 67138 [details] Reproducible bug test case Test case to reproduce the bug
thanks for that clear way to reproduce it. Looks like an unusual bytecode sequence AspectJ had not encountered before so I've allowed it through by making changes to AJ.