It looks like spawning 10,000 threads with our particular workload causes LeakSanitizer to segfault on GetThreadLocked in an array access. This is likely a bug in LeakSanitizer; it is segfaulting on an array access to an internal threads_ datastructure, indexed by thread ID.
Reducing the total thread count in parallel_tests seems to solve the issue. To ensure we still test contention, each thread now does more repeated work.
It looks like spawning 10,000 threads with our particular workload causes
LeakSanitizer
to segfault onGetThreadLocked
in an array access. This is likely a bug inLeakSanitizer
; it is segfaulting on an array access to an internalthreads_
datastructure, indexed by thread ID.Reducing the total thread count in
parallel_tests
seems to solve the issue. To ensure we still test contention, each thread now does more repeated work.