On Friday, March 13, 2015 03:09 PM, Vicente J. Botet Escriba wrote:
Le 12/03/15 15:48, Ben Pope a écrit :
On Thursday, March 12, 2015 10:45 PM, Ben Pope wrote:
-fsanitize-blacklist needs passing at compile time, not link time.
...which is entirely my fault.
I see a lot of reports that a similar to this one yet [1].
Uninitialized bytes in __interceptor_strlen at offset 88 inside [0x60c00000efa0, 89) ==7257== WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x7f46edfb1de2 in std::logic_error::logic_error(std::__1::basic_string
const&) (/usr/lib/libc++.so.1+0x8dde2) #1 0x7f46eeddaf64 in boost::future_error::future_error(boost::system::error_code) /home/ben/development/boost/test/build/boost_root/status/../boost/thread/futures/future_error.hpp:28:7 #2 0x7f46eeddefc8 in boost::broken_promise::broken_promise() /home/ben/development/boost/test/build/boost_root/status/../boost/thread/futures/future_error.hpp:51:9
#3 0x7f46eedcdb02 in boost::promise<int>::~promise() /home/ben/development/boost/test/build/boost_root/status/../boost/thread/future.hpp:1951:63
#4 0x7f46eedc8120 in main /home/ben/development/boost/test/build/boost_root/status/../libs/thread/test/sync/futures/shared_future/move_assign_pass.cpp:39:3
#5 0x7f46ecce0ec4 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #6 0x7f46eed7374c in _start (/home/ben/development/boost/test/build/results/boost/bin.v2/libs/thread/test/shared_future__move_asign_p.test/clang-linux-3.6~msan~c14_libc++/debug/address-model-64/architecture-x86/threading-multi/shared_future__move_asign_p+0x6974c)
SUMMARY: MemorySanitizer: use-of-uninitialized-value ??:0 std::logic_error::logic_error(std::__1::basic_string
const&) Exiting Does it corresponds to the same false positive? Have you reached to mask the PO false positive?
I haven't added that to the blacklist because I need to determine the mangled name and haven't got round to it. Also, since I'm not linking with a sanitized libc++, I'm not sure if it's a false positive or not. Hopefully I'll have some time this weekend to run checks on sanitized versions of libc++, as well as blacklist some of that stuff in the meanwhile for boost tests. Running the sanitized tests takes 6-8 hours per branch, just core atomic and thread takes over an hour, so it's slow going when I get it wrong ;) Ben