Skip to content

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

@OneOfOne

Description

@OneOfOne

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.release-blocker

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions