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

cmd/compile: unexpected return pc for runtime.deductSweepCredit #35780

Closed
OneOfOne opened this issue Nov 22, 2019 · 1 comment
Closed

cmd/compile: unexpected return pc for runtime.deductSweepCredit #35780

OneOfOne opened this issue Nov 22, 2019 · 1 comment

Comments

@OneOfOne
Copy link
Contributor

@OneOfOne OneOfOne commented Nov 22, 2019

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

$ go version
go version devel +1c5bd3459b 2019-11-22 16:04:32 +0000 linux/amd64

Does this issue reproduce with the latest release?

No.

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

go env Output
$ go env
GO111MODULE="off"
GOARCH="amd64"
GOBIN="/home/oneofone/code/go/bin"
GOCACHE="/tmp/.gocache"
GOENV="/home/oneofone/.config/go/env"
GOEXE=""
GOFLAGS="-gcflags=-c=16"
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/oneofone/code/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/src/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/src/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build008327452=/tmp/go-build -gno-record-gcc-switches"
GOROOT/bin/go version: go version devel +1c5bd3459b 2019-11-22 16:04:32 +0000 linux/amd64
GOROOT/bin/go tool compile -V: compile version devel +1c5bd3459b 2019-11-22 16:04:32 +0000
uname -sr: Linux 5.3.12-arch1-1
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a
/usr/lib/libc.so.6: GNU C Library (GNU libc) stable release version 2.30.
lldb --version: lldb version 9.0.0
gdb --version: GNU gdb (GDB) 8.3.1

What did you do?

go build on a private project, running it again worked fine, and I can't reproduce reliably, probably related to #35777

What did you expect to see?

successful build

What did you see instead?

# go.opencensus.io/plugin/ochttp
runtime: unexpected return pc for runtime.deductSweepCredit called from 0xc0004f14a0
stack: frame={sp:0xc000713368, fp:0xc000713370} stack=[0xc000712000,0xc000714000)
000000c000713268:  0000000000000000  0000000000000000 
000000c000713278:  0000000000000000  0000000000000000 
000000c000713288:  0000000000000000  0000000000000000 
000000c000713298:  0000000000000000  0000000000000000 
000000c0007132a8:  0000000000000000  0000000000000000 
000000c0007132b8:  0000000000000000  0000000000000000 
000000c0007132c8:  0000000000000000  0000000000000000 
000000c0007132d8:  0000000000000000  0000000000000000 
000000c0007132e8:  0000000000000000  0000000000000000 
000000c0007132f8:  0000000000000000  0000000000000000 
000000c000713308:  0000000000000000  0000000000000000 
000000c000713318:  0000000000000000  0000000000000000 
000000c000713328:  0000000000000000  0000000000000000 
000000c000713338:  0000000000000000  0000000000000000 
000000c000713348:  0000000000000000  0000000000000000 
000000c000713358:  0000000000000000  0000000000000000 
000000c000713368: <000000c0004f14a0 >000000c0004f1740 
000000c000713378:  0000000000000000  0000000000000000 
000000c000713388:  0000000000000000  0000000000000000 
000000c000713398:  0000000000000000  3fc63a64d3f7f014 
000000c0007133a8:  0000000000000000  0000000000000000 
000000c0007133b8:  0000000000000000  410c574000000000 
000000c0007133c8:  0000000000000000  0000000000000000 
000000c0007133d8:  0000000000000000  20697fbb341a30a1 
000000c0007133e8:  07c3ba80fa38a661  0000000000000000 
000000c0007133f8:  0000000000000000  000000c0001184a0 
000000c000713408:  000000000040c433 <runtime.mallocgc+1939>  00007fef59a5f648 
000000c000713418:  0000000000000008  0000000000000028 
000000c000713428:  0000000000e0f2c0  0000000000203000 
000000c000713438:  000000c000498380  000000c0001184e0 
000000c000713448:  0000000000000028  000000c0004861e0 
000000c000713458:  0000000000000060  0000000000000060 
000000c000713468:  000000c00007a700 
fatal error: unknown caller pc

runtime stack:
runtime.throw(0xe52ba0, 0x11)
        /usr/src/go/src/runtime/panic.go:1106 +0x72
runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xc000102d80, 0x0, 0x0, 0x7fffffff, 0xe6f580, 0xc000091d18, 0x0, ...)
        /usr/src/go/src/runtime/traceback.go:273 +0x19fb
runtime.copystack(0xc000102d80, 0x2000)
        /usr/src/go/src/runtime/stack.go:888 +0x291
runtime.newstack()
        /usr/src/go/src/runtime/stack.go:1042 +0x20b
runtime.morestack()
        /usr/src/go/src/runtime/asm_amd64.s:449 +0x8f

goroutine 24 [copystack]:
runtime: unexpected return pc for runtime.deductSweepCredit called from 0xc0004f14a0
stack: frame={sp:0xc000713368, fp:0xc000713370} stack=[0xc000712000,0xc000714000)
000000c000713268:  0000000000000000  0000000000000000 
000000c000713278:  0000000000000000  0000000000000000 
000000c000713288:  0000000000000000  0000000000000000 
000000c000713298:  0000000000000000  0000000000000000 
000000c0007132a8:  0000000000000000  0000000000000000 
000000c0007132b8:  0000000000000000  0000000000000000 
000000c0007132c8:  0000000000000000  0000000000000000 
000000c0007132d8:  0000000000000000  0000000000000000 
000000c0007132e8:  0000000000000000  0000000000000000 
000000c0007132f8:  0000000000000000  0000000000000000 
000000c000713308:  0000000000000000  0000000000000000 
000000c000713318:  0000000000000000  0000000000000000 
000000c000713328:  0000000000000000  0000000000000000 
000000c000713338:  0000000000000000  0000000000000000 
000000c000713348:  0000000000000000  0000000000000000 
000000c000713358:  0000000000000000  0000000000000000 
000000c000713368: <000000c0004f14a0 >000000c0004f1740 
000000c000713378:  0000000000000000  0000000000000000 
000000c000713388:  0000000000000000  0000000000000000 
000000c000713398:  0000000000000000  3fc63a64d3f7f014 
000000c0007133a8:  0000000000000000  0000000000000000 
000000c0007133b8:  0000000000000000  410c574000000000 
000000c0007133c8:  0000000000000000  0000000000000000 
000000c0007133d8:  0000000000000000  20697fbb341a30a1 
000000c0007133e8:  07c3ba80fa38a661  0000000000000000 
000000c0007133f8:  0000000000000000  000000c0001184a0 
000000c000713408:  000000000040c433 <runtime.mallocgc+1939>  00007fef59a5f648 
000000c000713418:  0000000000000008  0000000000000028 
000000c000713428:  0000000000e0f2c0  0000000000203000 
000000c000713438:  000000c000498380  000000c0001184e0 
000000c000713448:  0000000000000028  000000c0004861e0 
000000c000713458:  0000000000000060  0000000000000060 
000000c000713468:  000000c00007a700 
runtime.deductSweepCredit(0xc0004f1740, 0x0)
        /usr/src/go/src/runtime/mgcsweep.go:420 +0x152 fp=0xc000713370 sp=0xc000713368 pc=0x422cb2
created by cmd/compile/internal/gc.parseFiles
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:39 +0x209

goroutine 1 [runnable]:
cmd/compile/internal/gc.oldname(0xc00045c3c0, 0xc0004d61a0)
        /usr/src/go/src/cmd/compile/internal/gc/dcl.go:260 +0x453
cmd/compile/internal/gc.mkname(0xc00045c3c0, 0xc000120de0)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:1570 +0x2b
cmd/compile/internal/gc.(*noder).mkname(0xc0003cc090, 0xc00040d5e0, 0xc00040d5e0)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:1416 +0x86
cmd/compile/internal/gc.(*noder).expr(0xc0003cc090, 0x100f860, 0xc00040d5e0, 0x250b000000002)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:606 +0xc25
cmd/compile/internal/gc.(*noder).expr(0xc0003cc090, 0x100f9a0, 0xc000121e30, 0x1f10000000002)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:632 +0xc9d
cmd/compile/internal/gc.(*noder).typeExpr(0xc0003cc090, 0x100f9a0, 0xc000121e30, 0x2502000000002)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:789 +0x3f
cmd/compile/internal/gc.(*noder).structType(0xc0003cc090, 0xc0003eb240, 0xc0003eb240)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:819 +0x138
cmd/compile/internal/gc.(*noder).expr(0xc0003cc090, 0x100faa0, 0xc0003eb240, 0xc0004c05a0)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:686 +0x466
cmd/compile/internal/gc.(*noder).typeExprOrNil(0xc0003cc090, 0x100faa0, 0xc0003eb240, 0xc0003d5538)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:794 +0x44
cmd/compile/internal/gc.(*noder).typeDecl(0xc0003cc090, 0xc0003eb200, 0xc0003eb200)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:437 +0x83
cmd/compile/internal/gc.(*noder).decls(0xc0003cc090, 0xc0003eef00, 0x8, 0x8, 0x7fef577ebdd8, 0xc0003d56e8, 0x40bfb6)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:298 +0x56a
cmd/compile/internal/gc.(*noder).node(0xc0003cc090)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:244 +0xcc
cmd/compile/internal/gc.parseFiles(0xc0001245e0, 0x9, 0xa, 0x2)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:62 +0x35f
cmd/compile/internal/gc.Main(0xe6e700)
        /usr/src/go/src/cmd/compile/internal/gc/main.go:543 +0x2702
