46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
|
--- a/base/threading/platform_thread_linux.cc
|
||
|
+++ b/base/threading/platform_thread_linux.cc
|
||
|
@@ -186,7 +186,8 @@
|
||
|
|
||
|
size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
|
||
|
#if !defined(THREAD_SANITIZER)
|
||
|
- return 0;
|
||
|
+ // use 2mb to avoid running out of space. This is what android uses
|
||
|
+ return 2 * (1 << 20);
|
||
|
#else
|
||
|
// ThreadSanitizer bloats the stack heavily. Evidence has been that the
|
||
|
// default stack size isn't enough for some browser tests.
|
||
|
--- a/base/threading/platform_thread_unittest.cc
|
||
|
+++ b/base/threading/platform_thread_unittest.cc
|
||
|
@@ -420,7 +420,7 @@
|
||
|
((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
|
||
|
!defined(THREAD_SANITIZER)) || \
|
||
|
(BUILDFLAG(IS_ANDROID) && !defined(ADDRESS_SANITIZER))
|
||
|
- EXPECT_EQ(0u, stack_size);
|
||
|
+ EXPECT_EQ(2u << 20, stack_size);
|
||
|
#else
|
||
|
EXPECT_GT(stack_size, 0u);
|
||
|
EXPECT_LT(stack_size, 20u * (1 << 20));
|
||
|
--- a/chrome/browser/shutdown_signal_handlers_posix.cc
|
||
|
+++ b/chrome/browser/shutdown_signal_handlers_posix.cc
|
||
|
@@ -187,11 +187,19 @@
|
||
|
g_shutdown_pipe_read_fd = pipefd[0];
|
||
|
g_shutdown_pipe_write_fd = pipefd[1];
|
||
|
#if !defined(ADDRESS_SANITIZER)
|
||
|
+# if defined(__GLIBC__)
|
||
|
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
|
||
|
+# else
|
||
|
+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k
|
||
|
+# endif
|
||
|
#else
|
||
|
+# if defined(__GLIBC__)
|
||
|
// ASan instrumentation bloats the stack frames, so we need to increase the
|
||
|
// stack size to avoid hitting the guard page.
|
||
|
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4;
|
||
|
+# else
|
||
|
+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k
|
||
|
+# endif
|
||
|
#endif
|
||
|
ShutdownDetector* detector = new ShutdownDetector(
|
||
|
g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner);
|