* using log directory ‘/data/gannet/ripley/R/packages/tests-clang-ASAN/measles.Rcheck’ * using R Under development (unstable) (2026-02-11 r89406) * using platform: x86_64-pc-linux-gnu * R was compiled by clang version 21.1.8 flang version 21.1.8 * running under: Fedora Linux 42 (Workstation Edition) * using session charset: UTF-8 * current time: 2026-02-12 11:08:55 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘measles/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘measles’ version ‘0.1.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 ‘measles’ can be installed ... [64s/79s] OK * used C++ compiler: ‘clang version 21.1.8’ * 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 compiled code ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [8s/10s] OK * checking tests ... [82s/111s] ERROR Running ‘tinytest.R’ [80s/107s] Running the tests in ‘tests/tinytest.R’ failed. Complete output: > > if (requireNamespace("tinytest", quietly = TRUE)) { + + test_tmat_matches_expected <- function(tmat) { + # Check for out of bounds values + tinytest::expect_false(any(tmat < 0)) + tinytest::expect_false(any(tmat > 1)) + } + + tinytest::test_package("measles") + } Loading required package: epiworldR Thank you for using epiworldR! Please consider citing it in your work. You can find the citation information by running citation("epiworldR") test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 0 tests test-contact-matrix.R......... 1 tests OK test-contact-matrix.R......... 1 tests OK _________________________________________________________________________ |||||||Running the model... |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. ||||||| test-contact-matrix.R......... 1 tests OK test-contact-matrix.R......... 1 tests OK test-contact-matrix.R......... 2 tests OK test-contact-matrix.R......... 2 tests OK test-contact-matrix.R......... 2 tests OK test-contact-matrix.R......... 2 tests OK test-contact-matrix.R......... 2 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 3 tests OK test-contact-matrix.R......... 4 tests OK test-contact-matrix.R......... 4 tests OK _________________________________________________________________________ |||||||Running the model... |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. ||||||| test-contact-matrix.R......... 4 tests OK test-contact-matrix.R......... 4 tests OK test-contact-matrix.R......... 5 tests OK test-contact-matrix.R......... 5 tests OK test-contact-matrix.R......... 5 tests OK test-contact-matrix.R......... 5 tests OK test-contact-matrix.R......... 5 tests OK test-contact-matrix.R......... 6 tests OK test-contact-matrix.R......... 7 tests OK test-contact-matrix.R......... 8 tests OK 1.0s test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests Starting multiple runs (1000) using 2 thread(s) _________________________________________________________________________ _________________________________________________________________________ ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests Attaching package: 'data.table' The following object is masked from 'package:base': %notin% test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 0 tests test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 1 tests OK test-hospitalization.R........ 2 tests OK test-hospitalization.R........ 2 tests OK test-hospitalization.R........ 2 tests OK test-hospitalization.R........ 3 tests OK 1.3s test-measles-quarantine-errors.R 0 tests test-measles-quarantine-errors.R 1 tests OK test-measles-quarantine-errors.R 2 tests OK test-measles-quarantine-errors.R 2 tests OK test-measles-quarantine-errors.R 3 tests OK test-measles-quarantine-errors.R 4 tests OK test-measles-quarantine-errors.R 5 tests OK test-measles-quarantine-errors.R 6 tests OK test-measles-quarantine-errors.R 7 tests OK test-measles-quarantine-errors.R 8 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 9 tests OK test-measles-quarantine-errors.R 10 tests OK test-measles-quarantine-errors.R 11 tests OK test-measles-quarantine-errors.R 12 tests OK test-measles-quarantine-errors.R 13 tests OK test-measles-quarantine-errors.R 14 tests OK test-measles-quarantine-errors.R 15 tests OK test-measles-quarantine-errors.R 16 tests OK test-measles-quarantine-errors.R 17 tests OK test-measles-quarantine-errors.R 18 tests OK test-measles-quarantine-errors.R 19 tests OK test-measles-quarantine-errors.R 20 tests OK test-measles-quarantine-errors.R 21 tests OK test-measles-quarantine-errors.R 22 tests OK test-measles-quarantine-errors.R 23 tests OK test-measles-quarantine-errors.R 24 tests OK test-measles-quarantine-errors.R 25 tests OK test-measles-quarantine-errors.R 26 tests OK test-measles-quarantine-errors.R 27 tests OK test-measles-quarantine-errors.R 28 tests OK test-measles-quarantine-errors.R 29 tests OK test-measles-quarantine-errors.R 30 tests OK test-measles-quarantine-errors.R 31 tests OK test-measles-quarantine-errors.R 32 tests OK test-measles-quarantine-errors.R 33 tests OK test-measles-quarantine-errors.R 34 tests OK test-measles-quarantine-errors.R 35 tests OK test-measles-quarantine-errors.R 36 tests OK test-measles-quarantine-errors.R 37 tests OK test-measles-quarantine-errors.R 38 tests OK test-measles-quarantine-errors.R 39 tests OK 0.3s test-measles-quarantine-math.R 0 tests Starting multiple runs (200) using 2 thread(s) _________________________________________________________________________ _________________________________________________________________________ ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. ----- PASSED : test-measles-quarantine-math.R<4--39> call| expect_equal(r0_obs, R0, tolerance = 0.1) Starting multiple runs (200) using 2 thread(s) _________________________________________________________________________ _________________________________________________________________________ ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. ----- PASSED : test-measles-quarantine-math.R<4--39> call| expect_equal(r0_obs, R0, tolerance = 0.1) Starting multiple runs (200) using 2 thread(s) _________________________________________________________________________ _________________________________________________________________________ ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. ----- PASSED : test-measles-quarantine-math.R<4--39> call| expect_equal(r0_obs, R0, tolerance = 0.1) test-measles-quarantine-math.R 3 tests OK 23.9s test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests _________________________________________________________________________ Running the model... ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| done. test-measlesmixing.R.......... 0 tests ________________________________________________________________________________ ________________________________________________________________________________ SIMULATION STUDY Name of the model : Measles with Mixing and Quarantine Population size : 9000 Agents' data : (none) Number of entities : 3 Days (duration) : 100 (of 100) Number of viruses : 1 Last run elapsed t : 996.00ms Last run speed : 0.90 million agents x day / second Rewiring : off Global events: - Update infected individuals (runs daily) Virus(es): - Measles Tool(s): - Vaccine Model parameters: - (IGNORED) Vax improved recovery : 0.8000 - Contact rate : 15.0000 - Contact tracing days prior : 4.0000 - Contact tracing success rate : 0.8000 - Days undetected : 2.0000 - Hospitalization period : 10.0000 - Hospitalization rate : 0.1000 - Incubation period : 10.0000 - Isolation period : 10.0000 - Isolation willingness : 0.8000 - Prodromal period : 3.0000 - Quarantine period : 14.0000 - Quarantine willingness : 0.9000 - Rash period : 7.0000 - Transmission rate : 0.9000 - Vaccination rate : 0.9500 - Vax efficacy : 0.9700 Distribution of the population at time 100: - ( 0) Susceptible : 8999 -> 8822 - ( 1) Exposed : 1 -> 66 - ( 2) Prodromal : 0 -> 17 - ( 3) Rash : 0 -> 2 - ( 4) Isolated : 0 -> 2 - ( 5) Isolated Recovered : 0 -> 18 - ( 6) Detected Hospitalized : 0 -> 2 - ( 7) Quarantined Exposed : 0 -> 8 - ( 8) Quarantined Susceptible : 0 -> 0 - ( 9) Quarantined Prodromal : 0 -> 1 - (10) Quarantined Recovered : 0 -> 0 - (11) Hospitalized : 0 -> 3 - (12) Recovered : 0 -> 59 Transition Probabilities: - Susceptible 1.00 0.00 - - - - - - 0.00 - - - - - Exposed - 0.90 0.08 - - - - 0.02 - 0.00 - - - - Prodromal - - 0.67 0.33 - - - - - - - - - - Rash - - - 0.07 0.04 0.41 0.04 - - - - 0.05 0.39 - Isolated - - - - 0.14 0.71 0.14 - - - - - - - Isolated Recovered - - - - - 0.92 - - - - - - 0.08 - Detected Hospitalized - - - - - - 0.93 - - - - - 0.07 - Quarantined Exposed - 0.02 - - - - - 0.90 - 0.08 - - - - Quarantined Susceptible 0.07 - - - - - - - 0.93 - - - - - Quarantined Prodromal - - - - 0.29 - - - - 0.71 - - - - Quarantined Recovered - - - - - - - - - - - - - - Hospitalized - - - - - - - - - - - 0.93 0.07 - Recovered - - - - - - - - - - - - 1.00 test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 0 tests test-measlesmixing.R.......... 1 tests OK test-measlesmixing.R.......... 2 tests OK test-measlesmixing.R.......... 3 tests OK test-measlesmixing.R.......... 4 tests OK test-measlesmixing.R.......... 5 tests OK test-measlesmixing.R.......... 6 tests OK test-measlesmixing.R.......... 7 tests OK test-measlesmixing.R.......... 8 tests OK 1.2s test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests test-measlesmixingriskquarantine-multiple.R 0 tests Starting multiple runs (50) using 2 thread(s) _________________________________________________________________________ ================================================================= ==4179968==ERROR: AddressSanitizer: container-overflow on address 0x7b28fba811f0 at pc 0x7b08edd735c2 bp 0x7b08ec6c4590 sp 0x7b08ec6c4588 READ of size 8 at 0x7b28fba811f0 thread T1 _________________________________________________________________________ || #0 0x7b08edd735c1 in epiworld::Agent::get_entity(unsigned long) const /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/agent-meat.hpp:890:30 #1 0x7b08edd87a18 in epiworld::epimodels::ModelMeaslesMixingRiskQuarantine::m_update_infectious_list() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixingriskquarantine.hpp:447:19 #2 0x7b08edd83217 in epiworld::epimodels::ModelMeaslesMixingRiskQuarantine::reset() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixingriskquarantine.hpp:1398:11 #3 0x7b08edd1d322 in epiworld::Model::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:1471:5 #4 0x7b08edd82afd in epiworld::epimodels::ModelMeaslesMixingRiskQuarantine::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixingriskquarantine.hpp:1335:18 #5 0x7b08f28cdf34 in epiworld::Model::run_multiple(unsigned long long, unsigned long long, int, std::__1::function*)>, bool, bool, int) (.omp_outlined.136) model.cpp #6 0x7f08ff548128 in __kmp_invoke_microtask (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0xa8128) #7 0x7f08ff4c491e (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2491e) #8 0x7f08ff4c357d (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2357d) #9 0x7f08ff527b77 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x87b77) #10 0x55fa7aa849f6 in asan_thread_start(void*) /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:239:28 #11 0x7f08fec7f1d3 in start_thread (/lib64/libc.so.6+0x711d3) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) #12 0x7f08fed01ceb in __GI___clone3 (/lib64/libc.so.6+0xf3ceb) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) 0x7b28fba811f0 is located 0 bytes inside of 8-byte region [0x7b28fba811f0,0x7b28fba811f8) allocated by thread T1 here: #0 0x55fa7aa87114 in malloc /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x7f08fc81f2fb in operator new(unsigned long) (/lib64/libstdc++.so.6+0x1f2fb) (BuildId: a34f3756a2aefc3d2b7ae49335dfdd1b4555be43) Thread T1 created by T0 here: #0 0x55fa7aa6b371 in pthread_create /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:250:3 #1 0x7f08ff5271e2 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x871e2) 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/epiworldR/include/epiworld/agent-meat.hpp:890:30 in epiworld::Agent::get_entity(unsigned long) const Shadow bytes around the buggy address: 0x7b28fba80f00: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba80f80: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81000: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81080: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81100: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa =>0x7b28fba81180: fa fa fc fa fa fa fc fa fa fa fc fa fa fa[fc]fa 0x7b28fba81200: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81280: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81300: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81380: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc fa 0x7b28fba81400: fa fa fc fa fa fa fc fa fa fa fc fa fa fa fc 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 ==4179968==ABORTING * checking package vignettes ... OK * checking re-building of vignette outputs ... [69s/86s] ERROR Error(s) in re-building vignettes: --- re-building ‘short-creek.qmd’ using html  processing file: short-creek.qmd ================================================================= ==4190217==ERROR: AddressSanitizer: container-overflow on address 0x7d736f4d0080 at pc 0x55fb0c778044 bp 0x7be355e3b510 sp 0x7be355e3acc8 READ of size 904 at 0x7d736f4d0080 thread T3  #0 0x55fb0c778043 in memcpy /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc:117:5 #1 0x7be35bfc2258 in std::__1::function&, epiworld::Model*)> epiworld::distribute_tool_to_entities(std::__1::vector>, bool)::'lambda'(epiworld::Tool&, epiworld::Model*)::operator()(epiworld::Tool&, epiworld::Model*) const (/data/gannet/ripley/R/test-clang/epiworldR/libs/epiworldR.so+0xa2258) #2 0x7be35be89b85 in std::__1::__function::__value_func&, epiworld::Model*)>::operator()[abi:ne210108](epiworld::Tool&, epiworld::Model*&&) const /usr/local/clang21/bin/../include/c++/v1/__functional/function.h:274:12 #3 0x7be35be89b85 in std::__1::function&, epiworld::Model*)>::operator()(epiworld::Tool&, epiworld::Model*) const /usr/local/clang21/bin/../include/c++/v1/__functional/function.h:772:10 #4 0x7be35be89b85 in epiworld::Tool::distribute(epiworld::Model*) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/tool-meat.hpp:563:9 #5 0x7be35be89b85 in epiworld::Model::dist_tools() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:815:15 #6 0x7be35be89b85 in epiworld::Model::reset() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:2069:5 #7 0x7be35becf88d in epiworld::epimodels::ModelMeaslesMixing::reset() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixing.hpp:518:18 #8 0x7be35be85322 in epiworld::Model::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:1471:5 #9 0x7be35becf71d in epiworld::epimodels::ModelMeaslesMixing::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixing.hpp:508:18 #10 0x7be35bfaaf34 in epiworld::Model::run_multiple(unsigned long long, unsigned long long, int, std::__1::function*)>, bool, bool, int) (.omp_outlined.136) model.cpp #11 0x7fe3728d1128 in __kmp_invoke_microtask (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0xa8128) #12 0x7fe37284d91e (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2491e) #13 0x7fe37284c57d (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2357d) #14 0x7fe3728b0b77 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x87b77) #15 0x55fb0c7769f6 in asan_thread_start(void*) /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:239:28 #16 0x7fe37207f1d3 in start_thread (/lib64/libc.so.6+0x711d3) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) #17 0x7fe372101ceb in __GI___clone3 (/lib64/libc.so.6+0xf3ceb) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) 0x7d736f4d0080 is located 0 bytes inside of 1024-byte region [0x7d736f4d0080,0x7d736f4d0480) allocated by thread T3 here:  #0 0x55fb0c779114 in malloc /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x7fe36fc1f2fb in operator new(unsigned long) (/lib64/libstdc++.so.6+0x1f2fb) (BuildId: a34f3756a2aefc3d2b7ae49335dfdd1b4555be43) Thread T3 created by T0 here:  #0 0x55fb0c75d371 in pthread_create /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:250:3 #1 0x7fe3728b01e2 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x871e2) 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/epiworldR/libs/epiworldR.so+0xa2258) in std::__1::function&, epiworld::Model*)> epiworld::distribute_tool_to_entities(std::__1::vector>, bool)::'lambda'(epiworld::Tool&, epiworld::Model*)::operator()(epiworld::Tool&, epiworld::Model*) const Shadow bytes around the buggy address: 0x7d736f4cfe00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cfe80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cff00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cff80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7d736f4d0000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7d736f4d0080:[fc]fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0280: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 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 ==4190217==ABORTING Error: processing vignette 'short-creek.qmd' failed with diagnostics: ! Error running quarto CLI from R. Caused by error in `quarto_render()`: ✖ Error returned by quarto CLI. ----------------------------- processing file: short-creek.qmd ================================================================= ==4190217==ERROR: AddressSanitizer: container-overflow on address 0x7d736f4d0080 at pc 0x55fb0c778044 bp 0x7be355e3b510 sp 0x7be355e3acc8 READ of size 904 at 0x7d736f4d0080 thread T3 #0 0x55fb0c778043 in memcpy /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc:117:5 #1 0x7be35bfc2258 in std::__1::function&, epiworld::Model*)> epiworld::distribute_tool_to_entities(std::__1::vector>, bool)::'lambda'(epiworld::Tool&, epiworld::Model*)::operator()(epiworld::Tool&, epiworld::Model*) const (/data/gannet/ripley/R/test-clang/epiworldR/libs/epiworldR.so+0xa2258) #2 0x7be35be89b85 in std::__1::__function::__value_func&, epiworld::Model*)>::operator()[abi:ne210108](epiworld::Tool&, epiworld::Model*&&) const /usr/local/clang21/bin/../include/c++/v1/__functional/function.h:274:12 #3 0x7be35be89b85 in std::__1::function&, epiworld::Model*)>::operator()(epiworld::Tool&, epiworld::Model*) const /usr/local/clang21/bin/../include/c++/v1/__functional/function.h:772:10 #4 0x7be35be89b85 in epiworld::Tool::distribute(epiworld::Model*) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/tool-meat.hpp:563:9 #5 0x7be35be89b85 in epiworld::Model::dist_tools() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:815:15 #6 0x7be35be89b85 in epiworld::Model::reset() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:2069:5 #7 0x7be35becf88d in epiworld::epimodels::ModelMeaslesMixing::reset() /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixing.hpp:518:18 #8 0x7be35be85322 in epiworld::Model::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/model-meat.hpp:1471:5 #9 0x7be35becf71d in epiworld::epimodels::ModelMeaslesMixing::run(unsigned long long, int) /data/gannet/ripley/R/test-clang/epiworldR/include/epiworld/models/measlesmixing.hpp:508:18 #10 0x7be35bfaaf34 in epiworld::Model::run_multiple(unsigned long long, unsigned long long, int, std::__1::function*)>, bool, bool, int) (.omp_outlined.136) model.cpp #11 0x7fe3728d1128 in __kmp_invoke_microtask (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0xa8128) #12 0x7fe37284d91e (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2491e) #13 0x7fe37284c57d (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x2357d) #14 0x7fe3728b0b77 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x87b77) #15 0x55fb0c7769f6 in asan_thread_start(void*) /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:239:28 #16 0x7fe37207f1d3 in start_thread (/lib64/libc.so.6+0x711d3) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) #17 0x7fe372101ceb in __GI___clone3 (/lib64/libc.so.6+0xf3ceb) (BuildId: a1dda014206b55b07f58fe8db80121b752dc3d03) 0x7d736f4d0080 is located 0 bytes inside of 1024-byte region [0x7d736f4d0080,0x7d736f4d0480) allocated by thread T3 here: #0 0x55fb0c779114 in malloc /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x7fe36fc1f2fb in operator new(unsigned long) (/lib64/libstdc++.so.6+0x1f2fb) (BuildId: a34f3756a2aefc3d2b7ae49335dfdd1b4555be43) Thread T3 created by T0 here: #0 0x55fb0c75d371 in pthread_create /data/gannet/ripley/Sources2/LLVM/21/latest/compiler-rt/lib/asan/asan_interceptors.cpp:250:3 #1 0x7fe3728b01e2 (/usr/local/clang21/lib/x86_64-unknown-linux-gnu/libomp.so+0x871e2) 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/epiworldR/libs/epiworldR.so+0xa2258) in std::__1::function&, epiworld::Model*)> epiworld::distribute_tool_to_entities(std::__1::vector>, bool)::'lambda'(epiworld::Tool&, epiworld::Model*)::operator()(epiworld::Tool&, epiworld::Model*) const Shadow bytes around the buggy address: 0x7d736f4cfe00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cfe80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cff00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7d736f4cff80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7d736f4d0000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7d736f4d0080:[fc]fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0280: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 0x7d736f4d0300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 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 ==4190217==ABORTING Caused by error: ! System command 'quarto' failed --- failed re-building ‘short-creek.qmd’ SUMMARY: processing the following file failed: ‘short-creek.qmd’ Error: Vignette re-building failed. Execution halted * DONE Status: 2 ERRORs