main.main()
        /usr/src/go/src/cmd/compile/main.go:50 +0xac

goroutine 21 [runnable]:
internal/poll.runtime_Semrelease(0xc000616028)
        /usr/src/go/src/runtime/sema.go:75 +0x48
internal/poll.(*FD).destroy(0xc000616000, 0x1, 0x0)
        /usr/src/go/src/internal/poll/fd_unix.go:80 +0x71
internal/poll.(*FD).decref(0xc000616000, 0x1, 0x0)
        /usr/src/go/src/internal/poll/fd_mutex.go:213 +0x42
internal/poll.(*FD).Close(0xc000616000, 0x522c5e, 0xc0005a1f10)
        /usr/src/go/src/internal/poll/fd_unix.go:100 +0x4f
os.(*file).close(0xc000616000, 0xff95c9, 0xaaaaaaaaaaaaaa)
        /usr/src/go/src/os/file_unix.go:248 +0x38
os.(*File).Close(0xc000614000, 0x100a1e0, 0xc000614000)
        /usr/src/go/src/os/file_unix.go:237 +0x33
cmd/compile/internal/gc.parseFiles.func1(0xc000114240, 0xc0003cc240, 0x7ffec679a507, 0x42)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:53 +0x252
created by cmd/compile/internal/gc.parseFiles
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:39 +0x209

