steve-the-bayesian / BOOM

A C++ library for Bayesian modeling, mainly through Markov chain Monte Carlo, but with a few other methods supported. BOOM = "Bayesian Object Oriented Modeling". It is also the sound your computer makes when it crashes.
GNU Lesser General Public License v2.1
35 stars 14 forks source link

ASAN issues raised by CRAN #35

Closed steve-the-bayesian closed 3 years ago

steve-the-bayesian commented 5 years ago
* using log directory ‘/data/gannet/ripley/R/packages/tests-clang-SAN/bsts.Rcheck’
* using R Under development (unstable) (2019-05-21 r76566)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* using option ‘--no-stop-on-test-error’
* checking for file ‘bsts/DESCRIPTION’ ... OK
* this is package ‘bsts’ version ‘0.9.0’
* package encoding: UTF-8
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking whether package ‘bsts’ can be installed ... [232s/109s] OK
* checking package directory ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking contents of ‘data’ directory ... OK
* checking compiled code ... OK
* checking examples ... ERROR
Running examples in ‘bsts-Ex.R’ failed
The error most likely occurred in:

> ### Name: mixed.frequency
> ### Title: Models for mixed frequency time series
> ### Aliases: bsts.mixed
> ### Keywords: models regression
> 
> ### ** Examples
> 
>   data <- SimulateFakeMixedFrequencyData(nweeks = 104, xdim = 20)
> 
>   ## Setting an upper limit on the standard deviations can help keep the
>   ## MCMC from flying off to infinity.
>   sd.limit <- sd(data$coarse.target)
>   state.specification <-
+        AddLocalLinearTrend(list(),
+                      data$coarse.target,
+                      level.sigma.prior = SdPrior(1.0, 5, upper.limit = sd.limit),
+                      slope.sigma.prior = SdPrior(.5, 5, upper.limit = sd.limit))
>   weeks <- index(data$predictor)
>   months <- index(data$coarse.target)
>   which.month <- MatchWeekToMonth(weeks, months[1])
>   membership.fraction <- GetFractionOfDaysInInitialMonth(weeks)
>   contains.end <- WeekEndsMonth(weeks)
> 
>   model <- bsts.mixed(target.series = data$coarse.target,
+                       predictors = data$predictors,
+                       membership.fraction = membership.fraction,
+                       contains.end = contains.end,
+                       which.coarse = which.month,
+                       state.specification = state.specification,
+                       niter = 500,
+                       expected.r2 = .999,
+                       prior.df = 1)
=================================================================
==1324==ERROR: AddressSanitizer: container-overflow on address 0x60300655db48 at pc 0x7fc1493a9e8b bp 0x7ffc71e392d0 sp 0x7ffc71e392c8
READ of size 8 at 0x60300655db48 thread T0
    #0 0x7fc1493a9e8a in boost::intrusive_ptr<BOOM::FineNowcastingData>::intrusive_ptr(boost::intrusive_ptr<BOOM::FineNowcastingData>&&) /data/gannet/ripley/R/test-clang/BH/include/boost/smart_ptr/intrusive_ptr.hpp:115:69
    #1 0x7fc1493a9e8a in BOOM::Ptr<BOOM::FineNowcastingData, true>::Ptr(BOOM::Ptr<BOOM::FineNowcastingData, true>&&) /data/gannet/ripley/R/test-clang/Boom/include/cpputil/Ptr.hpp:56
    #2 0x7fc1493a9b32 in void std::__1::allocator_traits<std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::construct<BOOM::Ptr<BOOM::FineNowcastingData, true>, BOOM::Ptr<BOOM::FineNowcastingData, true> >(std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&, BOOM::Ptr<BOOM::FineNowcastingData, true>*, BOOM::Ptr<BOOM::FineNowcastingData, true>&&) /usr/local/bin/../include/c++/v1/memory:1561:14
    #3 0x7fc1493a9b32 in void std::__1::allocator_traits<std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::__construct_backward<BOOM::Ptr<BOOM::FineNowcastingData, true>*>(std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&, BOOM::Ptr<BOOM::FineNowcastingData, true>*, BOOM::Ptr<BOOM::FineNowcastingData, true>*, BOOM::Ptr<BOOM::FineNowcastingData, true>*&) /usr/local/bin/../include/c++/v1/memory:1680
    #4 0x7fc1493a942a in std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::__swap_out_circular_buffer(std::__1::__split_buffer<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&>&) /usr/local/bin/../include/c++/v1/vector:938:5
    #5 0x7fc1493aa406 in void std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::__push_back_slow_path<BOOM::Ptr<BOOM::FineNowcastingData, true> const&>(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /usr/local/bin/../include/c++/v1/vector:1622:5
    #6 0x7fc1495bdfb5 in std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::push_back(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /usr/local/bin/../include/c++/v1/vector:1639:9
    #7 0x7fc1495bdfb5 in BOOM::IID_DataPolicy<BOOM::FineNowcastingData>::add_data(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/../inst/include/Models/Policies/IID_DataPolicy.hpp:167
    #8 0x7fc1495bdfb5 in BOOM::AggregatedStateSpaceRegression::add_data(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/StateSpace/AggregatedStateSpaceRegression.cpp:427
    #9 0x7fc1495c0f4b in BOOM::IID_DataPolicy<BOOM::FineNowcastingData>::set_data(std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > > const&) /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/../inst/include/Models/Policies/IID_DataPolicy.hpp:126:41
    #10 0x7fc1493a0dd1 in analysis_common_r_bsts_fit_mixed_frequency_model_ /data/gannet/ripley/R/packages/tests-clang-SAN/bsts/src/mixed_frequency.cc:369:14
    #11 0x770758 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c
    #12 0x7ba59e in do_dotcall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:1252:11
    #13 0x8d71ab in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6772:14
    #14 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
    #15 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #16 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
    #17 0x8c2d89 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:743:12
    #18 0x92c11b in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2808:8
    #19 0x8c27ef in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:695:12
    #20 0x9f5993 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:260:2
    #21 0x9f9cf0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:310:11
    #22 0x9f9ad5 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1086:5
    #23 0x5439ba in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5
    #24 0x7fc15f38111a in __libc_start_main (/lib64/libc.so.6+0x2311a)
    #25 0x42f4f9 in _start (/data/gannet/ripley/R/R-clang-SAN/bin/exec/R+0x42f4f9)

