You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
spring-security:6.0.2
When SimpleAroundFilterObservation.wrap catched error, call error(ex); in catch block and stop(); in finally block.
Both methods call scope.close().
Describe the bug
spring-security:6.0.2
When
SimpleAroundFilterObservation.wrap
catched error, callerror(ex);
in catch block andstop();
in finally block.Both methods call
scope.close()
.spring-security/web/src/main/java/org/springframework/security/web/ObservationFilterChainDecorator.java
Lines 276 to 290 in 7ef659a
First
TracingContext.scopes
became empty. Second,TracingContext.getScope
return null. So NullPointerException is caused.Show the flow after
scope.close()
is called.scope.close()
is called in catch block.io.micrometer.observation.SimpleObservation.SimpleScope.close()
is called.io.micrometer.observation.SimpleObservation.notifyOnScopeClosed()
is called.io.micrometer.tracing.handler.TracingObservationHandler.onScopeClosed()
is called.tracingContext.getScope().close();
is called.tracingContext.setScope(previousScopeOnThisObservation);
setTracingContext.scopes
empty becausepreviousScopeOnThisObservation
is null.scope.close()
is called for the second time in finally block, step 5 cause NullPointerException becausetracingContext.getScope()
return null.To Reproduce
spring-security:6.0.2
micrometer-tracing:1.0.2
spring-boot-actuater-autoconfigure:3.0.3
Expected behavior
I think
scope.close();
should be called only once.Or, should I fix micrometer-tracing?
Thank you for your support.
The text was updated successfully, but these errors were encountered: