-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Milestone
Description
Go version
go version go1.21.4 darwin/amd64 and the tip
What operating system and processor architecture are you using (go env)?
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GONOPROXY=''
GOOS='darwin'
GOPRIVATE=''
GOROOT='/usr/local/Cellar/go/1.21.4/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/Cellar/go/1.21.4/libexec/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.4'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/sw/0cn9x8611_xdn6c20pxd96m40000ks/T/go-build3138034287=/tmp/go-build -gno-record-gcc-switches -fno-common'What did you do?
In runtime/time.go:
Lines 16 to 40 in 098f059
| // Package time knows the layout of this structure. | |
| // If this struct changes, adjust ../time/sleep.go:/runtimeTimer. | |
| type timer struct { | |
| // If this timer is on a heap, which P's heap it is on. | |
| // puintptr rather than *p to match uintptr in the versions | |
| // of this struct defined in other packages. | |
| pp puintptr | |
| // Timer wakes up at when, and then at when+period, ... (period > 0 only) | |
| // each time calling f(arg, now) in the timer goroutine, so f must be | |
| // a well-behaved function and not block. | |
| // | |
| // when must be positive on an active timer. | |
| when int64 | |
| period int64 | |
| f func(any, uintptr) | |
| arg any | |
| seq uintptr | |
| // What to set the when field to in timerModifiedXX status. | |
| nextwhen int64 | |
| // The status field holds one of the values below. | |
| status atomic.Uint32 | |
| } |
The
status field was changed to atomic.Uint32, but not synced to time/sleep.go.
Lines 11 to 22 in 098f059
| // Interface to timers implemented in package runtime. | |
| // Must be in sync with ../runtime/time.go:/^type timer | |
| type runtimeTimer struct { | |
| pp uintptr | |
| when int64 | |
| period int64 | |
| f func(any, uintptr) // NOTE: must not be closure | |
| arg any | |
| seq uintptr | |
| nextwhen int64 | |
| status uint32 | |
| } |
What did you expect to see?
Two structs are synced.
What did you see instead?
They are not.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Type
Projects
Status
Done