goroutine 23 [runnable]:
cmd/compile/internal/syntax.(*parser).newName(...)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2184
cmd/compile/internal/syntax.(*parser).name(0xc000594000, 0xdf65c0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2194 +0x5e
cmd/compile/internal/syntax.(*parser).operand(0xc000594000, 0x515d01, 0xc000594018, 0xc000620260)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:807 +0x1c3
cmd/compile/internal/syntax.(*parser).pexpr(0xc000594000, 0x1, 0xc0000b75a0, 0x413f5f)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:903 +0x4c
cmd/compile/internal/syntax.(*parser).unaryExpr(0xc000594000, 0x400, 0x400)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:762 +0x482
cmd/compile/internal/syntax.(*parser).binaryExpr(0xc000594000, 0x0, 0x5001ef00000073, 0x0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:659 +0x2f
cmd/compile/internal/syntax.(*parser).expr(0xc000594000, 0x0, 0x20)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:652 +0x34
cmd/compile/internal/syntax.(*parser).bare_complitexpr(0xc000594000, 0xc000594018, 0x203000)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1042 +0x60
cmd/compile/internal/syntax.(*parser).complitexpr.func1(0xc000594000)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1057 +0x3c
cmd/compile/internal/syntax.(*parser).list(0xc000594000, 0xd, 0x11, 0x10, 0xc000613820, 0x20, 0x1df65c0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:451 +0xad
cmd/compile/internal/syntax.(*parser).complitexpr(0xc000594000, 0xc000620400)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1055 +0xe3
cmd/compile/internal/syntax.(*parser).pexpr(0xc000594000, 0x1, 0x0, 0x100f980)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1019 +0xa45
cmd/compile/internal/syntax.(*parser).unaryExpr(0xc000594000, 0x200, 0xd)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:762 +0x482
cmd/compile/internal/syntax.(*parser).binaryExpr(0xc000594000, 0x0, 0xc0006203e0, 0xc0006203c0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:659 +0x2f
cmd/compile/internal/syntax.(*parser).expr(0xc000594000, 0xc0000b7ab8, 0x51f73a)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:652 +0x34
cmd/compile/internal/syntax.(*parser).exprList(0xc000594000, 0x0, 0xc0000b7b10)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2250 +0x40
cmd/compile/internal/syntax.(*parser).simpleStmt(0xc000594000, 0x100f860, 0xc0006203e0, 0x0, 0x51f73a, 0x0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1670 +0x150
cmd/compile/internal/syntax.(*parser).stmtOrNil(0xc000594000, 0x30, 0x38)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2056 +0x8be
cmd/compile/internal/syntax.(*parser).stmtList(0xc000594000, 0xc000622440, 0x7, 0xc0000b7d38)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2148 +0x94
cmd/compile/internal/syntax.(*parser).blockStmt(0xc000594000, 0x0, 0x0, 0x1)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1769 +0xaa
cmd/compile/internal/syntax.(*parser).funcBody(0xc000594000, 0xc000622340)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:631 +0x4c
cmd/compile/internal/syntax.(*parser).funcDeclOrNil(0xc000594000, 0xc000622140)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:621 +0x11e
cmd/compile/internal/syntax.(*parser).fileOrNil(0xc000594000, 0xc000514030)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:396 +0x321
cmd/compile/internal/syntax.Parse(0xc000514030, 0x100a1e0, 0xc00058c008, 0xc00058e010, 0xc00058e020, 0x1, 0x0, 0x0, 0x0)
        /usr/src/go/src/cmd/compile/internal/syntax/syntax.go:72 +0xeb
cmd/compile/internal/gc.parseFiles.func1(0xc000114240, 0xc0003cc360, 0x7ffec679a58e, 0x59)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:52 +0x222
created by cmd/compile/internal/gc.parseFiles
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:39 +0x209

goroutine 25 [runnable]:
cmd/compile/internal/syntax.(*scanner).next(0xc0000b0618)
        /usr/src/go/src/cmd/compile/internal/syntax/scanner.go:83 +0xbc4
cmd/compile/internal/syntax.(*parser).complitexpr.func1(0xc0000b0600)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1062 +0x1a2
cmd/compile/internal/syntax.(*parser).list(0xc0000b0600, 0xd, 0x11, 0x10, 0xc00050d910, 0xc00050d928, 0x40c828)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:451 +0xad
cmd/compile/internal/syntax.(*parser).complitexpr(0xc0000b0600, 0xc00080ba70)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1055 +0xe3
cmd/compile/internal/syntax.(*parser).pexpr(0xc0000b0600, 0x1, 0xc00050da48, 0x51f409)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1019 +0xa45
cmd/compile/internal/syntax.(*parser).unaryExpr(0xc0000b0600, 0xff95cd, 0x0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:762 +0x482
cmd/compile/internal/syntax.(*parser).binaryExpr(0xc0000b0600, 0x0, 0xdfef20, 0x7c)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:659 +0x2f
cmd/compile/internal/syntax.(*parser).expr(0xc0000b0600, 0xc000827040, 0x51f7ad)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:652 +0x34
cmd/compile/internal/syntax.(*parser).exprList(0xc0000b0600, 0xc000827040, 0x51f409)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2250 +0x40
cmd/compile/internal/syntax.(*parser).stmtOrNil(0xc0000b0600, 0xc000826920, 0x2)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2128 +0x744
cmd/compile/internal/syntax.(*parser).stmtList(0xc0000b0600, 0xc000819a80, 0x16, 0xc00050dd38)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:2148 +0x94
cmd/compile/internal/syntax.(*parser).blockStmt(0xc0000b0600, 0x0, 0x0, 0x1)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:1769 +0xaa
cmd/compile/internal/syntax.(*parser).funcBody(0xc0000b0600, 0xc000819a40)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:631 +0x4c
cmd/compile/internal/syntax.(*parser).funcDeclOrNil(0xc0000b0600, 0xc000819880)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:621 +0x11e
cmd/compile/internal/syntax.(*parser).fileOrNil(0xc0000b0600, 0xc0000ad5f0)
        /usr/src/go/src/cmd/compile/internal/syntax/parser.go:396 +0x321
cmd/compile/internal/syntax.Parse(0xc0000ad5f0, 0x100a1e0, 0xc00000e0c0, 0xc00007c2d0, 0xc00007c2e0, 0x1, 0x0, 0x0, 0x0)
        /usr/src/go/src/cmd/compile/internal/syntax/syntax.go:72 +0xeb
cmd/compile/internal/gc.parseFiles.func1(0xc000114240, 0xc0003cc480, 0x7ffec679a62b, 0x42)
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:52 +0x222
created by cmd/compile/internal/gc.parseFiles
        /usr/src/go/src/cmd/compile/internal/gc/noder.go:39 +0x209
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Nov 22, 2019

Since it's not repeatable, closing into #35777.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.