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

Add context leak debugger #860

Merged
merged 1 commit into from
Aug 2, 2020
Merged

Add context leak debugger #860

merged 1 commit into from
Aug 2, 2020

Conversation

trask
Copy link
Member

@trask trask commented Jul 31, 2020

Based on @iNikem's findings in #787.

E.g. in #787, @iNikem found that the context leak sometimes leaks into the Tomcat thread pool via AsyncContext.dispatch(). And so to prevent that particular leak we could instrument AsyncContext.dispatch() and push an empty context into scope.

This debug option (which is enabled by default when running tests) will hopefully help to track down the source of these leaks, and then we can see if we can fix them (similar to AsyncContext.dispatch() example above).

@anuraaga
Copy link
Contributor

anuraaga commented Aug 1, 2020

While we discussed that the gRPC context override is a strange API how about using it here so it affects all instrumentation, not just executor? This change reminds me a lot of brave's strict scope decorator, which we should copy as much as we can from

https://github.com/openzipkin/brave/blob/b6931d92938ca8063e08749f0db1339227186392/brave/src/main/java/brave/propagation/StrictScopeDecorator.java

@trask trask marked this pull request as ready for review August 2, 2020 04:18
@trask
Copy link
Member Author

trask commented Aug 2, 2020

Here's an example of a context leak log for the sporadic failure in #430:

04:07:26.105 [my-system-akka.actor.default-dispatcher-5] ERROR io.opentelemetry.auto.test.base.HttpServerTestAdvice - a context leak was detected. it was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.forkjoin.ForkJoinPool.execute(ForkJoinPool.java:2953)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:32)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection.innerRead$1(TcpConnection.scala:263)
akka.io.TcpConnection.doRead(TcpConnection.scala:276)
akka.io.TcpConnection$$anonfun$connected$1.applyOrElse(TcpConnection.scala:104)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:31)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection.innerRead$1(TcpConnection.scala:263)
akka.io.TcpConnection.doRead(TcpConnection.scala:276)
akka.io.TcpConnection$$anonfun$connected$1.applyOrElse(TcpConnection.scala:104)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection.innerRead$1(TcpConnection.scala:263)
akka.io.TcpConnection.doRead(TcpConnection.scala:276)
akka.io.TcpConnection$$anonfun$connected$1.applyOrElse(TcpConnection.scala:104)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.forkjoin.ForkJoinPool.execute(ForkJoinPool.java:2953)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:32)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection$PendingBufferWrite.writeToChannel$1(TcpConnection.scala:469)
akka.io.TcpConnection$PendingBufferWrite.doWrite(TcpConnection.scala:475)
akka.io.TcpConnection.doWrite(TcpConnection.scala:292)
akka.io.TcpConnection$$anonfun$handleWriteMessages$1.applyOrElse(TcpConnection.scala:170)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:31)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection$PendingBufferWrite.writeToChannel$1(TcpConnection.scala:469)
akka.io.TcpConnection$PendingBufferWrite.doWrite(TcpConnection.scala:475)
akka.io.TcpConnection.doWrite(TcpConnection.scala:292)
akka.io.TcpConnection$$anonfun$handleWriteMessages$1.applyOrElse(TcpConnection.scala:170)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:232)
akka.stream.stage.GraphStageLogic$StageActor$$anonfun$2.apply(GraphStage.scala:223)
akka.actor.FunctionRef.$bang(ActorRef.scala:737)
akka.io.TcpConnection$PendingBufferWrite.writeToChannel$1(TcpConnection.scala:469)
akka.io.TcpConnection$PendingBufferWrite.doWrite(TcpConnection.scala:475)
akka.io.TcpConnection.doWrite(TcpConnection.scala:292)
akka.io.TcpConnection$$anonfun$handleWriteMessages$1.applyOrElse(TcpConnection.scala:170)
scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.io.TcpConnection.aroundReceive(TcpConnection.scala:32)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.forkjoin.ForkJoinPool.execute(ForkJoinPool.java:2953)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:32)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.LocalActorRef.$bang(ActorRef.scala:411)
akka.stream.impl.io.TcpConnectionStage$TcpStreamLogic$$anon$6.onPush(TcpStages.scala:347)
akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:523)
akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:480)
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:376)
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:606)
akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:485)
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:581)
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:749)
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:764)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:671)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:31)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.LocalActorRef.$bang(ActorRef.scala:411)
akka.stream.impl.io.TcpConnectionStage$TcpStreamLogic$$anon$6.onPush(TcpStages.scala:347)
akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:523)
akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:480)
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:376)
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:606)
akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:485)
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:581)
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:749)
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:764)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:671)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.LocalActorRef.$bang(ActorRef.scala:411)
akka.stream.impl.io.TcpConnectionStage$TcpStreamLogic$$anon$6.onPush(TcpStages.scala:347)
akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:523)
akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:480)
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:376)
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:606)
akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:485)
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:581)
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:749)
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:764)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:671)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.forkjoin.ForkJoinPool.execute(ForkJoinPool.java:2953)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:32)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1217)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1195)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:73)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.unbatchedExecute(Future.scala:100)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:99)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:31)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1217)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1195)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:73)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.unbatchedExecute(Future.scala:100)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:99)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.registerForExecution(Dispatcher.scala:126)
akka.dispatch.Dispatcher.dispatch(Dispatcher.scala:63)
akka.actor.dungeon.Dispatch$class.sendMessage(Dispatch.scala:158)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.Cell$class.sendMessage(ActorCell.scala:363)
akka.actor.ActorCell.sendMessage(ActorCell.scala:447)
akka.actor.RepointableActorRef.$bang(RepointableActorRef.scala:177)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:521)
akka.stream.impl.fusing.GraphInterpreterShell$$anonfun$interpreter$1.apply(ActorGraphInterpreter.scala:517)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.akka$stream$stage$GraphStageLogic$ConcurrentAsyncCallback$$onAsyncInput(GraphStage.scala:1235)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invokeWithPromise(GraphStage.scala:1226)
akka.stream.stage.GraphStageLogic$ConcurrentAsyncCallback.invoke(GraphStage.scala:1219)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1217)
akka.stream.impl.fusing.MapAsync$Holder.apply(Ops.scala:1195)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:73)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.unbatchedExecute(Future.scala:100)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:99)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:99)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.Future$$anonfun$transform$1.apply(Future.scala:222)
scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.forkjoin.ForkJoinPool.execute(ForkJoinPool.java:2953)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:32)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.executeTask(Dispatcher.scala:80)
akka.dispatch.MessageDispatcher.unbatchedExecute(AbstractDispatcher.scala:154)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.MessageDispatcher.execute(AbstractDispatcher.scala:88)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool.execute(ForkJoinExecutorConfigurator.scala:31)
akka.dispatch.ExecutorServiceDelegate$class.execute(ThreadPoolBuilder.scala:217)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.executeTask(Dispatcher.scala:80)
akka.dispatch.MessageDispatcher.unbatchedExecute(AbstractDispatcher.scala:154)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.MessageDispatcher.execute(AbstractDispatcher.scala:88)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.Dispatcher$LazyExecutorServiceDelegate.execute(Dispatcher.scala:42)
akka.dispatch.Dispatcher.executeTask(Dispatcher.scala:80)
akka.dispatch.MessageDispatcher.unbatchedExecute(AbstractDispatcher.scala:154)
akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:122)
akka.dispatch.MessageDispatcher.execute(AbstractDispatcher.scala:88)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.MessageDispatcher.execute(AbstractDispatcher.scala:88)
scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
scala.concurrent.Promise$class.complete(Promise.scala:55)
scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:157)
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
which was propagated from:
io.opentelemetry.auto.bootstrap.instrumentation.java.concurrent.ExecutorInstrumentationUtils.setupState(ExecutorInstrumentationUtils.java:94)
akka.dispatch.MessageDispatcher.execute(AbstractDispatcher.scala:88)
scala.concurrent.impl.Future$.apply(Future.scala:31)
scala.concurrent.Future$.apply(Future.scala:494)
AkkaHttpTestAsyncWebServer$$anonfun$1.apply(AkkaHttpTestAsyncWebServer.scala:36)
AkkaHttpTestAsyncWebServer$$anonfun$1.apply(AkkaHttpTestAsyncWebServer.scala:34)
io.opentelemetry.auto.instrumentation.akkahttp.AkkaHttpServerInstrumentation$AsyncWrapper.apply(AkkaHttpServerInstrumentation.java:138)
io.opentelemetry.auto.instrumentation.akkahttp.AkkaHttpServerInstrumentation$AsyncWrapper.apply(AkkaHttpServerInstrumentation.java:122)
akka.stream.impl.fusing.MapAsync$$anon$25.onPush(Ops.scala:1262)
akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:523)
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:409)
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:606)
akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:485)
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:581)
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:749)
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:764)
akka.actor.Actor$class.aroundReceive(Actor.scala:539)
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:671)
akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
akka.actor.ActorCell.invoke(ActorCell.scala:583)
akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
akka.dispatch.Mailbox.run(Mailbox.scala:229)
akka.dispatch.Mailbox.exec(Mailbox.scala:241)
akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

@anuraaga
Copy link
Contributor

anuraaga commented Aug 2, 2020

Did you happen to think about the more generic approach? Maybe in a future PR?

@trask
Copy link
Member Author

trask commented Aug 2, 2020

Did you happen to think about the more generic approach? Maybe in a future PR?

Oh sorry I forgot about that. Yes, we should do that, especially given our concerns about context propagation across threads. I just opened #874 to track.

@trask trask merged commit 4fd062c into open-telemetry:master Aug 2, 2020
@trask trask deleted the context-leak-debugger branch August 2, 2020 19:03
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

Successfully merging this pull request may close these issues.

3 participants