cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AppMon Agent causing problems on my application

First of all, sorry for the bad english, not my native one.

I'm facing with a strange problem when I instrument my jboss application with the dynatrace application. When this happens the application stops working and it shows the error below:

 JBWEB000065: HTTP Status 500 - 
com.google.common.collect.ComputationException: java.lang.VerifyError:
(class:
"class"$Proxy$_$$_WeldClientProxy,
method: doGet signature:
(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V)
Inconsistent stack height 0 != 1

org.jboss.resteasy.spi.UnhandledException: com.google.common.collect.ComputationException: java.lang.VerifyError: (class: "class"$Proxy$_$$_WeldClientProxy, method: doGet signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Inconsistent stack height 0 != 1
org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:264)
org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:208)
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:271)

anyone have any hint?

10 REPLIES 10

kyle_kowalski
Dynatrace Pro
Dynatrace Pro

Can you post your Java Parameters? I don't see anything in this error that would link directly back to our dtagent

#
# Specify options to pass to the Java VM.
#

if [ "x$JAVA_OPTS" = "x" ]; then

JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

JAVA_OPTS="$JAVA_OPTS
-agentpath:/"directory"/dynatrace-6.2/agent/lib64/libdtagent.so=name="agentname",server="server
ip and port" "

Joe_Hoffman
Dynatrace Leader
Dynatrace Leader

Can you post the entire output from "ps" command for those s process when it's running. I'm looking for any conflicting command line arguments.

harald_berger
Dynatrace Pro
Dynatrace Pro

Hi Douglas,

The class $Proxy$_$$_WeldClientProxy is dynamically generated and incompatible with dynatrace instrumentation. Please try to exclude all $Proxy$ classes from instrumentation.

See https://community.dynatrace.com/community/display/...

Best

Harry

Sorry for the late response and the bad english.

Harald suggested and I made the modification excluding the $proxy$ from the instrumentation but I'm not getting any purepaths now but the application are working as intended.

I think its not possible to get any information for this specific application right?

Joe_Hoffman
Dynatrace Leader
Dynatrace Leader

Perhaps your exclusion rule was too broad. Can you post a screenshot of your $Proxy$ Exclusion rule?

Sure!

"-agentpath:/<directory>/dynatrace62/agent/lib64/libdtagent.so=name=<agentname>,server=<server>,exclude=contains:$Proxy"

I would suggest to add the trailing '$' as suggested by Harry above. also I would suggest to change "contains" to "starts". e.g. RMI proxies are usually also looking like "$Proxy123.class" and those are instrumented by the RMI sensor.

so I would really set the exclude to "exclude=starts:$Proxy$"

HTH, Christian

Joe_Hoffman
Dynatrace Leader
Dynatrace Leader

My worry is that your exclusion rule is being applied to Purepath entry points and thus without an entry point being instrumented, you dont' get purepaths.

To resolve this you would need to determine whether a more approriate exclusion would work, or whether the root problem will exist for all servlets for your app.

A support case might be a more appropriate avenue for this type of issue.

Hey guys, sorry for the late response and bad english.

Looks like I found the problem with the parameters suggested by Harald and Christian

I needed to "escape" the entire string after the "exclude=contains:"

It worked with this string: "\$\P\r\o\x\y"

I tested it on a test environment, time to try on the production one now.

Thanks guys for the help!