Description:
Picking S3 instead of S7 because this hang has no natural timeout in the harness, thus blocks the run forever.
$ ./runtime_output_directory/merge_large_tests-t
spins forever / hangs with the stacktraces:
* thread #1, queue = 'com.apple.main-thread' [ main — joining workers ]
frame #0: libsystem_kernel.dylib`__ulock_wait + 8
frame #1: libsystem_pthread.dylib`_pthread_join + 616
frame #2: libc++.1.dylib`std::__1::thread::join() + 36
frame #3: merge_large_tests-t`binlog::unittests::Bgc_ticket_manager_test_Several_tickets_test_Test::TestBody() at bgc_ticket_manager-t.cc:143:18
frame #4: gtest.cc:2664 HandleSehExceptionsInMethodIfSupported<testing::Test, void>
frame #6: testing::Test::Run() at gtest.cc:2739
frame #14: merge_large_tests-t`main at gunit_test_main_server.cc:67:13
frame #15: dyld`start + 6992
thread #2 [ representative of 241 threads — consumer blocked on condvar ]
frame #0: libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: libsystem_pthread.dylib`_pthread_cond_wait + 980
frame #2: libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
frame #3: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:103:29
frame #6: thread.h:168 __thread_proxy
frame #7: libsystem_pthread.dylib`_pthread_start + 136
thread #4 [ representative of 29 threads — producer spinning for front ticket ]
frame #0: libsystem_kernel.dylib`swtch_pri + 8
frame #1: libsystem_pthread.dylib`cthread_yield + 36
frame #4: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:119:17
frame #6: thread.h:168 __thread_proxy
frame #7: libsystem_pthread.dylib`_pthread_start + 136
thread #3 [ the single thread at line 130 — producer spinning on pop_front_ticket() ]
frame #0: libsystem_kernel.dylib`swtch_pri + 8
frame #1: libsystem_pthread.dylib`cthread_yield + 36
frame #4: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:130:17
frame #6: thread.h:168 __thread_proxy
frame #7: libsystem_pthread.dylib`_pthread_start + 136
How to repeat:
See above. I used release build
Description: Picking S3 instead of S7 because this hang has no natural timeout in the harness, thus blocks the run forever. $ ./runtime_output_directory/merge_large_tests-t spins forever / hangs with the stacktraces: * thread #1, queue = 'com.apple.main-thread' [ main — joining workers ] frame #0: libsystem_kernel.dylib`__ulock_wait + 8 frame #1: libsystem_pthread.dylib`_pthread_join + 616 frame #2: libc++.1.dylib`std::__1::thread::join() + 36 frame #3: merge_large_tests-t`binlog::unittests::Bgc_ticket_manager_test_Several_tickets_test_Test::TestBody() at bgc_ticket_manager-t.cc:143:18 frame #4: gtest.cc:2664 HandleSehExceptionsInMethodIfSupported<testing::Test, void> frame #6: testing::Test::Run() at gtest.cc:2739 frame #14: merge_large_tests-t`main at gunit_test_main_server.cc:67:13 frame #15: dyld`start + 6992 thread #2 [ representative of 241 threads — consumer blocked on condvar ] frame #0: libsystem_kernel.dylib`__psynch_cvwait + 8 frame #1: libsystem_pthread.dylib`_pthread_cond_wait + 980 frame #2: libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32 frame #3: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:103:29 frame #6: thread.h:168 __thread_proxy frame #7: libsystem_pthread.dylib`_pthread_start + 136 thread #4 [ representative of 29 threads — producer spinning for front ticket ] frame #0: libsystem_kernel.dylib`swtch_pri + 8 frame #1: libsystem_pthread.dylib`cthread_yield + 36 frame #4: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:119:17 frame #6: thread.h:168 __thread_proxy frame #7: libsystem_pthread.dylib`_pthread_start + 136 thread #3 [ the single thread at line 130 — producer spinning on pop_front_ticket() ] frame #0: libsystem_kernel.dylib`swtch_pri + 8 frame #1: libsystem_pthread.dylib`cthread_yield + 36 frame #4: merge_large_tests-t`...Several_tickets_test...::$_0::operator()(n_thread) const at bgc_ticket_manager-t.cc:130:17 frame #6: thread.h:168 __thread_proxy frame #7: libsystem_pthread.dylib`_pthread_start + 136 How to repeat: See above. I used release build