-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
nginx-ingress-controller crashes with SIGSEGV #3545
Comments
|
@aledbf - I'm experiencing the same issue, however there doesn't appear to be a 0.21.0 build for arm? https://quay.io/repository/kubernetes-ingress-controller/nginx-ingress-controller-arm |
@pvormittag that's correct. The luajit dependency (from openresty) only works on amd64 and arm64. I 've been trying to build from the original luajit source code but the NGINX compilation fails (because of lua-nginx-module) |
Any update on this? I'd seriously like to use this on my RPi-cluster :) |
arm64 works fine. Still cannot compile for arm |
Is there no way that the fix for nil pointer reference can't be backported into a patch version of 0.20.X ? That seems like a semi easy resolution. The dependency for luajit may had been introduced in 0.21, however this seems on the surface like a bug that I wouldn't expect introducing a dependency would fix. Alternatively, the stack-trace mentions prometheus and other metrics collections calls. |
I am sorry but we don't have the resources to do that. Keep in mind this is a community project and no one works full time on ingress-nginx.
That is not something we can control. To be able to use the lua nginx module we need to use https://github.com/openresty/luajit2 and in that dependency is where we have the problem with arm.
The flag |
@aledbf I'm a little confused. You mention |
p.s. understood that this is an open source project. Thanks for your hard work, and for the hard work of this community. |
We depend on luajit but between 0.20 and 0.21 support for arm was removed.
There is no correlation. That issue is fixed in 0.22 but there is no arm image because of the lack of luajit support. Edit: "was removed" not in this repository but in the upstream project |
Since:
It's worth noting for people landing here regarding Raspberry Pi 3 (like myself) that Ubuntu 18.04.02 LTS ARM64 Server offers a pre-installed image for Pi 3, and there are also many other 64-bit Pi OS alternatives such as Pi64, so there are at least options for getting compatibility with nginx ingress. Of course, if you also need ARM nodes, you can mix and match nodes and use node selectors to appropriately locate pods. I will be testing switching over to Ubuntu Server at the weekend, but feedback here seems pretty positive. |
So, the only pain point with ubuntu ARM64 so far has been about six hours realising that the So, when adding |
@SteveLillis I've been trying to get ARM again in #3852 but we get compilation errors. I'm still waiting for feedback from jaegertracing/jaeger-client-cpp#151 |
Thanks @aledbf For completeness, I can say that the Ubuntu ARM64 image linked above seems stable so far and that the latest version of nginx ingress for ARM64 does not have this issue, so either people can migrate to ARM64 or wait for @aledbf's changes to allow for an updated version of the ARM image. |
Closing. We enabled ARM again. ARM will be included in 0.25.0 |
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/.):
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.):
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT
NGINX Ingress controller version:
NGINX Ingress controller
Release: 0.20.0
Build: git-e8d8103
Repository: https://github.com/kubernetes/ingress-nginx.git
Image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller-arm:0.20.0
Kubernetes version (use
kubectl version
):Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.4", GitCommit:"bf9a868e8ea3d3a8fa53cbb22f566771b3f8068b", GitTreeState:"clean", BuildDate:"2018-10-25T19:06:30Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/arm"}
Environment:
uname -a
): Linux 4.14.79-v7+ Fix minor typos in Ingress admin guide #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/LinuxClient: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0+unreleased", GitCommit:"158d6dbb746f525bad9a0aacb698af7d370ac3f5", GitTreeState:"dirty"}
What happened:
The nginx-ingress-controller pod crashes with segfault after successful request to service.
kubectl get pod nginx-ingress-controller-59cc49954d-b5kch
curl --verbose ranger/towel/helloworld --header "Host: ranger"
kubectl get pod nginx-ingress-controller-59cc49954d-b5kc
:kubectl logs nginx-ingress-controller-59cc49954d-b5kch
:What you expected to happen:
The controller not to crash.
How to reproduce it (as minimally and precisely as possible):
ingress.yml used:
Service:
Deployment:
The towel-tool image runs a spring app returning a hello world message at /helloworld.
Anything else we need to know:
Only happens when a host is specified in the ingress rule.
The text was updated successfully, but these errors were encountered: