R Under development (unstable) (2026-05-12 r90049) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(testthat) > library(harmony) Loading required package: Rcpp • This is Harmony2 version 2.0.3 • Read the guide: run vignette() • Get help: Visit the website at https://korsunskylab.github.io/harmony2/ and report issues on https://github.com/immunogenomics/harmony/issues > > test_check("harmony") 284exists, retrying for cluster 36 2.48689 198exists, retrying for cluster 39 1.35707 81exists, retrying for cluster 47 1.78582 267exists, retrying for cluster 48 3.43496 38exists, retrying for cluster 48 3.49962 264exists, retrying for cluster 7 0.553179 ================================================================= ==2782115==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7bf93e3f60d4 at pc 0x7bd92bce19e4 bp 0x7ffeb9bad090 sp 0x7ffeb9bad088 WRITE of size 4 at 0x7bf93e3f60d4 thread T0 #0 0x7bd92bce19e3 in std::__1::__wrap_iter std::__1::partial_sum[abi:nqe220105], std::__1::__wrap_iter, std::__1::plus>(std::__1::__wrap_iter, std::__1::__wrap_iter, std::__1::__wrap_iter, std::__1::plus) /data/gannet2/ripley/Sources/LLVM/LLVM-22.1.5-Linux-X64/bin/../include/c++/v1/__numeric/partial_sum.h:56:17 #1 0x7bd92bce19e3 in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) /data/gannet/ripley/R/packages/tests-clang-ASAN/harmony/src/harmony.cpp:98:5 #2 0x7bd92bd7deb9 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool)::operator()(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/Module.h:385:24 #3 0x7bd92bd7d3b5 in SEXPREC* Rcpp::internal::call_impl const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool), void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, (void*)0>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const&, SEXPREC**, Rcpp::internal::type_pack const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>, Rcpp::traits::index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13>) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/internal/call.h:31:5 #4 0x7bd92bd7ce0b in SEXPREC* Rcpp::call const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool), void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const&, SEXPREC**) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/internal/call.h:47:12 #5 0x7bd92bd7ce0b in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/Module.h:387:20 #6 0x7bd92bd5ec67 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/module/class.h:219:16 #7 0x7bd92d6111f8 in CppMethod__invoke_void(SEXPREC*) (/data/gannet/ripley/R/test-clang/Rcpp/libs/Rcpp.so+0x471f8) #8 0x55cd7aea621c in do_External /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:576:11 #9 0x55cd7af5cab7 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1258:9 #10 0x55cd7afb3119 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001:10 #11 0x55cd7af5c6f0 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #12 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #13 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #14 0x55cd7af7dd6a in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #15 0x55cd7af7dd6a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121:16 #16 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #17 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #18 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #19 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #20 0x55cd7af5f26e in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #21 0x55cd7b06acc4 in dispatchMethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:473:16 #22 0x55cd7b069948 in Rf_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:523:9 #23 0x55cd7b06bf23 in do_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:579:9 #24 0x55cd7af6fe43 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170:15 #25 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #26 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #27 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #28 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #29 0x55cd7af5f26e in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #30 0x55cd7af5cbd8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #31 0x55cd7afb5a75 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 #32 0x55cd7af5c6f0 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #33 0x55cd7afbae6a in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3993:9 #34 0x55cd7af6a62a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #35 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #36 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #37 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #38 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #39 0x55cd7afad5f4 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #40 0x55cd7afad5f4 in R_forceAndCall /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2465:8 #41 0x55cd7ad64d11 in do_lapply /data/gannet/ripley/R/svn/R-devel/src/main/apply.c:75:8 #42 0x55cd7b064369 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1424:11 #43 0x55cd7af6fe43 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170:15 #44 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #45 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #46 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #47 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #48 0x55cd7af5f26e in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #49 0x55cd7af5cbd8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #50 0x55cd7b02da91 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264:23 #51 0x55cd7b0302c0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:317:11 #52 0x55cd7b0302c0 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1235:5 #53 0x55cd7b030352 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1242:5 #54 0x55cd7ad31d3c in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5 #55 0x7fd941a12574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #56 0x7fd941a12627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #57 0x55cd7ac497d4 in _start (/data/gannet/ripley/R/clang-ASAN/bin/exec/R+0x17d4) 0x7bf93e3f60d4 is located 0 bytes after 4-byte region [0x7bf93e3f60d0,0x7bf93e3f60d4) allocated by thread T0 here: #0 0x55cd7aceebb4 in malloc /home/runner/work/llvm-project/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x7fd93f61f3fb in operator new(unsigned long) (/lib64/libstdc++.so.6+0x1f3fb) (BuildId: 51787ae23973475ac7373bc252b400c7229de8e7) #2 0x7bd92bce18d3 in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) /data/gannet/ripley/R/packages/tests-clang-ASAN/harmony/src/harmony.cpp:97:22 #3 0x7bd92bd7deb9 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool)::operator()(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/Module.h:385:24 #4 0x7bd92bd7d3b5 in SEXPREC* Rcpp::internal::call_impl const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool), void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, (void*)0>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const&, SEXPREC**, Rcpp::internal::type_pack const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>, Rcpp::traits::index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13>) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/internal/call.h:31:5 #5 0x7bd92bd7ce0b in SEXPREC* Rcpp::call const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool), void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**)::'lambda'(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) const&, SEXPREC**) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/internal/call.h:47:12 #6 0x7bd92bd7ce0b in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool>::operator()(harmony*, SEXPREC**) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/Module.h:387:20 #7 0x7bd92bd5ec67 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/module/class.h:219:16 #8 0x7bd92d6111f8 in CppMethod__invoke_void(SEXPREC*) (/data/gannet/ripley/R/test-clang/Rcpp/libs/Rcpp.so+0x471f8) #9 0x55cd7af5cab7 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1258:9 #10 0x55cd7afb3119 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001:10 #11 0x55cd7af5c6f0 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #12 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #13 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #14 0x55cd7af7dd6a in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #15 0x55cd7af7dd6a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121:16 #16 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #17 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #18 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #19 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #20 0x55cd7af5f26e in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #21 0x55cd7b06acc4 in dispatchMethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:473:16 #22 0x55cd7b069948 in Rf_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:523:9 #23 0x55cd7b06bf23 in do_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:579:9 #24 0x55cd7af6fe43 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170:15 #25 0x55cd7af5dc24 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #26 0x55cd7af5c1b1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #27 0x55cd7afa494c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #28 0x55cd7afa3b08 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #29 0x55cd7af5f26e in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #30 0x55cd7af5cbd8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #31 0x55cd7afb5a75 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 SUMMARY: AddressSanitizer: heap-buffer-overflow /data/gannet/ripley/R/packages/tests-clang-ASAN/harmony/src/harmony.cpp:98:5 in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::__1::vector> const&, float, bool) Shadow bytes around the buggy address: 0x7bf93e3f5e00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7bf93e3f5e80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7bf93e3f5f00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7bf93e3f5f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7bf93e3f6000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7bf93e3f6080: fa fa fa fa fa fa fa fa fa fa[04]fa fa fa 00 fa 0x7bf93e3f6100: fa fa fd fd fa fa fd fa fa fa fd fa fa fa 00 fa 0x7bf93e3f6180: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fd 0x7bf93e3f6200: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd 0x7bf93e3f6280: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd 0x7bf93e3f6300: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd 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 ==2782115==ABORTING