]> Cypherpunks repositories - gostls13.git/commitdiff
misc/cgo/test: disable some Darwin tests in cgo mode
authorAustin Clements <austin@google.com>
Fri, 20 Jul 2018 19:51:40 +0000 (15:51 -0400)
committerAustin Clements <austin@google.com>
Mon, 23 Jul 2018 15:16:01 +0000 (15:16 +0000)
For unknown reasons, linking against CoreFoundation on macOS 10.10
sometimes causes mmap to ignore the hint address, which makes the Go
allocator incompatible with TSAN. Currently, the effect of this is to
run the allocator out of arena hints on the very first allocation,
causing a "too many address space collisions for -race mode" panic.

This CL skips the cgo tests that link against CoreFoundation in race
mode.

Updates #26475.
Updates #26513.

Change-Id: I52ec638c99acf5d4966e68ff0054f7679680dac6
Reviewed-on: https://go-review.googlesource.com/125304
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
misc/cgo/test/issue21897.go
misc/cgo/test/issue21897b.go
misc/cgo/test/issue24161_darwin_test.go

index d13246bd84afdea8995c2e1ab2b5a2c69c2cc4ca..454a141827f64d95754888ace9654ddb713bcd48 100644 (file)
@@ -2,7 +2,16 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin,cgo,!internal
+// We skip this test in race mode because, for unknown reasons,
+// linking against CoreFoundation on macOS 10.10 causes mmap to ignore
+// the hint address, which makes the Go allocator incompatible with
+// TSAN. See golang.org/issue/26475.
+//
+// TODO(austin): Once support for macOS 10.10 is dropped, remove the
+// race constraint (and the one in issue21897b.go). See
+// golang.org/issue/26513.
+
+// +build darwin,cgo,!internal,!race
 
 package cgotest
 
index 08b5f4d808e240853d6b666ffd41ba2b5192d75f..e143bad086da02429ddb21304e236e070223a2b1 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build !darwin !cgo internal
+// +build !darwin !cgo internal race
 
 package cgotest
 
index 10fdfbd1bc0fdd51e52e2ebed395a3b18a0a48ea..48072ff121ddaa1fe35d3898d016cf154f85c1d2 100644 (file)
@@ -2,6 +2,14 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// See issue21897.go and golang.org/issue/26475 for why this is
+// skipped in race mode.
+//
+// TODO(austin): Once support for macOS 10.10 is dropped, remove the
+// race constraint. See golang.org/issue/26513.
+
+// +build !race
+
 package cgotest
 
 import (