Skip to content
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

Fiber blocking methods throwing "Uninstrumented Method" warning in Dropwizard + jOOQ #94

Open
sirsavary opened this issue Apr 25, 2017 · 0 comments

Comments

@sirsavary
Copy link

The application is running with the Quasar java agent and the verifyinstrumentation flag. Any and all fiber blocking methods (tested both Strand.sleep and Fiber.sleep) or comsat-jOOQ related stuff throws errors. I have verified that the datasource instance is wrapped and the main application class is extending FiberApplication. The request itself is running in a fiber (verified with Strand.currentStrand).

UsersResource.kt

@Path("/users")
@Produces(MediaType.TEXT_PLAIN)
class UsersResource {
    @GET
    @Timed
    @Throws(SuspendExecution::class)
    fun sayHello(): String {
        DSL.using(Main.dataSource, SQLDialect.DEFAULT).use { ctx ->
            UsersDao(ctx.configuration()).insert(Users(1, "username", "password"))
            return "ok"
        }
    }
}

Error

WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack: 
	at co.paralleluniverse.common.util.ExtendedStackTrace.here (ExtendedStackTrace.java:44 bci: 8)
	at co.paralleluniverse.fibers.Fiber.checkInstrumentation (Fiber.java:1613 bci: 0)
	at co.paralleluniverse.fibers.Fiber.verifySuspend (Fiber.java:1586 bci: 6)
	at co.paralleluniverse.fibers.FiberAsync.run (FiberAsync.java:118 bci: 92)
	at co.paralleluniverse.fibers.FiberAsync.runBlocking (FiberAsync.java:409 bci: 113)
	at co.paralleluniverse.fibers.jdbc.JDBCFiberAsync.exec (JDBCFiberAsync.java:29 bci: 119)
	at co.paralleluniverse.fibers.jdbc.FiberDataSource.getConnection (FiberDataSource.java:76 bci: 97)
	at co.paralleluniverse.fibers.jdbc.FiberDataSource.getConnection (FiberDataSource.java:35 bci: 1) (optimized)
	at org.jooq.impl.DataSourceConnectionProvider.acquire) (DataSourceConnectionProvider.java:86 bci: 4) **
	at org.jooq.impl.DefaultExecuteContext.connection (DefaultExecuteContext.java:582 bci: 38) **
	at org.jooq.impl.AbstractQuery.execute (AbstractQuery.java:316 bci: 337) !! (instrumented suspendable calls at: [])
	at org.jooq.impl.TableRecordImpl.storeInsert0 (TableRecordImpl.java:198 bci: 73) **
	at org.jooq.impl.TableRecordImpl$1.operate (TableRecordImpl.java:169 bci: 13) **
	at org.jooq.impl.RecordDelegate.operate (RecordDelegate.java:128 bci: 491)
	at org.jooq.impl.TableRecordImpl.storeInsert (TableRecordImpl.java:165 bci: 25) **
	at org.jooq.impl.TableRecordImpl.insert (TableRecordImpl.java:153 bci: 2) **
	at org.jooq.impl.TableRecordImpl.insert (TableRecordImpl.java:148 bci: 11) **
	at org.jooq.impl.DAOImpl.insert (DAOImpl.java:166 bci: 62) **
	at org.jooq.impl.DAOImpl.insert (DAOImpl.java:147 bci: 5) **
	at me.sirsavary.resources.UsersResource.sayHello (UsersResource.kt:23 bci: 154) !! (instrumented suspendable calls at: [])
	at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62 bci: 100)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43 bci: 6)
	at java.lang.reflect.Method.invoke (Method.java:498 bci: 56)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke (ResourceMethodInvocationHandlerFactory.java:81 bci: 163)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run (AbstractJavaResourceMethodDispatcher.java:144 bci: 364)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke (AbstractJavaResourceMethodDispatcher.java:161 bci: 237)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch (JavaResourceMethodDispatcherProvider.java:205 bci: 165)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch (AbstractJavaResourceMethodDispatcher.java:99 bci: 5) (optimized)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke (ResourceMethodInvoker.java:389 bci: 170)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply (ResourceMethodInvoker.java:347 bci: 280)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply (ResourceMethodInvoker.java:102 bci: 5) (optimized)
	at org.glassfish.jersey.server.ServerRuntime$2.run (ServerRuntime.java:326 bci: 385)
	at org.glassfish.jersey.internal.Errors$1.call (Errors.java:271 bci: 76)
	at org.glassfish.jersey.internal.Errors$1.call (Errors.java:267 bci: 1) (optimized)
	at org.glassfish.jersey.internal.Errors.process (Errors.java:315 bci: 170)
	at org.glassfish.jersey.internal.Errors.process (Errors.java:297 bci: 113)
	at org.glassfish.jersey.internal.Errors.process (Errors.java:267 bci: 106)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope (RequestScope.java:317 bci: 249)
	at org.glassfish.jersey.server.ServerRuntime.process (ServerRuntime.java:305 bci: 449)
	at org.glassfish.jersey.server.ApplicationHandler.handle (ApplicationHandler.java:1154 bci: 113)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl (WebComponent.java:473 bci: 293)
	at org.glassfish.jersey.servlet.WebComponent.service (WebComponent.java:427 bci: 6) (optimized)
	at org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:388 bci: 230)
	at org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:341 bci: 571)
	at org.glassfish.jersey.servlet.ServletContainer.service (ServletContainer.java:228 bci: 226)
	at co.paralleluniverse.fibers.dropwizard.FiberServletContainer.service (FiberServletContainer.java:89 bci: 136)
	at co.paralleluniverse.fibers.servlet.FiberHttpServlet.exec0 (FiberHttpServlet.java:228 bci: 19) **
	at co.paralleluniverse.fibers.servlet.FiberHttpServlet.exec (FiberHttpServlet.java:203 bci: 13) **
	at co.paralleluniverse.fibers.servlet.FiberHttpServlet$ServletSuspendableRunnable.run (FiberHttpServlet.java:176 bci: 144)
	at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run (SuspendableUtils.java:44 bci: 4)
	at co.paralleluniverse.strands.SuspendableUtils$VoidSuspendableCallable.run (SuspendableUtils.java:32 bci: 1)
	at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1019 bci: 11)
	at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1014 bci: 1)

This is using Dropwizard v1.1.0, Quasar v0.72, and Comsat v0.7.0.

I can provide more information if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant