diff --git a/uppsrc/Core/CoWork.cpp b/uppsrc/Core/CoWork.cpp index 46e49dc15..abfbae2b8 100644 --- a/uppsrc/Core/CoWork.cpp +++ b/uppsrc/Core/CoWork.cpp @@ -113,7 +113,7 @@ void CoWork::Pool::DoJob(MJob& job) } lock.Leave(); - std::exception_ptr exc; + std::exception_ptr exc = nullptr; try { if(looper) work->looper_fn(); @@ -370,6 +370,7 @@ int CoWork::GetWorkerIndex() } CoWork::CoWork() +: exc(nullptr) { LLOG("CoWork constructed " << FormatHex(this)); todo = 0;
This really feels like sanitizer bug, but whatever....
mirek wrote on Fri, 19 July 2019 17:50This really feels like sanitizer bug, but whatever....
Thanks!
I do not think this is a bug. A team working on sanitizers is exceptionally good.
MemorySanitizer reports all uninitialized memory reads, including, for example, memmove and memcpy of uninitialized memory. This is not necessarily a bug, but this allows the sanitizer to be fast unlike valgrind.
The problem is that all sanitizers exit app on first detected error.