Bug 36056

Summary: Ajc 1.1 rc1 java.lang.VerifyError
Product: [Tools] AspectJ Reporter: Rich Price <talas4>
Component: CompilerAssignee: Jim Hugunin <jim-aj>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P1    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 98   
Whiteboard:
Attachments:
Description Flags
Generic trace aspect.
none
Concrete trace aspect
none
Code to trace
none
class file with trace aspect weaving none

Description Rich Price CLA 2003-04-04 02:32:34 EST
Running in JRun servlet engine.  

javax.servlet.ServletException: (class: 
com/checkfree/cc/cap/SeamlessUserInfo_RH, method: process_aroundBody20 
signature: 
(Lcom/checkfree/cc/cap/SeamlessUserInfo_RH;Ljavax/servlet/http/HttpServletReques
t;Ljavax/servlet/http/HttpServletResponse;Lorg/aspectj/lang/JoinPoint;)V) 
Incompatible۟l
java.lang.VerifyError: (class: com/checkfree/cc/cap/SeamlessUserInfo_RH, 
method: process_aroundBody20 signature: 
(Lcom/checkfree/cc/cap/SeamlessUserInfo_RH;Ljavax/servlet/http/HttpServletReques
t;Ljavax/servlet/http/HttpServletResponse;Lorg/aspectj/lang/JoinPoint;)V) 
Incompatible۟l
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:115)
	at com.checkfree.common.util.ReqHandlerFactory.init
(ReqHandlerFactory.java:81)
	at com.checkfree.cc.cap.csrpay.init(csrpay.java:34)
	at allaire.jrun.servlet.JRunServletLoader.loadServletInstance
(JRunServletLoader.java:236)
	at allaire.jrun.servlet.JRunServletLoader.loadServletInstance
(JRunServletLoader.java:190)
	at allaire.jrun.servlet.JRunServletLoader.loadServlet
(JRunServletLoader.java:177)
	at allaire.jrun.servlet.JRunSE.getServletReference(JRunSE.java:1261)
	at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:895)
	at allaire.jrun.servlet.JRunRequestDispatcher.forward
(JRunRequestDispatcher.java:88)
	at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
	at allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
	at allaire.jrun.http.WebEndpoint.run(WebEndpoint.java:107)
	at allaire.jrun.ThreadPool.run(ThreadPool.java:272)
	at allaire.jrun.WorkerThread.run(WorkerThread.java:75)
Comment 1 Rich Price CLA 2003-04-04 02:36:34 EST
Created attachment 4455 [details]
Generic trace aspect. 

This is the concrete trace aspect:

import com.checkfree.aspects.*;
import org.apache.log4j.*;
import com.checkfree.common.util.*;
/**
* This concrete trace aspect specifies what we should trace.
 */

privileged aspect DebugTrace extends Trace
				 
{
    declare precedence: DebugTrace, *;
    
    private static Logger _log = null;
    
    static
    {
	String log4jPath =
GlobalPaths.getPath("properties_dir")+"log4j.properties";
	PropertyConfigurator.configure(log4jPath);
	_log = Logger.getLogger(TestLog.class);    
    }
	
    /** define the pointcut for what we trace */
    protected pointcut lexicalScope()
:within(com.checkfree.common.util.RequestHandler+);
	
    protected void log(String data)
    {
	_log.debug(data);	 
    }  
    
}
Comment 2 Rich Price CLA 2003-04-04 14:23:29 EST
Created attachment 4464 [details]
Concrete trace aspect
Comment 3 Rich Price CLA 2003-04-04 14:25:03 EST
Created attachment 4465 [details]
Code to trace

This is the code being traced by the concrete aspect.  If you run the main()
method, you get the verify error exception.
Comment 4 Jim Hugunin CLA 2003-04-10 14:17:56 EDT
Changing priority to make sure this gets fixed.
Comment 5 Jim Hugunin CLA 2003-04-10 17:45:42 EDT
The text of this error message should be helpful, does it really say:

Incompatible۟l

Or are those garbage characters at the end a result of copying/pasting?  It 
would help to isolate this bug if we could see better text for the error 
message.

Also, could you send me either the .class or a decompiled source listing for
class: com/checkfree/cc/cap/SeamlessUserInfo_RH?  This would also help in 
isolating the bug.
Comment 6 Rich Price CLA 2003-04-10 23:12:22 EDT
Incompatible۟l is the actual error message text, nothing follows the bogus 
characters.

I'm attaching the requested .class file. Anything else you need, let me know.
Comment 7 Rich Price CLA 2003-04-10 23:13:44 EDT
Created attachment 4553 [details]
class file with trace aspect weaving
Comment 8 Jim Hugunin CLA 2003-04-22 14:06:12 EDT
This bug has now been reproduced from the provided files.  I had to remove the
dependencies on log4j to make it a self-contained test, but after that it 
compiled cleanly and reproduces the reported error.
Comment 9 Jim Hugunin CLA 2003-04-22 18:33:14 EDT
The minimal test-case form of this bug as provided by the attached files has 
been fixed in the current tree and a test added in bugs/messyAround.  This was 
solved by the same fix as for bug 29665.

When the preview release for 1.1rc2 comes out, please verify that this fix 
indeed works in the larger system.