-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Panic on start-up in 2.3.0-rc4 #7207
Comments
Hello, could you provide the full logs because I don't reproduce, at startup, with your configuration. thanks. |
Here you go. |
I still not able to reproduce could you create a minimal reproducible example? |
Maybe it's related to the architecture: I'm using amd64, and you are using arm and the nil pointer comes from:
🤔 |
I'm actually on ARM32 (not 64). Even with the following minimum config, I'm getting this error: docker-compose.yml:
Note: was running in docker swarm, but this example is just straight docker. traefik.yml:
traefik.log:
|
Not very familiar with the traefik code base (or golang for that matter), but going down the stack trace, this seems to originate from this call in /cmd/traefik/traefik.go:
How that ends up in the metrics/pilot.go code, I do not understand ... |
I know the source of the bug, but currently I'm not able to reproduce, I have to find an arm device. //go:nosplit
func goLoad64(addr *uint64) uint64 {
if uintptr(unsafe.Pointer(addr))&7 != 0 {
*(*int)(nil) = 0 // crash on unaligned uint64 <----------------------------------------
}
_ = *addr // if nil, fault before taking the lock
var r uint64
addrLock(addr).lock()
r = *addr
addrLock(addr).unlock()
return r
} |
sure. if I can help, let me know. |
I was able to reproduce with my old Pi2-B. The bug is due to alignment issues in 32-bit systems related to structures within the go-kit library. I did a PR in order to fix this problem: go-kit/kit#1007 |
Closed by #7289. |
What did you do?
Since I moved to 2.3.0-rc4, traefik panics during start-up with the following call stack:
The offending call is in src/github.com/containous/traefik/pkg/metrics/pilot.go:229
Looks like it's related to the new Pilot functionality. And indeed, if I remove my pilot token from my static configuration, the problem doesn't occur.
Output of
traefik version
: (What version of Traefik are you using?)What is your environment & configuration (arguments, toml, provider, platform, ...)?
If applicable, please paste the log output in DEBUG level (
--log.level=DEBUG
switch)Nothing exceptional in the logs, except for the stack trace mentioned above:
The text was updated successfully, but these errors were encountered: