Skip to content

runtime: panic 'exitsyscall: syscall frame is no longer valid' in go tool #24656

Closed
@mappu

Description

@mappu

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

go version go1.9.2 linux/arm

Does this issue reproduce with the latest release?

Unsure.
It barely reproduces under the in-use version, either. This is mostly an FYI.

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

A little bit strange one: Docker container 'arm32v7/golang:1.9.2-stretch on x86_64 host. That's an armhf rootfs where every binary executes under qemu-user.

GOARCH="arm"
GOBIN=""
GOEXE=""
GOHOSTARCH="arm"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_arm"
GCCGO="gccgo"
GOARM="6"
CC="gcc"
GOGCCFLAGS="-fPIC -marm -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build911040395=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?

Compile a Go program.
It may be notable that the target source code was hosted on a Docker mapped volume,

What did you expect to see?

No error

What did you see instead?

The Go compiler crashed with the following message:

fatal error: exitsyscall: syscall frame is no longer valid

runtime stack:
runtime.throw(0x3d4579, 0x2d)
        /usr/local/go/src/runtime/panic.go:605 +0x70
runtime.exitsyscall.func1()
        /usr/local/go/src/runtime/proc.go:2634 +0x24
runtime.systemstack(0x1091ea80)
        /usr/local/go/src/runtime/asm_arm.s:264 +0x80
runtime.mstart()
        /usr/local/go/src/runtime/proc.go:1135

goroutine 5 [syscall]:
syscall.Syscall(0xc3, 0x10c0cb40, 0x10d26268, 0x0, 0x0, 0x3, 0x57ca9fb0)
        /usr/local/go/src/syscall/asm_linux_arm.s:17 +0x8 fp=0x10e052f8 sp=0x10e052f4 pc=0x85d14
syscall.Stat(0x3ecc94, 0x36, 0x10d26268, 0x10972c40, 0x0)
        /usr/local/go/src/syscall/zsyscall_linux_arm.go:1576 +0x70 fp=0x10e0532c sp=0x10e052f8 pc=0x85664
os.Stat(0x10b38230, 0x36, 0xf3cf8, 0x3720b8, 0x0, 0x623)
        /usr/local/go/src/os/stat_unix.go:32 +0x40 fp=0x10e05354 sp=0x10e0532c pc=0xa4ff0
syscall.Syscall6(0x36, 0xf3cf8, 0x3720b8, 0x0, 0x623, 0x0, 0x10d20760, 0x10b85900, 0x0, 0x1091e000)
        /usr/local/go/src/syscall/asm_linux_arm.s:73 +0x68 fp=0x10e05358 sp=0x10e05354 pc=0x85de8
os.StartProcess(0x10, 0x20, 0x21, 0x7, 0x3, 0xf0a74, 0x10b92fc0, 0xf667d000, 0x0)
        /usr/local/go/src/os/exec.go:94 +0x44 fp=0x10e05380 sp=0x10e05358 pc=0x9f1e8
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/build.go:1192 +0x44c

goroutine 1 [semacquire, 1 minutes]:
sync.runtime_Semacquire(0x10d670bc)
        /usr/local/go/src/runtime/sema.go:56 +0x2c
sync.(*WaitGroup).Wait(0x10d670b0)
        /usr/local/go/src/sync/waitgroup.go:131 +0x88
cmd/go/internal/work.(*Builder).Do(0x10954240, 0x10a76310)
        /usr/local/go/src/cmd/go/internal/work/build.go:1214 +0x46c
cmd/go/internal/work.runBuild(0x5b2da0, 0x10974068, 0x0, 0x1)
        /usr/local/go/src/cmd/go/internal/work/build.go:455 +0x4ec
main.main()
        /usr/local/go/src/cmd/go/main.go:133 +0x670

goroutine 19 [syscall, 1 minutes]:
os/signal.signal_recv(0x0)
        /usr/local/go/src/runtime/sigqueue.go:131 +0x134
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:22 +0x14
created by os/signal.init.0
        /usr/local/go/src/os/signal/signal_unix.go:28 +0x30

goroutine 6 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x629, 0x10e07674, 0x1000004, 0x0, 0x0, 0x379230, 0x99d04, 0x0)
        /usr/local/go/src/syscall/asm_linux_arm.s:48 +0x8
os.(*Process).blockUntilWaitable(0x10c83920, 0x0, 0x17, 0x18)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0x10c83920, 0x10bd8edc, 0x1cab84, 0x10bd8edc)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0x10c83920, 0x0, 0x0, 0x3ecbb0)
        /usr/local/go/src/os/exec.go:115 +0x1c
os/exec.(*Cmd).Wait(0x10bd8e70, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:446 +0x40
os/exec.(*Cmd).Run(0x10bd8e70, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:289 +0x44
cmd/go/internal/work.(*Builder).runOut(0x10954240, 0x10bbef90, 0x2f, 0x10b5b8c0, 0x1d, 0x0, 0x0, 0x0, 0x10bd8dc0, 0x10, ...)
        /usr/local/go/src/cmd/go/internal/work/build.go:1983 +0x378
cmd/go/internal/work.gcToolchain.gc(0x10954240, 0x10c466c0, 0x10b90100, 0x36, 0x10b900c0, 0x3a, 0x10914b00, 0x10c55340, 0x2, 0x2, ...)
        /usr/local/go/src/cmd/go/internal/work/build.go:2272 +0xc14
cmd/go/internal/work.(*gcToolchain).gc(0x5c7fa8, 0x10954240, 0x10c466c0, 0x10b90100, 0x36, 0x10b900c0, 0x3a, 0x0, 0x10c55340, 0x2, ...)
        <autogenerated>:1 +0x94
cmd/go/internal/work.(*Builder).build(0x10954240, 0x10910850, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/build.go:1393 +0x1048
cmd/go/internal/work.(*Builder).Do.func1(0x10910850)
        /usr/local/go/src/cmd/go/internal/work/build.go:1148 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0x10d670b0, 0x10954240, 0x10ce2270)
        /usr/local/go/src/cmd/go/internal/work/build.go:1205 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/build.go:1192 +0x44c

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.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions