Skip to content

go get crash with "fatal error: releasep: invalid p state" #15420

Description

@mewmew

Please answer these questions before submitting your issue. Thanks!

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

go version devel +944a085 Tue Apr 12 07:25:11 2016 +0000 linux/amd64

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

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/tmp/go"
GORACE=""
GOROOT="/home/u/go"
GOTOOLDIR="/home/u/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build466669372=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

  1. What did you do?
    If possible, provide a recipe for reproducing the error.
    A complete runnable program is good.
    A link on play.golang.org is best.
[~]$ export GOPATH=/tmp/go
[~]$ mkdir -p $GOPATH/src/engo.io
[~]$ cd $GOPATH/src/engo.io
[/tmp/go/src/engo.io]$ git clone -b core https://github.com/mewpull/engo
Cloning into 'engo'...
remote: Counting objects: 3761, done.
remote: Compressing objects: 100% (163/163), done.
remote: Total 3761 (delta 66), reused 0 (delta 0), pack-reused 3575
Receiving objects: 100% (3761/3761), 5.52 MiB | 1.09 MiB/s, done.
Resolving deltas: 100% (2367/2367), done.
Checking connectivity... done.
[/tmp/go/src/engo.io]$ go get engo.io/engo/...
releasep: m=0xc820478c00 m->p=0xc820018000 p->m=859535019008 m->mcache=0x7f0656cc5000 p->mcache=0x7f0656cc5000 p->status=3
fatal error: releasep: invalid p state

runtime stack:
runtime.throw(0x8230dc, 0x19)
    /home/u/go/src/runtime/panic.go:566 +0x8b
runtime.releasep(0x2000)
    /home/u/go/src/runtime/proc.go:3365 +0x208
runtime.gcstopm()
    /home/u/go/src/runtime/proc.go:1760 +0x42
runtime.schedule()
    /home/u/go/src/runtime/proc.go:2070 +0x105
runtime.park_m(0xc82012d380)
    /home/u/go/src/runtime/proc.go:2169 +0x11a
runtime.mcall(0x0)
    /home/u/go/src/runtime/asm_amd64.s:240 +0x5b

goroutine 1 [select]:
net/http.(*Transport).getConn(0xc820116000, 0xc8201603c0, 0x0, 0xc8201f78a0, 0x5, 0xc820497720, 0xb, 0x0, 0x0, 0xc0000000)
    /home/u/go/src/net/http/transport.go:746 +0x534
net/http.(*Transport).RoundTrip(0xc820116000, 0xc8201603c0, 0xc820116000, 0x0, 0x7f0600000000)
    /home/u/go/src/net/http/transport.go:347 +0x262
net/http.send(0xc8201603c0, 0x9db7e0, 0xc820116000, 0x0, 0x0, 0x0, 0xe8, 0xc820142260, 0x7f5da0)
    /home/u/go/src/net/http/client.go:257 +0x14d
net/http.(*Client).send(0xa02360, 0xc8201603c0, 0x0, 0x0, 0x0, 0xc820142260, 0x0, 0x1)
    /home/u/go/src/net/http/client.go:147 +0xef
net/http.(*Client).doFollowingRedirects(0xa02360, 0xc8201603c0, 0x8683c0, 0x1c, 0x0, 0x0)
    /home/u/go/src/net/http/client.go:502 +0x4d8
net/http.(*Client).Get(0xa02360, 0xc8201f78a0, 0x1c, 0x0, 0x0, 0xc8203227c1)
    /home/u/go/src/net/http/client.go:419 +0x89
main.httpsOrHTTP.func1(0x8064e5, 0x5, 0xc8203e4d38, 0x1, 0x4b1e04, 0x53d0d6, 0xc8203227c1)
    /home/u/go/src/cmd/go/http.go:86 +0x11b
main.httpsOrHTTP(0xc8203227c1, 0xb, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0xc820142248)
    /home/u/go/src/cmd/go/http.go:95 +0x9d
main.repoRootForImportDynamic(0xc8203227c1, 0xb, 0x0, 0x0, 0x0, 0x0)
    /home/u/go/src/cmd/go/vcs.go:660 +0x133
main.repoRootForImportPath(0xc8203227c1, 0xb, 0x0, 0x0, 0x0, 0x486c17)
    /home/u/go/src/cmd/go/vcs.go:551 +0x40d
main.downloadPackage(0xc820177c00, 0xc820075710, 0xc8203fd7c0)
    /home/u/go/src/cmd/go/get.go:381 +0x16b1
main.download(0xc8203227c1, 0xb, 0xc820177800, 0xc8201945a0, 0x0)
    /home/u/go/src/cmd/go/get.go:233 +0xc8d
main.download(0xc82032e641, 0x1a, 0xc820177400, 0xc8201945a0, 0x0)
    /home/u/go/src/cmd/go/get.go:305 +0x365
main.download(0xc8201a112c, 0xc, 0x0, 0xc8201945a0, 0x0)
    /home/u/go/src/cmd/go/get.go:305 +0x365
main.runGet(0x9fb880, 0xc8200741a0, 0x1, 0x1)
    /home/u/go/src/cmd/go/get.go:107 +0x135
main.main()
    /home/u/go/src/cmd/go/main.go:181 +0x642

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /home/u/go/src/runtime/asm_amd64.s:2013 +0x1

goroutine 20 [syscall]:
os/signal.signal_recv(0x0)
    /home/u/go/src/runtime/sigqueue.go:116 +0x15e
os/signal.loop()
    /home/u/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
    /home/u/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 9 [chan receive]:
net/http.(*Transport).dialConn(0xc820116000, 0x0, 0xc8201f78a0, 0x5, 0xc820497720, 0xb, 0x0, 0x0, 0x0)
    /home/u/go/src/net/http/transport.go:872 +0xd03
net/http.(*Transport).getConn.func4(0xc820116000, 0x0, 0xc8201f78a0, 0x5, 0xc820497720, 0xb, 0xc82006f080)
    /home/u/go/src/net/http/transport.go:741 +0x41
created by net/http.(*Transport).getConn
    /home/u/go/src/net/http/transport.go:743 +0x240

goroutine 34 [semacquire]:
panic(0x794ac0, 0xc820010140)
    /home/u/go/src/runtime/panic.go:497 +0x166
sync.poolCleanup()
    /home/u/go/src/sync/pool.go:199 +0x183
sync.(*Pool).Put(0xa01ef0, 0x7fe840, 0xc820307140)
    /home/u/go/src/sync/pool.go:82 +0x125
math/big.putNat(0xc8205a2600, 0x7, 0xb)
    /home/u/go/src/math/big/nat.go:555 +0x78
math/big.nat.divLarge(0xc82022bc80, 0x1, 0x5, 0xc820248cd0, 0x6, 0xa, 0xc820248d20, 0x6, 0xa, 0xc820248c80, ...)
    /home/u/go/src/math/big/nat.go:634 +0x633
math/big.nat.div(0xc82022bc80, 0x1, 0x5, 0xc820248cd0, 0x6, 0xa, 0xc820248d20, 0x6, 0xa, 0xc820248c80, ...)
    /home/u/go/src/math/big/nat.go:541 +0x3a8
math/big.(*Int).QuoRem(0xc8203f0c10, 0xc8203f0bd0, 0xc8203f0cd0, 0xc8203f0cb0, 0xc8203f0c10, 0xc8203f0cd0)
    /home/u/go/src/math/big/int.go:227 +0xaf
math/big.(*Int).GCD(0xc8203f0d28, 0xc8203f0db8, 0x0, 0xc820307000, 0xc82025b440, 0xc8205ca080)
    /home/u/go/src/math/big/int.go:464 +0x41f
math/big.(*Int).ModInverse(0xc8203f0db8, 0xc820307000, 0xc82025b440, 0x6)
    /home/u/go/src/math/big/int.go:581 +0x6c
crypto/elliptic.(*CurveParams).affineFromJacobian(0xc820432600, 0xc820306fc0, 0xc820306fe0, 0xc820307000, 0xc820306ea0, 0xc820306e60)
    /home/u/go/src/crypto/elliptic/elliptic.go:91 +0x85
crypto/elliptic.(*CurveParams).ScalarMult(0xc820432600, 0xc8204288c0, 0xc8204288e0, 0xc820384b10, 0x30, 0x30, 0x0, 0x0)
    /home/u/go/src/crypto/elliptic/elliptic.go:265 +0x243
crypto/ecdsa.Verify(0xc820428940, 0xc820385140, 0x30, 0x30, 0xc8203a5360, 0xc8203a5380, 0x0)
    /home/u/go/src/crypto/ecdsa/ecdsa.go:257 +0x538
crypto/x509.checkSignature(0xb, 0xc8200804c9, 0x329, 0x837, 0xc820080801, 0x67, 0x4ff, 0x7d5080, 0xc820428940, 0x0, ...)
    /home/u/go/src/crypto/x509/x509.go:731 +0x700
crypto/x509.(*Certificate).CheckSignature(0xc820097200, 0xb, 0xc8200804c9, 0x329, 0x837, 0xc820080801, 0x67, 0x4ff, 0x0, 0x4b1e04)
    /home/u/go/src/crypto/x509/x509.go:673 +0x8a
crypto/x509.(*Certificate).CheckSignatureFrom(0xc820096d80, 0xc820097200, 0xc82043dc00, 0x14)
    /home/u/go/src/crypto/x509/x509.go:667 +0xcd
crypto/x509.(*CertPool).findVerifiedParents(0xc8203c8360, 0xc820096d80, 0x0, 0x0, 0x1, 0xc8203a5340, 0x0, 0x1)
    /home/u/go/src/crypto/x509/cert_pool.go:57 +0xd3
crypto/x509.(*Certificate).buildChains(0xc820096d80, 0xc8203f1678, 0xc820274f90, 0x2, 0x2, 0xc8203f17c8, 0x1, 0x1, 0x2, 0x2, ...)
    /home/u/go/src/crypto/x509/verify.go:314 +0x40e
crypto/x509.(*Certificate).buildChains(0xc820096480, 0xc8203f1678, 0xc8203f1650, 0x1, 0x1, 0xc8203f17c8, 0x0, 0x0, 0x7f0656cc5960, 0x0, ...)
    /home/u/go/src/crypto/x509/verify.go:330 +0x8ff
crypto/x509.(*Certificate).Verify(0xc820096480, 0xc820497720, 0x7, 0xc8203c8360, 0xc8203c8420, 0xecead68bd, 0x28038de8, 0xa024e0, 0x0, 0x0, ...)
    /home/u/go/src/crypto/x509/verify.go:265 +0x1af
crypto/tls.(*clientHandshakeState).doFullHandshake(0xc8203f1e60, 0xc8201724d0, 0x66)
    /home/u/go/src/crypto/tls/handshake_client.go:274 +0x202e
crypto/tls.(*Conn).clientHandshake(0xc82032ac00, 0x8688d8, 0xc82032ac14)
    /home/u/go/src/crypto/tls/handshake_client.go:209 +0xea7
crypto/tls.(*Conn).Handshake(0xc82032ac00, 0x0, 0x0)
    /home/u/go/src/crypto/tls/conn.go:1100 +0x9f
net/http.(*Transport).dialConn.func3(0xc82032ac00, 0xc820432200, 0xc820494120)
    /home/u/go/src/net/http/transport.go:866 +0x21
created by net/http.(*Transport).dialConn
    /home/u/go/src/net/http/transport.go:871 +0xcc1
[/tmp/go/src/engo.io]$ go version
go version devel +944a085 Tue Apr 12 07:25:11 2016 +0000 linux/amd64
[/tmp/go/src/engo.io]$ go get engo.io/engo/...
[/tmp/go/src/engo.io]$
  1. What did you expect to see?

Successful download and compilation of the engo.io/engo/... packages.

  1. What did you see instead?

The fatal error reported above. Note, that the second invocation of go get engo.io/engo/... worked flawlessly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions