This repository has been archived by the owner on May 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 289
config.PoolSpans(true) will panic #416
Comments
Is this with the standard Jaeger reporter or a custom one? |
128bit not relevant, its the standard jaeger remote reporter |
func (r *remoteReporter) Report(span *Span) {
select {
case r.queue <- reporterQueueItem{itemType: reporterQueueItemSpan, span: span}:
atomic.AddInt64(&r.queueLength, 1)
default:
r.metrics.ReporterDropped.Inc(1)
}
} r.queue is a buffered channel |
@guanw the mr not exists in the latest release |
@yurishkuro I guess we need to push a new release for jaeger-client-go? |
Fixed in 2.17 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
i create a new tracer with 128bit and pool span options, found that the PoolSpans(true) options may panic my app
i walk through the code base, found that
and
but
t.reporter.Report(sp)
may be an async operation by put that span into a buffered channel, and then you guys put the span back into the pool, the span is still alive in the channel, this will cause some race condition or nil pointer reference therefore panic the programThe text was updated successfully, but these errors were encountered: