Open
Description
Description
We experience NullPointerException
s when using the coroutine extension with Java agent version 8.15.0. Removing the extension (but staying on the same agent version) does not result in the problem
Relevant Logs / Console output
java.lang.NullPointerException:
Cannot invoke
"com.newrelic.agent.Transaction.finishSegment(com.newrelic.agent.Segment,
java.lang.Throwable, com.newrelic.agent.tracers.Tracer, String)"
because the return value of
"com.newrelic.agent.TransactionActivity.getTransaction()" is null
at com.newrelic.agent.Segment$1.run(Segment.java:203)
at
com.newrelic.agent.ExpirationService.expireSegmentInline(ExpirationService.java:47)
at com.newrelic.agent.Segment.finish(Segment.java:215)
at com.newrelic.agent.Segment.end(Segment.java:144)
at
com.nr.agent.mongo.NRCallbackWrapper.onResult(NRCallbackWrapper.java:48)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97)
at
com.mongodb.internal.async.function.RetryingAsyncCallbackSupplier$RetryingCallback.onResult(RetryingAsyncCallbackSupplier.java:116)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97)
at
com.mongodb.internal.operation.FindOperation.lambda$exceptionTransformingCallback$6(FindOperation.java:369)
at
com.mongodb.internal.operation.AsyncOperationHelper.lambda$transformingReadCallback$19(AsyncOperationHelper.java:442)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.connection.LoadBalancedServer$LoadBalancedServerProtocolExecutor.lambda$executeAsync$0(LoadBalancedServer.java:186)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.connection.CommandProtocolImpl.lambda$executeAsync$0(CommandProtocolImpl.java:88)
at
com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.lambda$sendAndReceiveAsync$1(DefaultConnectionPool.java:802)
at
com.mongodb.internal.connection.UsageTrackingInternalConnection.lambda$sendAndReceiveAsync$1(UsageTrackingInternalConnection.java:155)
at
com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:47)
at
com.mongodb.internal.connection.InternalStreamConnection.lambda$sendCommandMessageAsync$0(InternalStreamConnection.java:555)
at
com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.onResult(InternalStreamConnection.java:849)
at
com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.onResult(InternalStreamConnection.java:812)
at
com.mongodb.internal.connection.InternalStreamConnection$3.completed(InternalStreamConnection.java:671)
at
com.mongodb.internal.connection.InternalStreamConnection$3.completed(InternalStreamConnection.java:668)
at
com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.completed(AsynchronousChannelStream.java:252)
at
com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.completed(AsynchronousChannelStream.java:235)
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Unknown Source)
at java.base/sun.nio.ch.Invoker.invokeDirect(Unknown Source)
at
java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(Unknown
Source)
at java.base/sun.nio.ch.AsynchronousSocketChannelImpl.read(Unknown
Source)
at java.base/sun.nio.ch.AsynchronousSocketChannelImpl.read(Unknown
Source)
at
com.mongodb.internal.connection.AsynchronousSocketChannelStream$AsynchronousSocketChannelAdapter.read(AsynchronousSocketChannelStream.java:148)
at
com.mongodb.internal.connection.AsynchronousChannelStream.readAsync(AsynchronousChannelStream.java:124)
at
com.mongodb.internal.connection.AsynchronousChannelStream.readAsync(AsynchronousChannelStream.java:113)
at
com.mongodb.internal.connection.InternalStreamConnection.readAsync(InternalStreamConnection.java:668)
at
com.mongodb.internal.connection.InternalStreamConnection.access$600(InternalStreamConnection.java:98)
at
com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.onResult(InternalStreamConnection.java:802)
at
com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.onResult(InternalStreamConnection.java:786)
at
com.mongodb.internal.connection.InternalStreamConnection$3.completed(InternalStreamConnection.java:671)
at
com.mongodb.internal.connection.InternalStreamConnection$3.completed(InternalStreamConnection.java:668)
at
com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.completed(AsynchronousChannelStream.java:252)
at
com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.comple<!--EndFragment-->
Your Environment
- NewRelic Java Agent 8.15.0
- JRE 17
- Kotlin 1.9.20