1From cccb968a5847b68e4a43214e72be0ebbe6a8be13 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Fri, 19 Mar 2021 20:09:10 -0700 4Subject: [PATCH] adjust thread stack sizes 5 6musl default stack is 128K as compared to glibc's 8M 7adjust the expecations accordingly 8 9Upstream-Status: Pending 10Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> 12 13--- 14 base/threading/platform_thread_unittest.cc | 2 +- 15 chrome/browser/shutdown_signal_handlers_posix.cc | 8 ++++++++ 16 2 files changed, 9 insertions(+), 1 deletions(-) 17 18diff --git a/base/threading/platform_thread_unittest.cc b/base/threading/platform_thread_unittest.cc 19index 92d922f585..27f28a65ca 100644 20--- a/base/threading/platform_thread_unittest.cc 21+++ b/base/threading/platform_thread_unittest.cc 22@@ -526,7 +526,7 @@ TEST(PlatformThreadTest, GetDefaultThreadStackSize) { 23 ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ 24 !defined(THREAD_SANITIZER)) || \ 25 (BUILDFLAG(IS_ANDROID) && !defined(ADDRESS_SANITIZER)) 26- EXPECT_EQ(0u, stack_size); 27+ EXPECT_EQ(2u << 20, stack_size); 28 #else 29 EXPECT_GT(stack_size, 0u); 30 EXPECT_LT(stack_size, 20u * (1 << 20)); 31diff --git a/chrome/browser/shutdown_signal_handlers_posix.cc b/chrome/browser/shutdown_signal_handlers_posix.cc 32index b915ea58e5..293138ed0d 100644 33--- a/chrome/browser/shutdown_signal_handlers_posix.cc 34+++ b/chrome/browser/shutdown_signal_handlers_posix.cc 35@@ -188,11 +188,19 @@ void InstallShutdownSignalHandlers( 36 g_shutdown_pipe_read_fd = pipefd[0]; 37 g_shutdown_pipe_write_fd = pipefd[1]; 38 #if !defined(ADDRESS_SANITIZER) 39+# if defined(__GLIBC__) 40 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; 41+# else 42+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k 43+# endif 44 #else 45+# if defined(__GLIBC__) 46 // ASan instrumentation bloats the stack frames, so we need to increase the 47 // stack size to avoid hitting the guard page. 48 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; 49+# else 50+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k 51+# endif 52 #endif 53 ShutdownDetector* detector = new ShutdownDetector( 54 g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); 55