diff --git a/src/test/unit_test/SuiteJournal.h b/src/test/unit_test/SuiteJournal.h index 0e80e83cd..40d6bb94b 100644 --- a/src/test/unit_test/SuiteJournal.h +++ b/src/test/unit_test/SuiteJournal.h @@ -19,9 +19,9 @@ #ifndef TEST_UNIT_TEST_SUITE_JOURNAL_H #define TEST_UNIT_TEST_SUITE_JOURNAL_H - #include #include +#include namespace ripple { namespace test { @@ -82,7 +82,13 @@ SuiteJournalSink::write( // Only write the string if the level at least equals the threshold. if (level >= threshold()) + { + // std::endl flushes → sync() → str()/str("") race in shared buffer → + // crashes + static std::mutex log_mutex; + std::lock_guard lock(log_mutex); suite_.log << s << partition_ << text << std::endl; + } } class SuiteJournal