Skip to content

runtime: TestAsyncPreempt failed on linux/arm64 and amd64 #35608

@shawndx

Description

@shawndx

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

$ go version
go version devel +3f21c2381d Thu Nov 14 01:57:00 2019 +0000 linux/arm64

The issue was observed on linux/amd64 as well, so far the initial analysis is made on linux/arm64 only.

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=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/home/xiaji01/.cache/go-build"
GOENV="/home/xiaji01/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/xiaji01/.go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/xiaji01/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/xiaji01/go/pkg/tool/linux_arm64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/xiaji01/go/src/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build634223204=/tmp/go-build -gno-record-gcc-switches"

What did you do?

build and run package testing with the latest code.

What did you expect to see?

The case pass on all linux/arm64 and linux/amd64 platforms.

What did you see instead?

ok regexp/syntax 0.757s

--- FAIL: TestAsyncPreempt (60.01s)

crash_test.go:95: testprog AsyncPreempt exit status: exit status 2

proc_test.go:367: want OK

    , got SIGQUIT: quit

    PC=0xcb088 m=0 sigcode=0

    

    goroutine 7 [running]:

    main.frameless()

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:56 +0x8 fp=0x40000cafc0 sp=0x40000cafc0 pc=0xcb088

    main.AsyncPreempt.func2(0x400001c154)

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:36 +0x2c fp=0x40000cafd0 sp=0x40000cafc0 pc=0xce5ac

    runtime.goexit()

    	/home/root/ci-scripts/golang/src/runtime/asm_arm64.s:1148 +0x4 fp=0x40000cafd0 sp=0x40000cafd0 pc=0x6ae94

    created by main.AsyncPreempt

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:34 +0xa8

    

    goroutine 1 [runnable]:

    runtime.Gosched(...)

    	/home/root/ci-scripts/golang/src/runtime/proc.go:269

    main.AsyncPreempt()

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:42 +0xc8

    main.main()

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/main.go:34 +0x194

    

    goroutine 6 [runnable]:

    main.AsyncPreempt.func1(0x400001c150)

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:28

    created by main.AsyncPreempt

    	/root/ci-scripts/golang/src/runtime/testdata/testprog/preempt.go:26 +0x88

    

    r0      0x8e847c962

    r1      0xab9f639d053fa011

    r2      0x40000cafd0

    r3      0x0

    r4      0x40000ca800

    r5      0x40000013b8

    r6      0xce580

    r7      0x400001c154

    r8      0x1e7940

    r9      0x0

    r10     0x0

    r11     0x1bdea0

    r12     0x129068

    r13     0x0

    r14     0xf1

    r15     0x0

    r16     0x0

    r17     0x30

    r18     0x0

    r19     0xd0

    r20     0xffffe970c920

    r21     0x1e7940

    r22     0x4000002000

    r23     0x0

    r24     0x0

    r25     0x0

    r26     0x112288

    r27     0x4000000000000000

    r28     0x4000001380

    r29     0x40000cafb8

    lr      0xce5ac

    sp      0x40000cafc0

    pc      0xcb088

    fault   0x0

FAIL

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