Skip to content

Instantly share code, notes, and snippets.

@dtzWill
Created June 7, 2018 17:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dtzWill/4b02c8943ec3be4875ab54186e2cc176 to your computer and use it in GitHub Desktop.
Save dtzWill/4b02c8943ec3be4875ab54186e2cc176 to your computer and use it in GitHub Desktop.
=================================================================
==18797==ERROR: AddressSanitizer: heap-use-after-free on address 0x62a00000c9e8 at pc 0x7fdbe38d33e3 bp 0x7fdbd7a46870 sp 0x7fdbd7a46868
READ of size 1 at 0x62a00000c9e8 thread T11
#0 0x7fdbe38d33e2 in Curl_infof /build/source/lib/sendf.c:235:24
#1 0x7fdbe3971a28 in http2_connisdead /build/source/lib/http2.c:214:9
#2 0x7fdbe3971a28 in http2_conncheck /build/source/lib/http2.c:236
#3 0x7fdbe38f5d41 in extract_if_dead /build/source/lib/url.c:973:15
#4 0x7fdbe38ef8f0 in ConnectionExists /build/source/lib/url.c:1140:10
#5 0x7fdbe38ef8f0 in create_conn /build/source/lib/url.c:4408
#6 0x7fdbe38e8501 in Curl_connect /build/source/lib/url.c:4671:12
#7 0x7fdbe3922639 in multi_runsingle /build/source/lib/multi.c:1434:16
#8 0x7fdbe39213a6 in curl_multi_perform /build/source/lib/multi.c:2172:14
#9 0x7fdbe5fd7168 in nix::CurlDownloader::workerThreadMain() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:496:28
#10 0x7fdbe5fd645d in nix::CurlDownloader::workerThreadEntry() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:594:13
#11 0x7fdbe5fd630b in nix::CurlDownloader::CurlDownloader()::{lambda()#1}::operator()() const /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:456:44
#12 0x7fdbe5fd62a2 in _ZNSt3__18__invokeIZN3nix14CurlDownloaderC1EvEUlvE_JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS4_DpOS5_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/type_traits:4482:1
#13 0x7fdbe5fd62a2 in void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>&, std::__1::__tuple_indices<>) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/thread:342
#14 0x7fdbe5fd62a2 in void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/thread:352
#15 0x528f9e in __asan::AsanThread::ThreadStart(unsigned long, __sanitizer::atomic_uintptr_t*) (/nix/store/rs68spmjbqvcavg76cidb0bkpb8ndgwi-nix-2.1dtz6369_9fb5019/bin/nix+0x528f9e)
#16 0x7fdbe4f645a6 in start_thread (/nix/store/pr73kx0cdszbv9iw49g8dzi0nqxfjbx2-glibc-2.27/lib/libpthread.so.0+0x75a6)
#17 0x7fdbe467922e in __GI___clone (/nix/store/pr73kx0cdszbv9iw49g8dzi0nqxfjbx2-glibc-2.27/lib/libc.so.6+0xf222e)
0x62a00000c9e8 is located 2024 bytes inside of 21328-byte region [0x62a00000c200,0x62a000011550)
freed by thread T11 here:
#0 0x51b1f0 in __interceptor_free.localalias.0 (/nix/store/rs68spmjbqvcavg76cidb0bkpb8ndgwi-nix-2.1dtz6369_9fb5019/bin/nix+0x51b1f0)
#1 0x7fdbe38e4f7b in Curl_close /build/source/lib/url.c:395:3
previously allocated by thread T11 here:
#0 0x51b5e8 in calloc (/nix/store/rs68spmjbqvcavg76cidb0bkpb8ndgwi-nix-2.1dtz6369_9fb5019/bin/nix+0x51b5e8)
#1 0x7fdbe38e5be4 in Curl_open /build/source/lib/url.c:558:10
#2 0x7fdbe5fdc1f6 in nix::CurlDownloader::DownloadItem::init() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:245:29
#3 0x7fdbe5fd8323 in nix::CurlDownloader::workerThreadMain() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:574:23
#4 0x7fdbe5fd645d in nix::CurlDownloader::workerThreadEntry() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:594:13
#5 0x7fdbe5fd630b in nix::CurlDownloader::CurlDownloader()::{lambda()#1}::operator()() const /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:456:44
#6 0x7fdbe5fd62a2 in _ZNSt3__18__invokeIZN3nix14CurlDownloaderC1EvEUlvE_JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS4_DpOS5_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/type_traits:4482:1
#7 0x7fdbe5fd62a2 in void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>&, std::__1::__tuple_indices<>) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/thread:342
#8 0x7fdbe5fd62a2 in void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}> >(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, nix::CurlDownloader::CurlDownloader()::{lambda()#1}>) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/thread:352
#9 0x528f9e in __asan::AsanThread::ThreadStart(unsigned long, __sanitizer::atomic_uintptr_t*) (/nix/store/rs68spmjbqvcavg76cidb0bkpb8ndgwi-nix-2.1dtz6369_9fb5019/bin/nix+0x528f9e)
Thread T11 created by T0 here:
#0 0x474530 in pthread_create (/nix/store/rs68spmjbqvcavg76cidb0bkpb8ndgwi-nix-2.1dtz6369_9fb5019/bin/nix+0x474530)
#1 0x7fdbe5fd5588 in std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/__threading_support:327:10
#2 0x7fdbe5fd5588 in std::__1::thread::thread<nix::CurlDownloader::CurlDownloader()::{lambda()#1}, , void>(nix::CurlDownloader::CurlDownloader()::{lambda()#1}&&) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/thread:368
#3 0x7fdbe5fd528e in nix::CurlDownloader::CurlDownloader() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:456:24
#4 0x7fdbe5fd4dd6 in std::__1::__compressed_pair_elem<nix::CurlDownloader, 1, false>::__compressed_pair_elem() /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/memory:2089:66
#5 0x7fdbe5fd4dd6 in std::__1::__compressed_pair<std::__1::allocator<nix::CurlDownloader>, nix::CurlDownloader>::__compressed_pair<std::__1::allocator<nix::CurlDownloader>, true>(std::__1::allocator<nix::CurlDownloader>&&) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/memory:2187
#6 0x7fdbe5fd4dd6 in std::__1::__shared_ptr_emplace<nix::CurlDownloader, std::__1::allocator<nix::CurlDownloader> >::__shared_ptr_emplace(std::__1::allocator<nix::CurlDownloader>) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/memory:3613
#7 0x7fdbe5fd4dd6 in std::__1::shared_ptr<nix::CurlDownloader> std::__1::shared_ptr<nix::CurlDownloader>::make_shared<>() /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/memory:4277
#8 0x7fdbe5fd349c in _ZNSt3__111make_sharedIN3nix14CurlDownloaderEJEEENS_9enable_ifIXntsr8is_arrayIT_EE5valueENS_10shared_ptrIS4_EEE4typeEDpOT0_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/memory:4656:12
#9 0x7fdbe5fd349c in nix::ref<nix::CurlDownloader> nix::make_ref<nix::CurlDownloader>() /build/nix-2.1dtz6369_9fb5019/src/libutil/ref.hh:88
#10 0x7fdbe5fcc672 in nix::makeDownloader() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:658:12
#11 0x7fdbe5fcc587 in nix::getDownloader() /build/nix-2.1dtz6369_9fb5019/src/libstore/download.cc:652:41
#12 0x7fdbe602aa84 in nix::HttpBinaryCacheStore::getFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::Callback<std::__1::shared_ptr<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) /build/nix-2.1dtz6369_9fb5019/src/libstore/http-binary-cache-store.cc:88:9
#13 0x7fdbe5ee3dc3 in nix::BinaryCacheStore::queryPathInfoUncached(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::Callback<std::__1::shared_ptr<nix::ValidPathInfo> >) /build/nix-2.1dtz6369_9fb5019/src/libstore/binary-cache-store.cc:251:5
#14 0x7fdbe60df82a in nix::Store::queryPathInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::Callback<nix::ref<nix::ValidPathInfo> >) /build/nix-2.1dtz6369_9fb5019/src/libstore/store-api.cc:359:5
#15 0x7fdbe60df188 in nix::Store::queryPathInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /build/nix-2.1dtz6369_9fb5019/src/libstore/store-api.cc:311:5
#16 0x7fdbe6050207 in nix::LocalStore::querySubstitutablePathInfos(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nix::SubstitutablePathInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, nix::SubstitutablePathInfo> > >&) /build/nix-2.1dtz6369_9fb5019/src/libstore/local-store.cc:875:34
#17 0x7fdbe6050b45 in virtual thunk to nix::LocalStore::querySubstitutablePathInfos(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nix::SubstitutablePathInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, nix::SubstitutablePathInfo> > >&) /build/nix-2.1dtz6369_9fb5019/src/libstore/local-store.cc
#18 0x7fdbe606ddad in nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::$_2::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Derivation>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Sync<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::DrvState, std::__1::mutex> >) const /build/nix-2.1dtz6369_9fb5019/src/libstore/misc.cc:153:9
#19 0x7fdbe606da50 in _ZNSt3__18__invokeIRZN3nix5Store12queryMissingERKNS_3setINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIS9_EENS7_IS9_EEEERSD_SG_SG_RySH_E3$_2JRS9_RNS1_3refINS1_10DerivationEEESK_RNSL_INS1_4SyncIZNS2_12queryMissingESF_SG_SG_SG_SH_SH_E8DrvStateNS_5mutexEEEEEEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSV_DpOSW_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/type_traits:4482:1
#20 0x7fdbe606da50 in _ZNSt3__115__apply_functorIZN3nix5Store12queryMissingERKNS_3setINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIS9_EENS7_IS9_EEEERSD_SG_SG_RySH_E3$_2NS_5tupleIJS9_NS1_3refINS1_10DerivationEEES9_NSK_INS1_4SyncIZNS2_12queryMissingESF_SG_SG_SG_SH_SH_E8DrvStateNS_5mutexEEEEEEEEJLm0ELm1ELm2ELm3EENSJ_IJEEEEENS_13__bind_returnIT_T0_T2_Xsr22__is_valid_bind_returnISV_SW_SX_EE5valueEE4typeERSV_RSW_NS_15__tuple_indicesIJXspT1_EEEEOSX_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:2219
#21 0x7fdbe606da50 in _ZNSt3__16__bindIRZN3nix5Store12queryMissingERKNS_3setINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessIS9_EENS7_IS9_EEEERSD_SG_SG_RySH_E3$_2JRS9_NS1_3refINS1_10DerivationEEERKS9_RNSL_INS1_4SyncIZNS2_12queryMissingESF_SG_SG_SG_SH_SH_E8DrvStateNS_5mutexEEEEEEEclIJEEENS_13__bind_returnISI_NS_5tupleIJS9_SN_S9_SU_EEENSZ_IJDpOT_EEEXsr22__is_valid_bind_returnISI_S10_S14_EE5valueEE4typeES13_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:2252
#22 0x7fdbe606da50 in _ZNSt3__18__invokeIRNS_6__bindIRZN3nix5Store12queryMissingERKNS_3setINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_4lessISA_EENS8_ISA_EEEERSE_SH_SH_RySI_E3$_2JRSA_NS2_3refINS2_10DerivationEEERKSA_RNSM_INS2_4SyncIZNS3_12queryMissingESG_SH_SH_SH_SI_SI_E8DrvStateNS_5mutexEEEEEEEEJEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOSZ_DpOS10_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/type_traits:4482
#23 0x7fdbe606da50 in void std::__1::__invoke_void_return_wrapper<void>::__call<std::__1::__bind<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, nix::ref<nix::Derivation>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Sync<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::DrvState, std::__1::mutex> >&>&>(std::__1::__bind<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, nix::ref<nix::Derivation>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Sync<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::DrvState, std::__1::mutex> >&>&) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/__functional_base:349
#24 0x7fdbe606d77c in std::__1::__function::__func<std::__1::__bind<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, nix::ref<nix::Derivation>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Sync<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::DrvState, std::__1::mutex> >&>, std::__1::allocator<std::__1::__bind<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, nix::ref<nix::Derivation>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, nix::ref<nix::Sync<nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&)::DrvState, std::__1::mutex> >&> >, void ()>::operator()() /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:1562:12
#25 0x5e635a in std::__1::function<void ()>::operator()() const /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:1916:12
#26 0x7fdbe5b0b643 in nix::ThreadPool::doWork(bool) /build/nix-2.1dtz6369_9fb5019/src/libutil/thread-pool.cc:147:13
#27 0x7fdbe5b0baa0 in nix::ThreadPool::process() /build/nix-2.1dtz6369_9fb5019/src/libutil/thread-pool.cc:63:9
#28 0x7fdbe6067e82 in nix::Store::queryMissing(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long long&, unsigned long long&) /build/nix-2.1dtz6369_9fb5019/src/libstore/misc.cc:238:10
#29 0x7fdbe5f50206 in nix::primeCache(nix::Store&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) /build/nix-2.1dtz6369_9fb5019/src/libstore/build.cc:4273:11
#30 0x7fdbe5f4f761 in nix::LocalStore::buildPaths(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, nix::BuildMode) /build/nix-2.1dtz6369_9fb5019/src/libstore/build.cc:4281:5
#31 0x7fdbe5f50395 in virtual thunk to nix::LocalStore::buildPaths(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, nix::BuildMode) /build/nix-2.1dtz6369_9fb5019/src/libstore/build.cc
#32 0x5aa5b3 in nix::build(nix::ref<nix::Store>, nix::RealiseMode, std::__1::vector<std::__1::shared_ptr<nix::Installable>, std::__1::allocator<std::__1::shared_ptr<nix::Installable> > >) /build/nix-2.1dtz6369_9fb5019/src/nix/installables.cc:284:16
#33 0x584f87 in CmdBuild::run(nix::ref<nix::Store>) /build/nix-2.1dtz6369_9fb5019/src/nix/build.cc:53:27
#34 0x585b6c in non-virtual thunk to CmdBuild::run(nix::ref<nix::Store>) /build/nix-2.1dtz6369_9fb5019/src/nix/build.cc
#35 0x58e4f3 in nix::StoreCommand::run() /build/nix-2.1dtz6369_9fb5019/src/nix/command.cc:99:5
#36 0x5e3c46 in nix::mainWrapped(int, char**) /build/nix-2.1dtz6369_9fb5019/src/nix/main.cc:109:19
#37 0x5e455a in main::$_1::operator()() const /build/nix-2.1dtz6369_9fb5019/src/nix/main.cc:117:9
#38 0x5e44f8 in _ZNSt3__18__invokeIRZ4mainE3$_1JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS3_DpOS4_ /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/type_traits:4482:1
#39 0x5e44f8 in void std::__1::__invoke_void_return_wrapper<void>::__call<main::$_1&>(main::$_1&) /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/__functional_base:349
#40 0x5e449c in std::__1::__function::__func<main::$_1, std::__1::allocator<main::$_1>, void ()>::operator()() /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:1562:12
#41 0x5e635a in std::__1::function<void ()>::operator()() const /nix/store/7xsb6zv6lr4933hw7apkxl5rri1lkysn-libc++-6.0.0/include/c++/v1/functional:1916:12
#42 0x7fdbe64945bb in nix::handleExceptions(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<void ()>) /build/nix-2.1dtz6369_9fb5019/src/libmain/shared.cc:292:13
#43 0x5e40c6 in main /build/nix-2.1dtz6369_9fb5019/src/nix/main.cc:116:12
#44 0x7fdbe45a8b8d in __libc_start_main (/nix/store/pr73kx0cdszbv9iw49g8dzi0nqxfjbx2-glibc-2.27/lib/libc.so.6+0x21b8d)
SUMMARY: AddressSanitizer: heap-use-after-free /build/source/lib/sendf.c:235:24 in Curl_infof
Shadow bytes around the buggy address:
0x0c547fff98e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff98f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9900: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9910: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9920: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c547fff9930: fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd
0x0c547fff9940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9950: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9960: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9970: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c547fff9980: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==18797==ABORTING
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment