* using log directory ‘/data/gannet/ripley/R/packages/tests-gcc-SAN/harmony.Rcheck’ * using R Under development (unstable) (2026-05-12 r90049) * using platform: x86_64-pc-linux-gnu * R was compiled by gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7) GNU Fortran (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7) * running under: Fedora Linux 42 (Workstation Edition) * using session charset: UTF-8 * current time: 2026-05-14 02:08:02 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘harmony/DESCRIPTION’ ... OK * this is package ‘harmony’ version ‘2.0.3’ * 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 ‘harmony’ can be installed ... [373s/572s] OK * used C++ compiler: ‘g++ (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7)’ * checking package directory ... OK * checking whether the package can be loaded ... [18s/36s] OK * checking whether the package can be loaded with stated dependencies ... [14s/25s] OK * checking whether the package can be unloaded cleanly ... [14s/35s] OK * checking whether the namespace can be loaded with stated dependencies ... [13s/28s] OK * checking whether the namespace can be unloaded cleanly ... [15s/30s] OK * checking loading without being on the library search path ... [18s/38s] OK * checking compiled code ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [26s/57s] OK * checking tests ... [32s/72s] ERROR Running ‘testthat.R’ [30s/68s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > 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") 298exists, retrying for cluster 12 3.04561 190exists, retrying for cluster 15 3.49519 228exists, retrying for cluster 37 3.06123 133exists, retrying for cluster 46 1.92365 ================================================================= ==2304315==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7c0d37ff6b54 at pc 0x7bed250eb934 bp 0x7fff68da6750 sp 0x7fff68da6748 WRITE of size 4 at 0x7c0d37ff6b54 thread T0 #0 0x7bed250eb933 in __gnu_cxx::__normal_iterator > > std::partial_sum<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::plus >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::plus) /usr/include/c++/15/bits/stl_numeric.h:316 #1 0x7bed250eb933 in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool) /data/gannet/ripley/R/packages/tests-gcc-SAN/harmony/src/harmony.cpp:98 #2 0x7bed25288639 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}::operator()(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool) const /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/Module.h:385 #3 0x7bed25288639 in SEXPREC* Rcpp::internal::call_impl const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}, void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::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::vector > const&, float, bool)#1} const&, SEXPREC**, Rcpp::internal::type_pack const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>, Rcpp::traits::index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13>) [clone .isra.0] /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/internal/call.h:31 #4 0x7bed25259857 in SEXPREC* Rcpp::call const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}, void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1} const&, SEXPREC**) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/internal/call.h:47 #5 0x7bed25259857 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>::operator()(harmony*, SEXPREC**) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/Module.h:387 #6 0x7bed25274a64 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/module/class.h:219 #7 0x7bed2757f43f in CppMethod__invoke_void(SEXPREC*) /tmp/RtmpLK43Gs/R.INSTALL102fc96ed2b5b2/Rcpp/src/module.cpp:200 #8 0x00000073c54b in do_External /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:576 #9 0x000000864bdf in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1258 #10 0x000000877ffb in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001 #11 0x000000864226 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230 #12 0x00000087ba8a in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398 #13 0x00000087fa3d in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314 #14 0x0000008810eb in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333 #15 0x0000008ec565 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121 #16 0x0000008c4cc3 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533 #17 0x00000086374a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167 #18 0x00000087ba8a in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398 #19 0x00000087fa3d in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314 #20 0x000000aa0486 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333 #21 0x000000aa0486 in applyMethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:120 #22 0x000000aa42c0 in dispatchMethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:473 #23 0x000000aa6500 in Rf_usemethod.isra.0 /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:523 #24 0x000000aa6e66 in do_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:579 #25 0x0000008e4c71 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170 #26 0x0000008c4cc3 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533 #27 0x00000086374a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167 #28 0x00000087ba8a in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398 #29 0x00000087fa3d in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314 #30 0x000000863df8 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333 #31 0x000000863df8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278 #32 0x00000089578e in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585 #33 0x000000864226 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230 #34 0x00000089e3f3 in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3993 #35 0x0000008d7a62 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150 #36 0x0000008c4cc3 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533 #37 0x00000086374a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167 #38 0x00000087ba8a in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398 #39 0x00000087fa3d in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314 #40 0x00000088167a in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333 #41 0x00000088167a in R_forceAndCall /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2465 #42 0x00000049a056 in do_lapply /data/gannet/ripley/R/svn/R-devel/src/main/apply.c:75 #43 0x000000a9f276 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1424 #44 0x0000008e4c71 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170 #45 0x0000008c4cc3 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533 #46 0x00000086374a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167 #47 0x00000087ba8a in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398 #48 0x00000087fa3d in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314 #49 0x000000863df8 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333 #50 0x000000863df8 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278 #51 0x000000a0c4c8 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264 #52 0x000000a0c4c8 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:317 #53 0x000000a1b7ba in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1235 #54 0x000000a1b852 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1242 #55 0x00000041309f in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29 #56 0x7fed3b612574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #57 0x7fed3b612627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #58 0x000000413a84 in _start (/data/gannet/ripley/R/gcc-SAN3/bin/exec/R+0x413a84) (BuildId: 1b3b02027fac458b13d50e0fdb80677e4dd7e6f5) 0x7c0d37ff6b54 is located 0 bytes after 4-byte region [0x7c0d37ff6b50,0x7c0d37ff6b54) allocated by thread T0 here: #0 0x7fed3cee7a3b in operator new(unsigned long) (/lib64/libasan.so.8+0xe7a3b) (BuildId: d3cb6206dff19da52969c009f4cd93611901c478) #1 0x7bed251812f1 in std::__new_allocator::allocate(unsigned long, void const*) /usr/include/c++/15/bits/new_allocator.h:151 #2 0x7bed251812f1 in std::allocator::allocate(unsigned long) /usr/include/c++/15/bits/allocator.h:203 #3 0x7bed251812f1 in std::allocator_traits >::allocate(std::allocator&, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:614 #4 0x7bed251812f1 in std::_Vector_base >::_M_allocate(unsigned long) /usr/include/c++/15/bits/stl_vector.h:387 #5 0x7bed251812f1 in std::_Vector_base >::_M_allocate(unsigned long) /usr/include/c++/15/bits/stl_vector.h:384 #6 0x7bed251812f1 in std::vector >::_M_default_append(unsigned long) /usr/include/c++/15/bits/vector.tcc:789 #7 0x7bed250e80ff in std::vector >::resize(unsigned long) /usr/include/c++/15/bits/stl_vector.h:1146 #8 0x7bed250e80ff in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool) /data/gannet/ripley/R/packages/tests-gcc-SAN/harmony/src/harmony.cpp:97 #9 0x7bed25288639 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}::operator()(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool) const /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/Module.h:385 #10 0x7bed25288639 in SEXPREC* Rcpp::internal::call_impl const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}, void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::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::vector > const&, float, bool)#1} const&, SEXPREC**, Rcpp::internal::type_pack const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>, Rcpp::traits::index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13>) [clone .isra.0] /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/internal/call.h:31 #11 0x7bed25259857 in SEXPREC* Rcpp::call const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1}, void, arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>(Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::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::vector > const&, float, bool)#1} const&, SEXPREC**) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/internal/call.h:47 #12 0x7bed25259857 in Rcpp::CppMethodImplN const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool>::operator()(harmony*, SEXPREC**) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/Module.h:387 #13 0x7bed25274a64 in Rcpp::class_::invoke_void(SEXPREC*, SEXPREC*, SEXPREC**, int) /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/module/class.h:219 #14 0x7bed2757f43f in CppMethod__invoke_void(SEXPREC*) /tmp/RtmpLK43Gs/R.INSTALL102fc96ed2b5b2/Rcpp/src/module.cpp:200 SUMMARY: AddressSanitizer: heap-buffer-overflow /data/gannet/ripley/R/packages/tests-gcc-SAN/harmony/src/harmony.cpp:98 in harmony::setup(arma::Mat const&, arma::SpMat const&, arma::Col, arma::Col, arma::Col, float, int, float, float, int, float, std::vector > const&, float, bool) Shadow bytes around the buggy address: 0x7c0d37ff6880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7c0d37ff6900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7c0d37ff6980: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7c0d37ff6a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7c0d37ff6a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7c0d37ff6b00: fa fa fa fa fa fa fa fa fa fa[04]fa fa fa 00 fa 0x7c0d37ff6b80: fa fa fd fd fa fa fd fa fa fa fd fa fa fa 00 fa 0x7c0d37ff6c00: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fd 0x7c0d37ff6c80: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd 0x7c0d37ff6d00: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd 0x7c0d37ff6d80: 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 ==2304315==ABORTING * checking package vignettes ... OK * checking re-building of vignette outputs ... [10m/13m] OK * DONE Status: 1 ERROR