You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 18, 2023. It is now read-only.
I believe the following demonstrates the issue:
Unfortunately, it's hard to get Go's race detector to catch this (I only ran it across it in a more complicated case by accident).
The detailed problem is as follows:
removeClockTimersorts the timers while holding the mutex. The sort method callsNext(), which reads the internalnextfield.runNextTimercallsTickon the timer without holding the mutex, andTicksets the internalnextfield of the timer.It seems that solving this might just require removing the
sort.Sortcall inremoveClockTimer.