AddressSanitizer stack-buffer-overflow in fc::time_point::now() #1993
Labels
3d Bug
Classification indicating the existing implementation does not match the intention of the design
Milestone
Bug Description
witness_node
fails to start if built with AddressSanitizer.Additional Context (optional)
This was reported by @syalon who was trying to help on the memory corruption issue (Witness node crash, block id has trailing zeros #1256).
The log was produced with boost 1.58. It's known that ASAN is not supported well in boost versions earlier than 1.65, in addition, Boost.Coroutine is deprecated so it won't work with ASAN, need to use Boost.Coroutine2 instead in order to get ASAN working (re-build with context-impl=ucontext + BOOST_USE_ASAN) (see AddressSanitizer support boostorg/coroutine#30).
A similar issue when calling
system_clock::now()
is discussed here: AddressSanitizer stack-buffer-overflow STEllAR-GROUP/hpx#3824, it seems it's related to Boost.Coroutine as well.Steps To Reproduce
witness_node
with AddressSanitizerwitness_node
Expected Behavior
No crash.
Host Environment
Please provide details about the host environment. Much of this information can be found running:
witness_node --version
.Impacts
Describe which portion(s) of BitShares Core may be impacted by this bug. Please tick at least one box.
CORE TEAM TASK LIST
The text was updated successfully, but these errors were encountered: