)]}' { "commit": "2da3375e9b4980e368a8641f54cc53c4af4d1a12", "tree": "8a649d4a9791c9f536b1d8119322fd63048e5df5", "parents": [ "c7f2f51fed15b410dea5f608420858b401887d0a" ], "author": { "name": "Ian Lance Taylor", "email": "iant@golang.org", "time": "Fri Aug 20 16:55:04 2021 -0700" }, "committer": { "name": "Ian Lance Taylor", "email": "iant@golang.org", "time": "Wed Sep 15 00:56:40 2021 +0000" }, "message": "runtime: in adjustTimers back up as far as necessary\n\nWhen the adjustTimers function removed a timer it assumed it was\nsufficient to continue the heap traversal at that position.\nHowever, in some cases a timer will be moved to an earlier\nposition in the heap. If that timer is timerModifiedEarlier,\nthat can leave timerModifiedEarliest not correctly representing\nthe earlier such timer.\n\nFix the problem by restarting the heap traversal at the earliest\nchanged position.\n\nFixes #47762\n\nChange-Id: I152bbe62793ee40a680baf49967bcb89b1f94764\nReviewed-on: https://go-review.googlesource.com/c/go/+/343882\nTrust: Ian Lance Taylor \u003ciant@golang.org\u003e\nRun-TryBot: Ian Lance Taylor \u003ciant@golang.org\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Michael Knyszek \u003cmknyszek@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "ad267c336564f68c78e65d4236421710eb568f8a", "old_mode": 33188, "old_path": "src/runtime/time.go", "new_id": "46e9a8c2abb7e1aaac49d4f2feff57d322defc5a", "new_mode": 33188, "new_path": "src/runtime/time.go" }, { "type": "modify", "old_id": "e0172bf5e0b7361891b6fcbef8c5db35460af763", "old_mode": 33188, "old_path": "src/time/sleep_test.go", "new_id": "c48e704eb7b10cce96a6378a7e30a60f36d31816", "new_mode": 33188, "new_path": "src/time/sleep_test.go" } ] }