hans added a comment. We're hitting a false positive in grpc after this:
> ../../third_party/grpc/src/src/core/lib/gprpp/ref_counted_ptr.h:335:31: error: calling function 'TlsSessionKeyLoggerCache' requires holding mutex 'g_tls_session_key_log_cache_mu' exclusively [-Werror,-Wthread-safety-analysis] > return RefCountedPtr<T>(new T(std::forward<Args>(args)...)); > ^ > ../../third_party/grpc/src/src/core/tsi/ssl/key_logging/ssl_key_logging.cc:121:26: note: in instantiation of function template specialization 'grpc_core::MakeRefCounted<tsi::TlsSessionKeyLoggerCache>' requested here > cache = grpc_core::MakeRefCounted<TlsSessionKeyLoggerCache>(); > ^ The code looks like this: grpc_core::RefCountedPtr<TlsSessionKeyLogger> TlsSessionKeyLoggerCache::Get( std::string tls_session_key_log_file_path) { gpr_once_init(&g_cache_mutex_init, do_cache_mutex_init); GPR_DEBUG_ASSERT(g_tls_session_key_log_cache_mu != nullptr); if (tls_session_key_log_file_path.empty()) { return nullptr; } { grpc_core::MutexLock lock(g_tls_session_key_log_cache_mu); <---------- holding the mutex grpc_core::RefCountedPtr<TlsSessionKeyLoggerCache> cache; if (g_cache_instance == nullptr) { // This will automatically set g_cache_instance. cache = grpc_core::MakeRefCounted<TlsSessionKeyLoggerCache>(); <------ line 121 lock is holding a MutexLock (I assume that's an exclusive thing) on g_tls_session_key_log_cache_mu. See https://bugs.chromium.org/p/chromium/issues/detail?id=1372394#c4 for how to reproduce. I've reverted this in https://github.com/llvm/llvm-project/commit/a4afa2bde6f4db215ddd3267a8d11c04367812e5 in the meantime. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129755/new/ https://reviews.llvm.org/D129755 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits