Problems using javaagent

20 views
Skip to first unread message

John Krasnay

unread,
Feb 16, 2009, 1:10:59 AM2/16/09
to Salve
Hi,

I'm just getting started with Salve, and I'm trying to use the
javaagent instrumentation in Tomcat running under Eclipse WTP. When I
try to start Tomcat I'm getting ClassNotFoundException:
salve.InstrumentationException, which is not surprising because it's
not in salve-agent-0.9.jar. I've tried adding salve-inst-0.9.jar to
the Tomcat classpath but then I get some obscure errors about Xerces
versions.

Any idea what's going on here?

jk

Igor Vaynberg

unread,
Feb 16, 2009, 2:16:44 AM2/16/09
to salve...@googlegroups.com
what xerces errors exactly are you getting?

-igor

Igor Vaynberg

unread,
Feb 16, 2009, 2:17:07 AM2/16/09
to salve...@googlegroups.com
btw, if you are using eclipse you might want to start with the eclipse
plugin rather then the agent.

-igor

On Sun, Feb 15, 2009 at 10:10 PM, John Krasnay <john.k...@gmail.com> wrote:
>

John Krasnay

unread,
Feb 16, 2009, 10:31:19 AM2/16/09
to Salve
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.LinkageError: loader (instance of org/apache/
catalina/loader/WebappClassLoader): attempted duplicate class
definition for name: "org/apache/xerces/jaxp/SAXParserFactoryImpl"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal
(WebappClassLoader.java:1819)
at org.apache.catalina.loader.WebappClassLoader.findClass
(WebappClassLoader.java:872)
at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1327)
at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1206)
at javax.xml.parsers.FactoryFinder.getProviderClass
(FactoryFinder.java:113)
at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:
144)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider
(FactoryFinder.java:296)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:221)
at javax.xml.parsers.SAXParserFactory.newInstance
(SAXParserFactory.java:125)
at org.apache.tomcat.util.digester.Digester.getFactory(Digester.java:
500)
at org.apache.tomcat.util.digester.Digester.getParser(Digester.java:
705)
at org.apache.tomcat.util.digester.Digester.getXMLReader
(Digester.java:979)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)
at org.apache.catalina.startup.TldConfig.tldScanStream(TldConfig.java:
518)
at org.apache.catalina.startup.TldConfig.tldScanJar(TldConfig.java:
476)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:301)
at org.apache.catalina.core.StandardContext.processTlds
(StandardContext.java:4441)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4248)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
443)
at org.apache.catalina.core.StandardService.start
(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:
710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
... 6 more

jk

On Feb 16, 2:16 am, Igor Vaynberg <igor.vaynb...@gmail.com> wrote:
> what xerces errors exactly are you getting?
>
> -igor
>

John Krasnay

unread,
Feb 16, 2009, 10:33:17 AM2/16/09
to Salve
I've installed the Eclipse plug-in but it's still not instrumenting my
class. Does my META-INF/salve.xml have to be in a particular place in
my project hierarchy? I've tried it on the classpath (i.e. src/main/
java/META-INF/salve.xml) and in the project root.

jk

On Feb 16, 2:17 am, Igor Vaynberg <igor.vaynb...@gmail.com> wrote:
> btw, if you are using eclipse you might want to start with the eclipse
> plugin rather then the agent.
>
> -igor
>

Igor Vaynberg

unread,
Feb 16, 2009, 1:16:56 PM2/16/09
to salve...@googlegroups.com
ouch. salve uses java's xml parser to parse salve.xml, and looks like
tomcat tries to load a different version of the same parser. you might
want to google for this tomcat error.

in the future i can rewrite the parser using an embedded streaming
parser, but this seems like a tomcat error.

-igor

Igor Vaynberg

unread,
Feb 16, 2009, 1:17:20 PM2/16/09
to salve...@googlegroups.com
META-INF/salve.xml has to be anywhere on the classpath, once you have
it you also have to right click the project and add the salve nature.

-igor
Reply all
Reply to author
Forward
0 new messages