-
Notifications
You must be signed in to change notification settings - Fork 17.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
os: process already finished, when sending syscall.SIGCONT #19314
Comments
For the record, your program runs with no error on GNU/Linux (Ubuntu Trusty). I see that you have a loop. How often do you see the error from |
Hi, the program works, but problem is that the |
To be clear, when I run the program on GNU/Linux, I see an infinite sequence of
That is what I mean when I say that your program runs with no error. I understand from your reply that you see an error every single time in the loop. |
This is what I get when using
But when using
I have been told I have a race condition on the command structure, need to test this but besides that probably could be related to an issue related to the operating system, so far seems to be only happening on mac os X (darwin), I tested on FreeBSD 11 and is also working as expected with both options. |
Could just be Darwin-specific behavior of the sleep command. |
I am using
|
Which version of Darwin are you running? I think this could happen if |
16.4.0
|
Here's a condensed example:
On darwin (or at least on Sierra) this will print That syscall is what's used by |
@jbardin Thanks a lot for trying that out. Sounds like we have to stop using |
CL https://golang.org/cl/37610 mentions this issue. |
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?go version go1.8 darwin/amd64
What operating system and processor architecture are you using (
go env
)?GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/nbari/projects/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/6x/tk00dzdd2hz4x3_ybq5zcw1w0000gn/T/go-build113311936=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
What did you do?
When executing a process and sending signals to it using: Process.Signal I notice that after sending the second signal syscall.SIGCONT I got a: os: process already finished but if using syscall.Kill everything works as expected.
For demonstrative purposes I have created this naive example:
https://play.golang.org/p/5CVRyXp2Py
What did you expect to see?
nil
What did you see instead?
os: process already finished
The text was updated successfully, but these errors were encountered: