-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
XRay Tracer: Segfault in finishSpan #10142
Comments
cc @marcomagdy |
@dpetzold we've communicated on twitter about this, but I'll put it here for posterity. Can you try to narrow down the validation field that's causing the error? comment out individual validators in the |
@marcomagdy I can confirm is the the validation on the name. Below is the output from the xray daemon when the name validation is commented out. I'll look into why its not being set.
|
Ok so the name wasn't being set since |
Thanks. I'll have a PR with a fix up shortly. |
So the final fix for this is to make sure segment_name is not empty (#10520) |
Title: "Segfault in Envoy::Extensions::Tracers::XRay::Span::finishSpan"*
Description:
Hello. After enabling the xray tracer Envoy segfaults on the first request. I was able to determine the fault occurs at this line:
https://github.com/envoyproxy/envoy/blob/master/source/extensions/tracers/xray/tracer.cc#L71
The code is covered here:
https://github.com/envoyproxy/envoy/blob/master/test/extensions/tracers/xray/tracer_test.cc
which passes for me locally. So I am at a loss how to duplicate via test. Removing the validation code here:
https://github.com/envoyproxy/envoy/blob/master/source/extensions/tracers/xray/daemon.proto
Fixed the segfault but I know that is not the correct solution and I have unfortunately hit my knowledge limit. The stacktrace is from a dbg build using master. I will be happy to look at this more with some guidance. Thank you.
Repro steps:
Enable the tracer using the sample config below. Make a request.
Config:
Call Stack:
The text was updated successfully, but these errors were encountered: