From 9f136f5b3bee78f90f434dcea1cabf397c6c05f2 Mon Sep 17 00:00:00 2001 From: Lin Lin Date: Thu, 14 Nov 2024 11:22:29 +0800 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. --- 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++ {