R Under development (unstable) (2026-05-08 r90017) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: aarch64-apple-darwin25.4.0 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(fastei) > > test_check("fastei") Applying a D'Hondt correction for correcting mismatches in W Applying a D'Hondt correction for correcting mismatches in W Applying a D'Hondt correction for correcting mismatches in W ================================================================= ==66603==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000061578 at pc 0x00010d1dbf08 bp 0x00016dd3d4f0 sp 0x00016dd3d4e8 WRITE of size 4 at 0x602000061578 thread T0 #0 0x00010d1dbf04 in aggregateGroupsExhaustive dynamic_program.c:811 #1 0x00010d24088c in groupAggGreedy(Rcpp::String, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Matrix<14, Rcpp::PreserveStorage>, Rcpp::Matrix<14, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::String, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<10, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::Vector<10, Rcpp::PreserveStorage>) wrapper.cpp:423 #2 0x00010d1b92a0 in _fastei_groupAggGreedy RcppExports.cpp:156 #3 0x0001038cf690 in R_doDotCall dotcode.c #4 0x00010395e2b4 in do_dotcall dotcode.c:1437 #5 0x000103b03fc4 in bcEval_loop eval.c:8150 #6 0x000103ab3880 in bcEval eval.c:7533 #7 0x000103ab1a8c in Rf_eval eval.c:1167 #8 0x000103abc054 in R_execClosure eval.c:2398 #9 0x000103ab72e8 in applyClosure_core eval.c:2314 #10 0x000103ab55a0 in Rf_applyClosure eval.c:2333 #11 0x000103ab23b8 in Rf_eval eval.c:1278 #12 0x000103ac9e18 in do_set eval.c:3585 #13 0x000103ab1e78 in Rf_eval eval.c:1230 #14 0x000103ac5e50 in do_begin eval.c:3001 #15 0x000103ab1e78 in Rf_eval eval.c:1230 #16 0x000103acfbd4 in do_eval eval.c:3975 #17 0x000103b03fc4 in bcEval_loop eval.c:8150 #18 0x000103ab3880 in bcEval eval.c:7533 #19 0x000103ab1a8c in Rf_eval eval.c:1167 #20 0x000103abc054 in R_execClosure eval.c:2398 #21 0x000103ab72e8 in applyClosure_core eval.c:2314 #22 0x000103ab55a0 in Rf_applyClosure eval.c:2333 #23 0x000103ab23b8 in Rf_eval eval.c:1278 #24 0x000103ad0048 in do_eval eval.c:3993 #25 0x000103b03fc4 in bcEval_loop eval.c:8150 #26 0x000103ab3880 in bcEval eval.c:7533 #27 0x000103ab1a8c in Rf_eval eval.c:1167 #28 0x000103abc054 in R_execClosure eval.c:2398 #29 0x000103ab72e8 in applyClosure_core eval.c:2314 #30 0x000103ab9074 in R_forceAndCall eval.c:2465 #31 0x0001036da33c in do_lapply apply.c:75 #32 0x000103c859a8 in do_internal names.c:1424 #33 0x000103af4728 in bcEval_loop eval.c:8170 #34 0x000103ab3880 in bcEval eval.c:7533 #35 0x000103ab1a8c in Rf_eval eval.c:1167 #36 0x000103abc054 in R_execClosure eval.c:2398 #37 0x000103ab72e8 in applyClosure_core eval.c:2314 #38 0x000103ab55a0 in Rf_applyClosure eval.c:2333 #39 0x000103ab23b8 in Rf_eval eval.c:1278 #40 0x000103c083d0 in Rf_ReplIteration main.c:264 #41 0x000103c0c434 in R_ReplConsole main.c:317 #42 0x000103c0c230 in run_Rmainloop main.c:1235 #43 0x000103c0c550 in Rf_mainloop main.c:1242 #44 0x0001020b55ec in main Rmain.c:29 #45 0x00018f6ebda0 in start+0x1b4c (dyld:arm64e+0x1fda0) 0x602000061578 is located 0 bytes after 8-byte region [0x602000061570,0x602000061578) allocated by thread T0 here: #0 0x000104a41450 in calloc+0x80 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x41450) #1 0x000103c2f6bc in R_chk_calloc memory.c:3549 #2 0x00010d24021c in groupAggGreedy(Rcpp::String, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Matrix<14, Rcpp::PreserveStorage>, Rcpp::Matrix<14, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::String, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<10, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::Vector<14, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::Vector<13, Rcpp::PreserveStorage>, Rcpp::String, Rcpp::Vector<10, Rcpp::PreserveStorage>) wrapper.cpp:414 #3 0x00010d1b92a0 in _fastei_groupAggGreedy RcppExports.cpp:156 #4 0x0001038cf690 in R_doDotCall dotcode.c #5 0x00010395e2b4 in do_dotcall dotcode.c:1437 #6 0x000103b03fc4 in bcEval_loop eval.c:8150 #7 0x000103ab3880 in bcEval eval.c:7533 #8 0x000103ab1a8c in Rf_eval eval.c:1167 #9 0x000103abc054 in R_execClosure eval.c:2398 #10 0x000103ab72e8 in applyClosure_core eval.c:2314 #11 0x000103ab55a0 in Rf_applyClosure eval.c:2333 #12 0x000103ab23b8 in Rf_eval eval.c:1278 #13 0x000103ac9e18 in do_set eval.c:3585 #14 0x000103ab1e78 in Rf_eval eval.c:1230 #15 0x000103ac5e50 in do_begin eval.c:3001 #16 0x000103ab1e78 in Rf_eval eval.c:1230 #17 0x000103acfbd4 in do_eval eval.c:3975 #18 0x000103b03fc4 in bcEval_loop eval.c:8150 #19 0x000103ab3880 in bcEval eval.c:7533 #20 0x000103ab1a8c in Rf_eval eval.c:1167 #21 0x000103abc054 in R_execClosure eval.c:2398 #22 0x000103ab72e8 in applyClosure_core eval.c:2314 #23 0x000103ab55a0 in Rf_applyClosure eval.c:2333 #24 0x000103ab23b8 in Rf_eval eval.c:1278 #25 0x000103ad0048 in do_eval eval.c:3993 #26 0x000103b03fc4 in bcEval_loop eval.c:8150 #27 0x000103ab3880 in bcEval eval.c:7533 #28 0x000103ab1a8c in Rf_eval eval.c:1167 #29 0x000103abc054 in R_execClosure eval.c:2398 SUMMARY: AddressSanitizer: heap-buffer-overflow dynamic_program.c:811 in aggregateGroupsExhaustive Shadow bytes around the buggy address: 0x602000061280: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd 0x602000061300: fa fa fd fa fa fa fd fd fa fa fd fd fa fa fd fa 0x602000061380: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fd 0x602000061400: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fd 0x602000061480: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa =>0x602000061500: fa fa fd fa fa fa fd fa fa fa fd fa fa fa 00[fa] 0x602000061580: fa fa 01 fa fa fa 00 fa fa fa fd fd fa fa 00 00 0x602000061600: fa fa 00 00 fa fa fd fd fa fa fd fd fa fa fd fd 0x602000061680: fa fa 00 00 fa fa 00 00 fa fa fd fd fa fa fd fd 0x602000061700: fa fa fd fd fa fa 00 00 fa fa 00 00 fa fa fd fd 0x602000061780: fa fa fd fd fa fa fd fd fa fa 00 00 fa fa 00 00 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 ==66603==ABORTING