Opened 9 years ago

Closed 8 years ago

#9308 closed Bugs (fixed)

future::async fails with terminate called throwing an exception when called with a lambda - clang-darwin-asan11

Reported by: viboes Owned by: viboes
Milestone: Boost 1.57.0 Component: thread
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description (last modified by viboes)

rev 86424

Test output: marshall-mac - thread - ex_lambda_future / clang-darwin-asan11
Rev 86424 / Fri, 25 Oct 2013 05:14:04 +0000
Compile [2013-10-25 12:23:46 UTC]: succeed


"/Volumes/TwoTB/LLVM/build/llvm-cmake-nodebug/bin/clang++" -x c++ -std=c++11 -stdlib=libc++ -I /Users/mclow/Projects/LLVM/libcxx/include -fsanitize=address -O0 -g -Wextra -Wno-long-long -Wunused-function -pedantic -O0 -fno-inline -Wall -pedantic -g -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED -DBOOST_THREAD_USE_DLL=1 -I".." -c -o "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/thread/test/ex_lambda_future.test/clang-darwin-asan11/debug/threading-multi/lambda_future.o" "../libs/thread/test/../example/lambda_future.cpp"

            

Link [2013-10-25 12:23:46 UTC]: succeed


"/Volumes/TwoTB/LLVM/build/llvm-cmake-nodebug/bin/clang++"   -o "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/thread/test/ex_lambda_future.test/clang-darwin-asan11/debug/threading-multi/ex_lambda_future" "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/thread/test/ex_lambda_future.test/clang-darwin-asan11/debug/threading-multi/lambda_future.o" "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/chrono/build/clang-darwin-asan11/debug/threading-multi/libboost_chrono.dylib" "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/thread/build/clang-darwin-asan11/debug/threading-multi/libboost_thread.dylib" "/Volumes/TwoTB/boost/regression/trunk/results/boost/bin.v2/libs/system/build/clang-darwin-asan11/debug/threading-multi/libboost_system.dylib"    -g -stdlib=libc++ -fsanitize=address

            

Run [2013-10-25 12:23:46 UTC]: fail


0x7fff78e0a180 - ../libs/thread/test/../example/lambda_future.cpp[25] <MAIN
0x7fff78e0a180 - ../libs/thread/test/../example/lambda_future.cpp[32] f1 123
libc++abi.dylib: terminate called throwing an exception

EXIT STATUS: 134
            


Change History (8)

comment:1 by viboes, 9 years ago

Description: modified (diff)
Owner: changed from Anthony Williams to viboes
Status: newassigned

comment:2 by Marshall Clow, 9 years ago

If you need any help from me reproducing this or testing a fix, don't hesitate to ask.

comment:3 by viboes, 9 years ago

Version: Boost 1.54.0Boost Development Trunk

comment:4 by viboes, 9 years ago

Milestone: To Be DeterminedBoost 1.56.0

Thanks Marshall. I have reached to install the sanitaizer.

This change-set https://github.com/boostorg/thread/commit/cb845f19e4a975fc95e8b10c096280085d24eb03 improves the situation for but restrict the use of the variadic versions. It works for all the compiler for which BOOST_NO_CXX11_DECLTYPE_N3276 is defined.

comment:5 by viboes, 9 years ago

Milestone: Boost 1.56.0To Be Determined

comment:6 by viboes, 8 years ago

data race condition identified in #10478 Data race in boost/thread/future.hpp

comment:8 by viboes, 8 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.