This repository has been archived by the owner on Oct 28, 2021. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid using a mutex after it is destroyed
Before this commit, under ThreadSanitizer, this error was visible WARNING: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or destroyed) (pid=5256) #0 pthread_mutex_lock ??:? (eth+0x48fb60) #1 boost::posix::pthread_mutex_lock(pthread_mutex_t*) /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/pthread/mutex.hpp:62 (eth+0x524fb9) #2 boost::mutex::lock() /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/pthread/mutex.hpp:116 (eth+0x524fb9) #3 boost::unique_lock<boost::mutex>::lock() /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/lock_types.hpp:346 (eth+0x524ebe) #4 unique_lock /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/lock_types.hpp:124 (eth+0x524c94) #5 boost::shared_mutex::lock_shared() /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/pthread/shared_mutex.hpp:188 (eth+0x5242cb) #6 boost::shared_lock<boost::shared_mutex>::lock() /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/lock_types.hpp:645 (eth+0x5240ce) #7 shared_lock /home/yh/.hunter/_Base/b96750b/af8fb19/497273b/Install/include/boost/thread/lock_types.hpp:520 (eth+0x523c84) #8 dev::eth::BlockChain::currentHash() const /home/yh/src/cpp-ethereum2/libdevcore/../libethereum/BlockChain.h:233 (eth+0x5238a6) #9 dev::eth::EthereumHost::doWork() /home/yh/src/cpp-ethereum2/libethereum/EthereumHost.cpp:433 (eth+0x6c9b0c) #10 non-virtual thunk to dev::eth::EthereumHost::doWork() ??:? (eth+0x6caacd) #11 dev::Worker::workLoop() /home/yh/src/cpp-ethereum2/libdevcore/Worker.cpp:139 (eth+0x8507e0) #12 operator() /home/yh/src/cpp-ethereum2/libdevcore/Worker.cpp:62 (eth+0x850d3d)
- Loading branch information