From 09f9b5e361646ac0e21b4818ddfcf029a78a9e69 Mon Sep 17 00:00:00 2001 From: Lin Lin Date: Fri, 15 Nov 2024 12:08:29 +0000 Subject: [PATCH] runtime: add race detector tips to reportZombies func We can find a few issues finally turned out to be a race condition, such as #47513. I believe such a tip can eliminate the need for developers to file this kind of issue in the first place. Change-Id: I1597fa09fde641882e8e87453470941747705272 GitHub-Last-Rev: 9f136f5b3bee78f90f434dcea1cabf397c6c05f2 GitHub-Pull-Request: golang/go#70331 Reviewed-on: https://go-review.googlesource.com/c/go/+/627816 LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Pratt Reviewed-by: Cherry Mui Reviewed-by: Jorropo Reviewed-by: Michael Pratt --- src/runtime/mgcsweep.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/mgcsweep.go b/src/runtime/mgcsweep.go index f53330a5b9..83064e8eea 100644 --- a/src/runtime/mgcsweep.go +++ b/src/runtime/mgcsweep.go @@ -855,7 +855,7 @@ func (sl *sweepLocked) sweep(preserve bool) bool { // pointer to that object and marked it. func (s *mspan) reportZombies() { printlock() - print("runtime: marked free object in span ", s, ", elemsize=", s.elemsize, " freeindex=", s.freeindex, " (bad use of unsafe.Pointer? try -d=checkptr)\n") + print("runtime: marked free object in span ", s, ", elemsize=", s.elemsize, " freeindex=", s.freeindex, " (bad use of unsafe.Pointer or having race conditions? try -d=checkptr or -race)\n") mbits := s.markBitsForBase() abits := s.allocBitsForIndex(0) for i := uintptr(0); i < uintptr(s.nelems); i++ { -- 2.48.1