Skip to content

runtime: write barrier during acquirep #9953

@rsc

Description

@rsc

From freebsd/386
http://build.golang.org/log/84a62613746742909be9517ee88d194e22176d97

There probably should not be write barriers in stopm/acquirep.

fatal error: unexpected signal during runtime execution
[signal 0xa code=0xc addr=0x28306004 pc=0x805f856]

runtime stack:
runtime.throw(0x8224268, 0x2a)
    /tmp/buildlet-scatch949261120/go/src/runtime/panic.go:511 +0x81
runtime.sigpanic()
    /tmp/buildlet-scatch949261120/go/src/runtime/sigpanic_unix.go:12 +0x55
runtime.inheap(0x583c825c, 0x383c230f)
    /tmp/buildlet-scatch949261120/go/src/runtime/mheap.go:175 +0x56
runtime.gcmarkwb_m(0x383e4820, 0x583c825c)
    /tmp/buildlet-scatch949261120/go/src/runtime/mbarrier.go:71 +0x6f
runtime.writebarrierptr_nostore1.func1()
    /tmp/buildlet-scatch949261120/go/src/runtime/mbarrier.go:93 +0x2e
runtime.systemstack(0x38441f5c)
    /tmp/buildlet-scatch949261120/go/src/runtime/asm_386.s:270 +0x77
runtime.writebarrierptr_nostore1(0x383e4820, 0x583c825c)
    /tmp/buildlet-scatch949261120/go/src/runtime/mbarrier.go:94 +0x44
runtime.writebarrierptr(0x383e4820, 0x583c825c)
    /tmp/buildlet-scatch949261120/go/src/runtime/mbarrier.go:117 +0x77
runtime.acquirep(0x383d8500)
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:2584 +0x85
runtime.stopm()
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:1022 +0x14a
runtime.startlockedm(0x383c6b40)
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:1157 +0xbb
runtime.schedule()
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:1444 +0x1be
runtime.mstart1()
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:735 +0xda
runtime.mstart()
    /tmp/buildlet-scatch949261120/go/src/runtime/proc1.go:699 +0x57

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions