Bug 412473 - Bug Caused by: java.lang.IllegalStateException: Unable to pack method, jump (with opcode=198) is too far:107812
Summary: Bug Caused by: java.lang.IllegalStateException: Unable to pack method, jump (...
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: LTWeaving (show other bugs)
Version: 1.7.4   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-08 03:22 EDT by krishna jasty CLA
Modified: 2013-07-08 19:28 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description krishna jasty CLA 2013-07-08 03:22:36 EDT
When i run the aspect in websphere the following error is occuring immediately.

Jul 8, 2013 11:58:05 AM org.aspectj.weaver.tools.Jdk14Trace error
SEVERE: jsp_servlet/_target/_source/_security/__pcsec_process_1
Throwable occurred: java.lang.IllegalStateException: Unexpected problem whilst preparing bytecode for jsp_servlet._target._source._security.__pcsec_process_1.processBody(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/http/HttpSession;)V
	at org.aspectj.apache.bcel.generic.MethodGen.getMethod(MethodGen.java:699)
	at org.aspectj.weaver.bcel.LazyMethodGen.getMethod(LazyMethodGen.java:462)
	at org.aspectj.weaver.bcel.LazyClassGen.writeBack(LazyClassGen.java:514)
	at org.aspectj.weaver.bcel.LazyClassGen.getJavaClassBytesIncludingReweavable(LazyClassGen.java:696)
	at org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor(BcelWeaver.java:1442)
	at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1404)
	at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1186)
	at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527)
	at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363)
	at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:111)
	at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:181)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:377)
	at java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:275)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74)
	at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:302)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
	at weblogic.servlet.jsp.JspClassLoader.findClass(JspClassLoader.java:48)
	at weblogic.servlet.jsp.JspClassLoader.loadClass(JspClassLoader.java:33)
	at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:243)
	at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:216)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:244)
	at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:327)
	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at iims.filter.IIMSRestrictDirectURLAccessFilter.doFilter(IIMSRestrictDirectURLAccessFilter.java:218)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:527)
	at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
	at jsp_servlet._target._source._security.__pcsec_process.processBody(__pcsec_process.java:3388)
	at jsp_servlet._target._source._security.__pcsec_process._jspService(__pcsec_process.java:3467)
	at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
	at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
	at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at iims.filter.IIMSRestrictDirectURLAccessFilter.doFilter(IIMSRestrictDirectURLAccessFilter.java:218)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.lang.IllegalStateException: Unable to pack method, jump (with opcode=198) is too far: 107812
	at org.aspectj.apache.bcel.generic.InstructionBranch.updatePosition(InstructionBranch.java:176)
	at org.aspectj.apache.bcel.generic.BranchHandle.updatePosition(BranchHandle.java:101)
	at org.aspectj.apache.bcel.generic.InstructionList.setPositions(InstructionList.java:919)
	at org.aspectj.apache.bcel.generic.InstructionList.setPositions(InstructionList.java:863)
	at org.aspectj.apache.bcel.generic.InstructionList.getByteCode(InstructionList.java:981)
	at org.aspectj.apache.bcel.generic.MethodGen.getMethod(MethodGen.java:697)
	... 50 more
Jul 8, 2013 11:58:05 AM org.aspectj.weaver.tools.Jdk14Trace info
INFO: Dumping to /home0/weblogic/Oracle/Middleware/user_projects/domains/BaNCSCluster/./ajcore.20130708.115805.240.txt
Comment 1 Andrew Clement CLA 2013-07-08 19:28:55 EDT
Looks like you are weaving too much stuff into a method - is that likely?

The size of a method is limited to 64k and having a jump destination of 107812bytes away indicates we are trying to squeeze too much code into a method. Are you using very vague advice that is targeting too many join points or are you weaving methods that are very large to begin with?