diff --git a/src/runtime/gc_conservative.go b/src/runtime/gc_conservative.go index 09c6388a..ae675be1 100644 --- a/src/runtime/gc_conservative.go +++ b/src/runtime/gc_conservative.go @@ -134,7 +134,7 @@ func (b gcBlock) findNext() gcBlock { if b.state() == blockStateHead || b.state() == blockStateMark { b++ } - for b.state() == blockStateTail { + for b.address() < uintptr(metadataStart) && b.state() == blockStateTail { b++ } return b