]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: reduce pthread stack size in TestCgoCallbackGC
authorDave Cheney <dave@cheney.net>
Thu, 20 Aug 2015 03:46:19 +0000 (13:46 +1000)
committerDave Cheney <dave@cheney.net>
Sun, 13 Sep 2015 23:46:55 +0000 (23:46 +0000)
Fixes #11959

This test runs 100 concurrent callbacks from C to Go consuming 100
operating system threads, which at 8mb a piece (the default on linux/arm)
would reserve over 800mb of address space. This would frequently
cause the test to fail on platforms with ~1gb of ram, such as the
raspberry pi.

This change reduces the thread stack allocation to 256kb, a number picked
at random, but at 1/32th the previous size, should allow the test to
pass successfully on all platforms.

Change-Id: I8b8bbab30ea7b2972b3269a6ff91e6fe5bc717af
Reviewed-on: https://go-review.googlesource.com/13731
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Martin Capitanio <capnm9@gmail.com>
Reviewed-by: Minux Ma <minux@golang.org>
src/runtime/crash_cgo_test.go

index 2e65e4c7543378549bc6316bd206fc0525cb8f28..8e230064143b72bdbc3919358bfd4da0ff229929 100644 (file)
@@ -222,7 +222,10 @@ static void *thr(void *arg) {
 
 static void foo() {
     pthread_t th;
-    pthread_create(&th, 0, thr, 0);
+    pthread_attr_t attr;
+    pthread_attr_init(&attr);
+    pthread_attr_setstacksize(&attr, 256 << 10);
+    pthread_create(&th, &attr, thr, 0);
     pthread_join(th, 0);
 }
 */