0x60300655db48 is located 24 bytes inside of 32-byte region [0x60300655db30,0x60300655db50)
allocated by thread T0 here:
    #0 0x5405f0 in operator new(unsigned long) /data/gannet/ripley/Sources/LLVM/8.0.0/llvm-8.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:106:3
    #1 0x7fc1493a91b1 in std::__1::__libcpp_allocate(unsigned long, unsigned long) /usr/local/bin/../include/c++/v1/new:239:10
    #2 0x7fc1493a91b1 in std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >::allocate(unsigned long, void const*) /usr/local/bin/../include/c++/v1/memory:1814
    #3 0x7fc1493a91b1 in std::__1::allocator_traits<std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::allocate(std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&, unsigned long) /usr/local/bin/../include/c++/v1/memory:1547
    #4 0x7fc1493a91b1 in std::__1::__split_buffer<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> >&) /usr/local/bin/../include/c++/v1/__split_buffer:311
    #5 0x7fc1493aa39d in void std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::__push_back_slow_path<BOOM::Ptr<BOOM::FineNowcastingData, true> const&>(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /usr/local/bin/../include/c++/v1/vector:1618:49
    #6 0x7fc1495bdfb5 in std::__1::vector<BOOM::Ptr<BOOM::FineNowcastingData, true>, std::__1::allocator<BOOM::Ptr<BOOM::FineNowcastingData, true> > >::push_back(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /usr/local/bin/../include/c++/v1/vector:1639:9
    #7 0x7fc1495bdfb5 in BOOM::IID_DataPolicy<BOOM::FineNowcastingData>::add_data(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/../inst/include/Models/Policies/IID_DataPolicy.hpp:167
    #8 0x7fc1495bdfb5 in BOOM::AggregatedStateSpaceRegression::add_data(BOOM::Ptr<BOOM::FineNowcastingData, true> const&) /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/StateSpace/AggregatedStateSpaceRegression.cpp:427
    #9 0x770758 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c
    #10 0x7ba59e in do_dotcall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:1252:11
    #11 0x8d71ab in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6772:14
    #12 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
    #13 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
    #14 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
    #15 0x8c2d89 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:743:12
    #16 0x92c11b in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2808:8
    #17 0x8c27ef in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:695:12
    #18 0x9f5993 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:260:2
    #19 0x9f9cf0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:310:11
    #20 0x9f9ad5 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1086:5
    #21 0x5439ba in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5
    #22 0x7fc15f38111a in __libc_start_main (/lib64/libc.so.6+0x2311a)

HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_container_overflow=0.
If you suspect a false positive see also: https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow.
SUMMARY: AddressSanitizer: container-overflow /data/gannet/ripley/R/test-clang/BH/include/boost/smart_ptr/intrusive_ptr.hpp:115:69 in boost::intrusive_ptr<BOOM::FineNowcastingData>::intrusive_ptr(boost::intrusive_ptr<BOOM::FineNowcastingData>&&)
Shadow bytes around the buggy address:
  0x0c0680ca3b10: fa fa fd fd fd fd fa fa fa fa fa fa fa fa fd fd
  0x0c0680ca3b20: fd fa fa fa fd fd fd fa fa fa fd fd fd fd fa fa
  0x0c0680ca3b30: fd fd fd fa fa fa fd fd fd fa fa fa fd fd fd fa
  0x0c0680ca3b40: fa fa fd fd fd fa fa fa fa fa fa fa fa fa fd fd
  0x0c0680ca3b50: fd fa fa fa fd fd fd fd fa fa fd fd fd fd fa fa
=>0x0c0680ca3b60: fa fa fa fa fa fa 00 00 00[fc]fa fa 00 00 00 fa
  0x0c0680ca3b70: fa fa fd fd fd fd fa fa 00 00 00 00 fa fa fa fa
  0x0c0680ca3b80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0680ca3b90: fd fd fd fd fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0680ca3ba0: fa fa fa fa fa fa fa fa fd fd fd fd fa fa fa fa
  0x0c0680ca3bb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
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
  Shadow gap:              cc
==1324==ABORTING
* checking tests ... [161s/162s] ERROR
  Running ‘testthat.R’ [160s/161s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(bsts)
  Loading required package: BoomSpikeSlab
  Loading required package: Boom
  Loading required package: MASS

  Attaching package: 'Boom'

  The following object is masked from 'package:stats':

      rWishart

  Loading required package: zoo

  Attaching package: 'zoo'

  The following objects are masked from 'package:base':

      as.Date, as.Date.numeric

  Loading required package: xts

  Attaching package: 'bsts'

  The following object is masked from 'package:BoomSpikeSlab':

      SuggestBurn

  > library(Boom)
  > 
  > test_check("bsts")
  =-=-=-=-= Iteration 0 Wed May 22 04:30:13 2019 =-=-=-=-=
  =-=-=-=-= Iteration 5 Wed May 22 04:30:18 2019 =-=-=-=-=
  =-=-=-=-= Iteration 10 Wed May 22 04:30:24 2019 =-=-=-=-=
  =-=-=-=-= Iteration 15 Wed May 22 04:30:30 2019 =-=-=-=-=
  =-=-=-=-= Iteration 20 Wed May 22 04:30:35 2019 =-=-=-=-=
  =-=-=-=-= Iteration 25 Wed May 22 04:30:41 2019 =-=-=-=-=
  =-=-=-=-= Iteration 30 Wed May 22 04:30:47 2019 =-=-=-=-=
  =-=-=-=-= Iteration 35 Wed May 22 04:30:53 2019 =-=-=-=-=
  =-=-=-=-= Iteration 40 Wed May 22 04:30:59 2019 =-=-=-=-=
  =-=-=-=-= Iteration 45 Wed May 22 04:31:04 2019 =-=-=-=-=
  =-=-=-=-= Iteration 0 Wed May 22 04:31:13 2019 =-=-=-=-=
  =-=-=-=-= Iteration 5 Wed May 22 04:31:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 10 Wed May 22 04:31:24 2019 =-=-=-=-=
  =-=-=-=-= Iteration 15 Wed May 22 04:31:30 2019 =-=-=-=-=
  =-=-=-=-= Iteration 20 Wed May 22 04:31:37 2019 =-=-=-=-=
  =-=-=-=-= Iteration 25 Wed May 22 04:31:44 2019 =-=-=-=-=
  =-=-=-=-= Iteration 30 Wed May 22 04:31:51 2019 =-=-=-=-=
  =-=-=-=-= Iteration 35 Wed May 22 04:31:58 2019 =-=-=-=-=
  =-=-=-=-= Iteration 40 Wed May 22 04:32:05 2019 =-=-=-=-=
  =-=-=-=-= Iteration 45 Wed May 22 04:32:12 2019 =-=-=-=-=
  =-=-=-=-= Iteration 0 Wed May 22 04:32:18 2019 =-=-=-=-=
  =-=-=-=-= Iteration 10 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 20 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 30 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 40 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 50 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 60 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 70 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 80 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 90 Wed May 22 04:32:19 2019 =-=-=-=-=
  =-=-=-=-= Iteration 0 Wed May 22 04:32:20 2019 =-=-=-=-=
  =-=-=-=-= Iteration 100 Wed May 22 04:32:21 2019 =-=-=-=-=
  =-=-=-=-= Iteration 200 Wed May 22 04:32:22 2019 =-=-=-=-=
  =-=-=-=-= Iteration 300 Wed May 22 04:32:23 2019 =-=-=-=-=
  =-=-=-=-= Iteration 400 Wed May 22 04:32:24 2019 =-=-=-=-=
  =-=-=-=-= Iteration 500 Wed May 22 04:32:25 2019 =-=-=-=-=
  =-=-=-=-= Iteration 600 Wed May 22 04:32:26 2019 =-=-=-=-=
  =-=-=-=-= Iteration 700 Wed May 22 04:32:27 2019 =-=-=-=-=
  =-=-=-=-= Iteration 800 Wed May 22 04:32:28 2019 =-=-=-=-=
  =-=-=-=-= Iteration 900 Wed May 22 04:32:30 2019 =-=-=-=-=
  =-=-=-=-= Iteration 0 Wed May 22 04:32:31 2019 =-=-=-=-=
  =-=-=-=-= Iteration 10 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 20 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 30 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 40 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 50 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 60 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 70 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 80 Wed May 22 04:32:32 2019 =-=-=-=-=
  =-=-=-=-= Iteration 90 Wed May 22 04:32:32 2019 =-=-=-=-=
  Starting the prediction.
  =-=-=-=-= Iteration 0 Wed May 22 04:32:41 2019 =-=-=-=-=
  =-=-=-=-= Iteration 10 Wed May 22 04:32:43 2019 =-=-=-=-=
  =-=-=-=-= Iteration 20 Wed May 22 04:32:45 2019 =-=-=-=-=
  =-=-=-=-= Iteration 30 Wed May 22 04:32:46 2019 =-=-=-=-=
  =-=-=-=-= Iteration 40 Wed May 22 04:32:48 2019 =-=-=-=-=
  =================================================================
  ==35859==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602006d5fcfc at pc 0x00000050191a bp 0x7ffd4a636180 sp 0x7ffd4a635930
  READ of size 16 at 0x602006d5fcfc thread T0
      #0 0x501919 in __asan_memcpy /data/gannet/ripley/Sources/LLVM/8.0.0/llvm-8.0.0.src/projects/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cc:23:3
      #1 0x7f40dbd97d5d in std::__1::enable_if<((std::__1::integral_constant<bool, true>::value) || (!(__has_construct<std::__1::allocator<int>, bool*, bool>::value))) && (is_trivially_move_constructible<bool>::value), void>::type std::__1::allocator_traits<std::__1::allocator<int> >::__construct_backward<int>(std::__1::allocator<int>&, bool*, bool*, bool*&) /usr/local/bin/../include/c++/v1/memory:1700:17
      #2 0x7f40dbd97d5d in std::__1::vector<int, std::__1::allocator<int> >::__swap_out_circular_buffer(std::__1::__split_buffer<int, std::__1::allocator<int>&>&) /usr/local/bin/../include/c++/v1/vector:938
      #3 0x7f40dbd97256 in void std::__1::vector<int, std::__1::allocator<int> >::__push_back_slow_path<int const&>(int const&) /usr/local/bin/../include/c++/v1/vector:1622:5
      #4 0x7f40dc08c3a2 in std::__1::vector<int, std::__1::allocator<int> >::push_back(int const&) /usr/local/bin/../include/c++/v1/vector:1639:9
      #5 0x7f40dc08c3a2 in BOOM::CorrelationMap::propose_swap(BOOM::RNG&, BOOM::Selector const&, int, double*) const /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Glm/PosteriorSamplers/CorrelationMap.cpp:73
      #6 0x7f40dbe7a840 in BOOM::BregVsSampler::attempt_swap() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Glm/PosteriorSamplers/BregVsSampler.cpp:287:38
      #7 0x7f40dbe7a10f in BOOM::BregVsSampler::draw_model_indicators() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Glm/PosteriorSamplers/BregVsSampler.cpp:371:5
      #8 0x7f40dbe79c05 in BOOM::BregVsSampler::draw() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Glm/PosteriorSamplers/BregVsSampler.cpp:252:7
      #9 0x7f40dbf867b9 in BOOM::PriorPolicy::sample_posterior() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Policies/PriorPolicy.cpp:31:21
      #10 0x7f40dbf867b9 in virtual thunk to BOOM::PriorPolicy::sample_posterior() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Policies/PriorPolicy.cpp
      #11 0x7f40dc017448 in BOOM::StateSpacePosteriorSampler::draw() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/StateSpace/PosteriorSamplers/StateSpacePosteriorSampler.cpp:46:36
      #12 0x7f40dbf867b9 in BOOM::PriorPolicy::sample_posterior() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Policies/PriorPolicy.cpp:31:21
      #13 0x7f40dbf867b9 in virtual thunk to BOOM::PriorPolicy::sample_posterior() /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Policies/PriorPolicy.cpp
      #14 0x7f40dbd2832b in analysis_common_r_fit_bsts_model_ /data/gannet/ripley/R/packages/tests-clang-SAN/bsts/src/bsts.cc:89:18
      #15 0x7784dd in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c
      #16 0x7ba59e in do_dotcall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:1252:11
      #17 0x8d71ab in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6772:14
      #18 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #19 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #20 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #21 0x8c2d89 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:743:12
      #22 0x92c11b in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2808:8
      #23 0x8c27ef in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:695:12
      #24 0x93342a in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3210:9
      #25 0x8d71ab in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6772:14
      #26 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #27 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #28 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #29 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #30 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #31 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #32 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #33 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #34 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #35 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #36 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #37 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #38 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #39 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #40 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #41 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #42 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #43 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #44 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #45 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #46 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #47 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #48 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #49 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #50 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #51 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #52 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #53 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #54 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #55 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #56 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #57 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #58 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #59 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #60 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #61 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #62 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #63 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #64 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #65 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #66 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #67 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #68 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #69 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #70 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #71 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #72 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #73 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #74 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #75 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #76 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #77 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #78 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #79 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #80 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #81 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #82 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #83 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #84 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #85 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #86 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #87 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #88 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #89 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #90 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #91 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #92 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #93 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #94 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #95 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #96 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #97 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #98 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #99 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #100 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #101 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #102 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #103 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #104 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #105 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #106 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #107 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #108 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #109 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #110 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #111 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #112 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #113 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #114 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #115 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #116 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #117 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #118 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #119 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #120 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #121 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #122 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #123 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #124 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #125 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #126 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #127 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #128 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #129 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #130 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #131 0x921470 in R_forceAndCall /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1847:8
      #132 0x58fb6f in do_lapply /data/gannet/ripley/R/svn/R-devel/src/main/apply.c:70:8
      #133 0xa40b88 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1376:11
      #134 0x8d343d in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6792:15
      #135 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #136 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #137 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #138 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #139 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #140 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #141 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #142 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #143 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #144 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #145 0x919fdd in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:516:8
      #146 0x94fcf5 in FORCE_PROMISE /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4898:15
      #147 0x94fcf5 in getvar /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4971
      #148 0x8ec1b1 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6524:20
      #149 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #150 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #151 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #152 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #153 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #154 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #155 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #156 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #157 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #158 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #159 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #160 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #161 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #162 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #163 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #164 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #165 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #166 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #167 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #168 0x8e1ae8 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6740:12
      #169 0x8c1c67 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:620:8
      #170 0x91fb5b in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c
      #171 0x91cd4f in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1706:16
      #172 0x8c2d89 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:743:12
      #173 0x9f5993 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:260:2
      #174 0x9f9cf0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:310:11
      #175 0x9f9ad5 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1086:5
      #176 0x5439ba in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5
      #177 0x7f40f215111a in __libc_start_main (/lib64/libc.so.6+0x2311a)
      #178 0x42f4f9 in _start (/data/gannet/ripley/R/R-clang-SAN/bin/exec/R+0x42f4f9)

  0x602006d5fd00 is located 0 bytes to the right of 16-byte region [0x602006d5fcf0,0x602006d5fd00)
  allocated by thread T0 here:
      #0 0x5405f0 in operator new(unsigned long) /data/gannet/ripley/Sources/LLVM/8.0.0/llvm-8.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:106:3
      #1 0x7f40dbd97a41 in std::__1::__libcpp_allocate(unsigned long, unsigned long) /usr/local/bin/../include/c++/v1/new:239:10
      #2 0x7f40dbd97a41 in std::__1::allocator<int>::allocate(unsigned long, void const*) /usr/local/bin/../include/c++/v1/memory:1814
      #3 0x7f40dbd97a41 in std::__1::allocator_traits<std::__1::allocator<int> >::allocate(std::__1::allocator<int>&, unsigned long) /usr/local/bin/../include/c++/v1/memory:1547
      #4 0x7f40dbd97a41 in std::__1::__split_buffer<int, std::__1::allocator<int>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<int>&) /usr/local/bin/../include/c++/v1/__split_buffer:311
      #5 0x7f40dbd971ed in void std::__1::vector<int, std::__1::allocator<int> >::__push_back_slow_path<int const&>(int const&) /usr/local/bin/../include/c++/v1/vector:1618:49
      #6 0x7f40dc08c3a2 in std::__1::vector<int, std::__1::allocator<int> >::push_back(int const&) /usr/local/bin/../include/c++/v1/vector:1639:9
      #7 0x7f40dc08c3a2 in BOOM::CorrelationMap::propose_swap(BOOM::RNG&, BOOM::Selector const&, int, double*) const /tmp/RtmplY1zDw/R.INSTALL514bfe81890/Boom/src/Models/Glm/PosteriorSamplers/CorrelationMap.cpp:73

  SUMMARY: AddressSanitizer: heap-buffer-overflow /data/gannet/ripley/Sources/LLVM/8.0.0/llvm-8.0.0.src/projects/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cc:23:3 in __asan_memcpy
  Shadow bytes around the buggy address:
    0x0c0480da3f40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x0c0480da3f50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x0c0480da3f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x0c0480da3f70: fa fa fa fa fa fa fa fa fa fa 00 fa fa fa fa fa
    0x0c0480da3f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fd fd
  =>0x0c0480da3f90: fa fa fa fa fa fa fd fa fa fa fd fa fa fa 00[04]
    0x0c0480da3fa0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa 00 00
    0x0c0480da3fb0: fa fa fd fa fa fa fd fd fa fa fd fd fa fa fd fd
    0x0c0480da3fc0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
    0x0c0480da3fd0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
    0x0c0480da3fe0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa 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
    Shadow gap:              cc
  ==35859==ABORTING
* DONE
Status: 2 ERRORs
steve-the-bayesian commented 5 years ago

The issue with FineNowcastingData seems to be the move constructor with Ptr. I don't understand this at all, but it had been defaulted. Changed to

Ptr(Ptr &&rhs)
    : managed_pointer_(std::move(rhs.managed_pointer_))
{}

If the boos::intrusive_ptr has a correctly implemented move constructor this should do the right thing.

steve-the-bayesian commented 5 years ago

There is a reasonable chance that both issues are false alarms. See https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow