mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: disable TestArenaCollision on Darwin in race mode
This change disables the test TestArenaCollision on Darwin in race mode to deal with the fact that Darwin 10.10 must use MAP_FIXED in race mode to ensure we retain our heap in a particular portion of the address space which the race detector needs. The test specifically checks to make sure a manually mapped region's space isn't re-used, which is definitely possible with MAP_FIXED because it replaces whatever mapping already exists at a given address. This change then also makes it so that MAP_FIXED is only used in race mode and on Darwin, not all BSDs, because using MAP_FIXED breaks this test for FreeBSD in addition to Darwin. Updates #26475. Fixes #29340. Change-Id: I1c59349408ccd7eeb30c4bf2593f48316b23ab2f Reviewed-on: https://go-review.googlesource.com/c/155097 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
f880efcc16
commit
6fcab648af
2 changed files with 9 additions and 1 deletions
|
|
@ -183,6 +183,14 @@ type acLink struct {
|
|||
var arenaCollisionSink []*acLink
|
||||
|
||||
func TestArenaCollision(t *testing.T) {
|
||||
if GOOS == "darwin" && race.Enabled {
|
||||
// Skip this test on Darwin in race mode because Darwin 10.10 has
|
||||
// issues following arena hints and runs out of them in race mode, so
|
||||
// MAP_FIXED is used to ensure we keep the heap in the memory region the
|
||||
// race detector expects.
|
||||
// TODO(mknyszek): Delete this when Darwin 10.10 is no longer supported.
|
||||
t.Skip("disabled on Darwin with race mode since MAP_FIXED is used")
|
||||
}
|
||||
testenv.MustHaveExec(t)
|
||||
|
||||
// Test that mheap.sysAlloc handles collisions with other
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue