Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ajdt-dev] Workaround for bug: java.lang.NoSuchMethodError:makeAdviceSig & new bug

Adrian: thanks for explaining that bug. It looks like the underlying issue I
was facing was a problem in loading a class that was woven into the code
using the M3a code. I did in fact build with M3a for this version, but I
think I had a version built with a dev build on my application classpath (as
well as the proper one in a parent classloader’s common directory) and the
classloader was picking this up when the other one couldn’t be found, giving
the error I saw. After cleaning, rebuilding, and removing any other version,
I get:

java.lang.NoClassDefFoundError:
glassbox/inspector/monitor/AbstractRequestMonitor
	at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java
:1)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:744)
	at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)

Verbose weaving output shows this file was indeed woven into:
info weaving 'org/springframework/web/servlet/FrameworkServlet'
weaveinfo Type 'org.springframework.web.servlet.FrameworkServlet'
(FrameworkServlet.java:346) advised by around advice from
'glassbox.inspector.monitor.operation.ServletMonitor'
(AbstractOperationMonitor.aj:86) [with runtime test]
weaveinfo Type 'org.springframework.web.servlet.FrameworkServlet'
(FrameworkServlet.java:355) advised by around advice from
'glassbox.inspector.monitor.operation.ServletMonitor'
(AbstractOperationMonitor.aj:86) [with runtime test]
weaveinfo Type 'org.springframework.web.servlet.FrameworkServlet'
(FrameworkServlet.java:364) advised by around advice from
'glassbox.inspector.monitor.operation.ServletMonitor'
(AbstractOperationMonitor.aj:86) [with runtime test]
weaveinfo Type 'org.springframework.web.servlet.FrameworkServlet'
(FrameworkServlet.java:373) advised by around advice from
'glassbox.inspector.monitor.operation.ServletMonitor'
(AbstractOperationMonitor.aj:86) [with runtime test]

However, the good news is this bug is now fixed: the code works with the
development build as of Sept. 9, so it's probably not worth spending more
time analyzing...



________________________________________
From: ajdt-dev-bounces@xxxxxxxxxxx [mailto:ajdt-dev-bounces@xxxxxxxxxxx] On
Behalf Of Adrian Colyer
Sent: Monday, September 12, 2005 2:56 AM
To: AspectJ Development Tools developer discussions
Subject: Re: [ajdt-dev] Workaround for bug:
java.lang.NoSuchMethodError:makeAdviceSig & new bug

We made a change to the runtime library in the last two weeks to use a more
efficient form of creation for thisJoinPointStaticPart objects (can result
in a significant footprint saving in large systems). makeAdviceSig is a new
method added into the runtime library as part of that work. So it's not a
bug... it's just a case of "always use the aspectjrt.jar that was
distributed with the compiler you used to build the code". The change is
backwards compatible with code generated in older versions of the compiler -
so any aspects compiled with prior versions can be used as is, but aspects
compiled with the current version are not backwards compatible with older
runtime libraries.
 
11 September 2005 08:48
To: "'AspectJ Development Tools developer discussions'"
<ajdt-dev@xxxxxxxxxxx>
cc: 
From: "Ron Bodkin" <rbodkin@xxxxxxxxxxxxxx>
Subject: [ajdt-dev] Workaround for bug:
java.lang.NoSuchMethodError:   makeAdviceSig & new bug
Hi All,

I have two questions about recent AspectJ 5 development builds.

I have a program that runs with the latest good developer build, but using
M3a gives this stack trace:
java.lang.NoSuchMethodError: makeAdviceSig
       
glassbox.inspector.monitor.AbstractRequestMonitor.<clinit>(AbstractRequestMo
nitor.aj:1)

Any idea what bug was causing this (hopefully its easy to know from the
recent fixes?!) Id like to explain why an alpha release of the code in my
AOP@Work article doesnt work with AspectJ 1.5.0 M3a


Ron Bodkin
Chief Technology Officer
New Aspects of Software
w: (415) 824-4690




Back to the top