Skip to content

runtime: "fatal error: signal_recv: inconsistent state" crash on ios/arm64 #46466

@stonelgh

Description

@stonelgh

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

$ go version
go version go1.16.4 darwin/amd64

Does this issue reproduce with the latest release?

yes.

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

go env Output
$ go env
GO111MODULE="off"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/stone/Library/Caches/go-build"
GOENV="/Users/stone/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/stone/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/stone/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.4"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
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 -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/kk/t_y76cl95cz5y1dtl9spqxt00000gn/T/go-build233946771=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Make a library for a iOS App with the latest gomobile. The program crashes a lot of times with the following output:

fatal error: signal_recv: inconsistent state

goroutine 20 [running]:
runtime.throw(0x10686cce1, 0x1f)
        /usr/local/go/src/runtime/panic.go:1117 +0x54 fp=0x13004df90 sp=0x13004df60 pc=0x105c804b4
os/signal.signal_recv(0x0)
        /usr/local/go/src/runtime/sigqueue.go:161 +0x1d4 fp=0x13004dfb0 sp=0x13004df90 pc=0x105cb0684
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x20 fp=0x13004dfd0 sp=0x13004dfb0 pc=0x10603ab50
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm64.s:1130 +0x4 fp=0x13004dfd0 sp=0x13004dfd0 pc=0x105cb3a94
created by os/signal.Notify.func1.1
        /usr/local/go/src/os/signal/signal.go:151 +0x44

...

We haven't found a way to consistently reproduce the failure. It usually crashes when users try to resume the app.

What did you expect to see?

The app is resumed and runs normally.

What did you see instead?

The app crashed.

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.OS-Darwinarch-arm64mobileAndroid, iOS, and x/mobile

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions