-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VerifyInstrumentationException: Target class class co.paralleluniverse.fibers.servlet.FiberHttpServlet$ServletSuspendableRunnable has not been instrumented. #70
Comments
What is the exact Tomcat version (e.g. 8.0.36)? |
The Tomcat version is 8.0.36. I also checked in tomcat-7.0.70. Same issue happened in both scenarios. |
My OS platform is windows 10. |
I am getting the same exception. I am on Tomcat 8.0.33/Windows 7. No clue why. I have done the tomcat instrumentation, Jersey integration. |
I removed comsat Jersey from my application and tried to use the comsat spring4 integration, as I thought Jersey integration isnt working correctly. But I got the same exception with comsat-spring mvc as well. I think the main problem here was that the instrumentation was never happening in the first place on my Tomcat 8.0.33 through the tomcat quasar classloader. I downloaded the spring4 example and ran it on 8.0.23, and it worked seamlessly. I then removed Jersey integration from my application, used spring-mvc and then deployed it on the same 8.0.23 and it worked. I notice that I can see the quasar classloader's warning messages on 8.0.23 but not on 8.0.33. That's an indication that classloading is working on 8.0.23 but not on 8.0.33.
My application had Jersey, then Spring which is being deployed on a standalone tomcat. |
I am working on a jax-rs restful web service maven project. I am using standalone tomcat 8.0 server. i copied comsat tomcat loader to Tomcat 8.0\lib folder. I created webapp/META-INF/context.xml file. The content of the file is given below:
My web service code is pasted below:
package com.mkyong.rest;
import java.io.IOException;
import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
import co.paralleluniverse.fibers.Fiber;
import co.paralleluniverse.fibers.SuspendExecution;
import co.paralleluniverse.fibers.Suspendable;
@singleton
@path("/hello")
public class HelloWorldService {
@get
@path("/{param}")
@Suspendable
public Response getMsg(@PathParam("param") String msg) throws IOException, SuspendExecution, InterruptedException{
String output = "Jersey say : " + msg;
Fiber.sleep(1000);
return Response.status(200).entity(output).build();
}
}
The exception raised only when i put Fiber.sleep(1000); Otherwise code working properly.
The exception is copied below :
INFO: Server startup in 3068 ms
QUASAR WARNING: Quasar Java Agent isn't running. If you're using another instrumentation method you can ignore this message; otherwise, please refer to the Getting Started section in the Quasar documentation.
Jul 20, 2016 7:22:05 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jersey-serlvet] in context with path [/eln-dataexternalization] threw exception
co.paralleluniverse.fibers.VerifyInstrumentationException: Target class class co.paralleluniverse.fibers.servlet.FiberHttpServlet$ServletSuspendableRunnable has not been instrumented.
at co.paralleluniverse.fibers.Fiber.verifyInstrumentedTarget(Fiber.java:251)
at co.paralleluniverse.fibers.Fiber.(Fiber.java:180)
at co.paralleluniverse.fibers.Fiber.(Fiber.java:224)
at co.paralleluniverse.fibers.Fiber.(Fiber.java:449)
at co.paralleluniverse.fibers.servlet.FiberHttpServlet.service(FiberHttpServlet.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
The client UI page is blank.
Thanks,
Basil
The text was updated successfully, but these errors were encountered: