Skip to content
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

runtime: TestGoexitDeadlock and others fail #19390

Closed
alexbrainman opened this issue Mar 3, 2017 · 2 comments

Comments

Projects
None yet
3 participants
@alexbrainman
Copy link
Member

commented Mar 3, 2017

What version of Go are you using (go version)?

go version devel +c05b06a Wed Feb 15 19:31:55 2017 +0000 windows/386

What operating system and processor architecture are you using (go env)?

set GOARCH=386
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=386
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=c:\dev
set GORACE=
set GOROOT=c:\dev\go
set GOTOOLDIR=c:\dev\go\pkg\tool\windows_386
set GCCGO=gccgo
set GO386=
set CC=gcc
set GOGCCFLAGS=-m32 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\DOCUME1\brainman\LOCALS1\Temp\go-build571219651=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2

What did you do?

go test -short runtime

What did you expect to see?

All tests PASS.

What did you see instead?

--- FAIL: TestGoexitDeadlock (0.03s)
        crash_test.go:106: testprog GoexitDeadlock exit status: exit status 2
        crash_test.go:229: output:
                fatal error: all goroutines are asleep - deadlock!

                goroutine 18 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120b8)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:243 +0xce

                goroutine 19 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120c0)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:245 +0x124


                want output containing: no goroutines (main called runtime.Goexit) - deadlock!
--- FAIL: TestGoexitCrash (0.04s)
        crash_test.go:106: testprog GoexitExit exit status: exit status 2
        crash_test.go:265: output:
                fatal error: all goroutines are asleep - deadlock!

                goroutine 18 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120b8)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:243 +0xce

                goroutine 19 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120c0)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:245 +0x124


                want output containing: no goroutines (main called runtime.Goexit) - deadlock!
--- FAIL: TestGoexitInPanic (0.02s)
        crash_test.go:106: testprog GoexitInPanic exit status: exit status 2
        crash_test.go:322: output does not start with "fatal error: no goroutines (main called runtime.Goexit) - deadlock!":
                fatal error: all goroutines are asleep - deadlock!

                goroutine 18 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120b8)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:243 +0xce

                goroutine 19 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120c0)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:245 +0x124
--- FAIL: TestRecoveredPanicAfterGoexit (0.02s)
        crash_test.go:106: testprog RecoveredPanicAfterGoexit exit status: exit status 2
        crash_test.go:385: output does not start with "fatal error: no goroutines (main called runtime.Goexit) - deadlock!":
                fatal error: all goroutines are asleep - deadlock!

                goroutine 18 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120b8)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:243 +0xce

                goroutine 19 [chan receive, locked to thread]:
                internal/poll.(*ioSrv).ProcessRemoteIO(0x111120c0)
                        c:/dev/go/src/internal/poll/fd_windows.go:143 +0xd7
                created by internal/poll.startServer
                        c:/dev/go/src/internal/poll/fd_windows.go:245 +0x124
--- FAIL: TestNumGoroutine (0.02s)
        proc_test.go:359: want "1\n", got "3\n"
FAIL
FAIL    runtime 28.911s

I bisected this to:

c05b06a12d005f50e4776095a60d6bd9c2c91fac is the first bad commit
commit c05b06a12d005f50e4776095a60d6bd9c2c91fac
Author: Ian Lance Taylor <iant@golang.org>
Date:   Fri Feb 10 15:17:38 2017 -0800

I use Windows XP.

Alex

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Mar 4, 2017

@alexbrainman Can you see if https://golang.org/cl/37762 fixes the problem for you? I have no way to test on Windows XP. The WIndows trybot and gomote machines are newer versions that do not have this problem.

@gopherbot

This comment has been minimized.

Copy link

commented Mar 4, 2017

CL https://golang.org/cl/37762 mentions this issue.

@gopherbot gopherbot closed this in 61d9cd7 Mar 6, 2017

@golang golang locked and limited conversation to collaborators Mar 6, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.