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
docker daemon receives SIGSEGV #14173
Comments
Since the patch applies to a vendored package (in particular On a side note, can this segfault be caused without being run under GDB? |
Cyphar, thank you for your comment. I made a minimum program, say nw.go, to reproduce this strange behavior:
This program receives a signal SIGSEGV only if it is invoked from a gdb. This behavior must be something to do with the Go runtime or the Linux kernel itself.
|
@xylnao I'd send this to the Go mailing lists, see what they have to say. I think it's probably a bug in the Go runtime. |
@xylnao @cyphar The
But when you invoke the same program from gdb, gdb traps So this is not a bug but a feature of go runtime and |
@mrjana We can close the issue sure, but I feel like this deserves some discussion on the Go mailing list. It's weird that a Go binary doesn't play well with gdb. |
@cyphar I am not saying this should not be discussed in Go mailing list. But the way gdb works is that when you run a program inside gdb, the program is an inferior process of gdb and with So all in all, this is an expected behavior in both gdb and go runtime. |
I'm closing this issue per the conversation above, thanks all. |
Description of problem:
A docker daemon receives a signal SIGSEGV during creation of a container.
docker version:
Client version: 1.8.0-dev
Client API version: 1.20
Go version (client): go1.4.2
Git commit (client): cb6ca19
OS/Arch (client): linux/amd64
Server version: 1.8.0-dev
Server API version: 1.20
Go version (server): go1.4.2
Git commit (server): cb6ca19
OS/Arch (server): linux/amd64
docker info:
Containers: 26
Images: 143
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 195
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 2
Total Memory: 986.8 MiB
Name: ubuntu
ID: J7AL:63BJ:74EP:LB3B:GGMI:SPOK:334A:FJKY:XSG4:N5OY:YQLS:OXAE
WARNING: No swap limit support
uname -a:
Linux ubuntu 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Environment details (AWS, VirtualBox, physical, etc.):
VMware Professional Version 5.0.5 (1945692)
How reproducible:
Always
Steps to Reproduce:
Run any small command inside a docker container from another shell prompt.
Actual Results:
The docker daemon receives a signal SIGSEGV.
Expected Results:
The request is processed normally.
Additional info:
If you continue the debug session after this SIGSEGV, new threads are generated and the request looks processed normally.
A small patch seems to fix this problem, though I am not sure docker people like this idea. Sould I proceed to PR?
The text was updated successfully, but these errors were encountered: