Skip to content

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

Closed
@mewmew

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.

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