Closed trnl closed 6 years ago
@rnburn can you help with this?
Yep. Will take a look.
@trnl thank you for the detailed report.
On another cluster, I can't reproduce it, and the only difference which I noticed is the:
> uname -a
Linux ... 3.10.0-693.2.2.el7.x86_64 #1 SMP Sat Sep 9 03:55:24 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
@rnburn , maybe I can provide some additional information?
@trnl - The information is good. I can tell it's crashing here. I haven't had a chance yet to investigate further but will try to fix this week.
I looked into this and I couldn't find any nginx documentation that says you can't modify headers_in like this line of the code does, but I inquired on nginx-devel to see if there's anything I'm missing.
Something like a smaller isolated example that reproduces the problem or a core dump could help to narrow the problem down.
@rnburn that was fast http://mailman.nginx.org/pipermail/nginx-devel/2018-March/010988.html
@rnburn any update on this?
Hey @aledbf - I have plans to put in a fix based off of this answer I got on the nginx mailing list: http://mailman.nginx.org/pipermail/nginx-devel/2018-March/011008.html
@aledbf - I put in https://github.com/opentracing-contrib/nginx-opentracing/pull/37 with a fix for this.
The fix required doing some reorganization of the module. I removed the vendor-specific modules in favor of loading in the tracer's dynamically with opentracing_load_tracer
from a JSON representation of their configuration.
I can put in a PR to update ingress-nginx to do this.
I think this approach should work better for you since you can use an embedded YAML configuration for the tracer without having any code to worry about handling a tracer's specific options.
@rnburn thank you for the update, the new json file makes sense.
I can put in a PR to update ingress-nginx to do this.
Sure. First let me update the nginx image (I am updating the modules) (https://github.com/kubernetes/ingress-nginx/pull/2537)
@rnburn what's the format of the new json configuration for zipkin
It's got a schema file for the configuration: https://github.com/rnburn/zipkin-cpp-opentracing/blob/master/zipkin_opentracing/tracer_configuration.schema.json
@trnl can you test quay.io/aledbf/nginx-ingress-controller:0.382
?
It contains the fix for the bug you reported.
Thanks in advance
Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/.): no
What keywords did you search in NGINX Ingress controller issues before filing this one? (If you have found any duplicates, you should instead reply there.): nginx, opentracing, zipkin, segfault
Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT
NGINX Ingress controller version: 0.10.2
Kubernetes version (use
kubectl version
):Environment:
uname -a
):nginx-ingress configmap values
What happened: worker process exiting due to segfault
What you expected to happen: no segfaults, no worker restarts
How to reproduce it (as minimally and precisely as possible): Happens almost every 2 seconds
Anything else we need to know:
After analysis of the coredump it's visible that the issue in the opentracing insert_header block: