R Under development (unstable) (2026-11-10 r90868) -- "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(cppRouting) > > test_check("cppRouting") ================================================================= ==455454==ERROR: AddressSanitizer: container-overflow on address 0x7b89b864f398 at pc 0x7b69ad51ec69 bp 0x7b698df048f0 sp 0x7b698df048e8 READ of size 8 at 0x7b89b864f398 thread T86 #0 0x7b69ad51ec68 in distancePairCAdd::bidirmod(unsigned long, unsigned long) /data/localhost/ripley/R/packages/tests-clang-ASAN/cppRouting/src/distance_pair.cpp:1243:19 #1 0x7b69ad486856 in workerThread /data/localhost/ripley/R/test-clang/RcppParallel/include/RcppParallel/TinyThread.h:59:7 #2 0x7b69ad487262 in tthread::thread::wrapper_function(void*) /data/localhost/ripley/R/test-clang/RcppParallel/include/tthread/tinythread.h:863:5 #3 0x560a6a877116 in asan_thread_start(void*) /data/localhost/ripley/Sources/LLVM/23/latest/compiler-rt/lib/asan/asan_interceptors.cpp:306:28 #4 0x7f69bbf7ac41 in start_thread (/lib64/libc.so.6+0x72c41) (BuildId: 85075e2ae2e13352a1413d41c327dacf6461526c) #5 0x7f69bbffe5ab in __GI___clone3 (/lib64/libc.so.6+0xf65ab) (BuildId: 85075e2ae2e13352a1413d41c327dacf6461526c) 0x7b89b864f398 is located 8 bytes inside of 16-byte region [0x7b89b864f390,0x7b89b864f3a0) allocated by thread T86 here: #0 0x560a6a879e44 in malloc /data/localhost/ripley/Sources/LLVM/23/latest/compiler-rt/lib/asan/asan_malloc_linux.cpp:109:3 #1 0x7f69b9a2027b in operator new(unsigned long) (/lib64/libstdc++.so.6+0x2027b) (BuildId: 1acb19d34793ce46d919b6e25693a5592ba8fbd4) #2 0x7b69ad51ad03 in std::__1::pair& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&)::'lambda0'()::operator()[abi:nqe230105]() const /usr/local/clang23/bin/../include/c++/v1/__vector/vector.h:1086:21 #3 0x7b69ad51ad03 in void std::__1::__if_likely_else[abi:nqe230105]& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&)::'lambda'(), std::__1::pair& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&)::'lambda0'()>(bool, std::__1::pair& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&)::'lambda'(), std::__1::pair& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&)::'lambda0'()) /usr/local/clang23/bin/../include/c++/v1/__vector/vector.h:1066:7 #4 0x7b69ad51ad03 in std::__1::pair& std::__1::vector, std::__1::allocator>>::emplace_back[abi:nqe230105]>(std::__1::pair&&) /usr/local/clang23/bin/../include/c++/v1/__vector/vector.h:1080:3 #5 0x7b69ad51ad03 in std::__1::vector, std::__1::allocator>>::push_back[abi:nqe230105](std::__1::pair&&) /usr/local/clang23/bin/../include/c++/v1/__vector/vector.h:466:90 #6 0x7b69ad51ad03 in std::__1::priority_queue, std::__1::vector, std::__1::allocator>>, comp>::push[abi:nqe230105](std::__1::pair&&) /usr/local/clang23/bin/../include/c++/v1/queue:929:5 #7 0x7b69ad51ad03 in distancePairCAdd::bidirmod(unsigned long, unsigned long) /data/localhost/ripley/R/packages/tests-clang-ASAN/cppRouting/src/distance_pair.cpp:1237:7 #8 0x7b69ad486856 in workerThread /data/localhost/ripley/R/test-clang/RcppParallel/include/RcppParallel/TinyThread.h:59:7 #9 0x7b69ad487262 in tthread::thread::wrapper_function(void*) /data/localhost/ripley/R/test-clang/RcppParallel/include/tthread/tinythread.h:863:5 #10 0x560a6a877116 in asan_thread_start(void*) /data/localhost/ripley/Sources/LLVM/23/latest/compiler-rt/lib/asan/asan_interceptors.cpp:306:28 Thread T86 created by T0 here: #0 0x560a6a85cab1 in pthread_create /data/localhost/ripley/Sources/LLVM/23/latest/compiler-rt/lib/asan/asan_interceptors.cpp:317:3 #1 0x7b69ad48695b in tthread::thread::thread(void (*)(void*), void*) /data/localhost/ripley/R/test-clang/RcppParallel/include/tthread/tinythread.h:906:6 #2 0x7b69ad4b6e36 in RcppParallel::ttParallelFor(unsigned long, unsigned long, RcppParallel::Worker&, unsigned long) /data/localhost/ripley/R/test-clang/RcppParallel/include/RcppParallel/TinyThread.h:122:29 #3 0x7b69ad4a62f1 in RcppParallel::parallelFor(unsigned long, unsigned long, RcppParallel::Worker&, unsigned long, int) /data/localhost/ripley/R/test-clang/RcppParallel/include/RcppParallel.h:47:7 #4 0x7b69ad5d9557 in cppdistaddCmulti(std::__1::vector>&, std::__1::vector>&, std::__1::vector>&, Rcpp::Matrix<14, Rcpp::PreserveStorage>, std::__1::vector>&, std::__1::vector>&, std::__1::vector>&, int, std::__1::vector>&, std::__1::vector>&, std::__1::vector>&, std::__1::vector>&, bool, std::__1::vector>, std::__1::vector>) /data/localhost/ripley/R/packages/tests-clang-ASAN/cppRouting/src/wrapper.cpp:620:3 #5 0x7b69ad4241a3 in _cppRouting_cppdistaddCmulti /data/localhost/ripley/R/packages/tests-clang-ASAN/cppRouting/src/RcppExports.cpp:690:34 #6 0x560a6aa3b4f7 in R_doDotCall /data/localhost/ripley/R/svn/R-devel/src/main/dotcode.c #7 0x560a6ab0344a in bcEval_loop /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:8708:21 #8 0x560a6aaeb4b4 in bcEval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:7537:16 #9 0x560a6aae9a41 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #10 0x560a6ab3223c in R_execClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2400:39 #11 0x560a6ab31398 in applyClosure_core /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2316:16 #12 0x560a6aaecafe in Rf_applyClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2335:16 #13 0x560a6aaea468 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #14 0x560a6ab433d5 in do_set /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:3587:8 #15 0x560a6aae9f80 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #16 0x560a6ab40a79 in do_begin /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:3003:10 #17 0x560a6aae9f80 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #18 0x560a6ab47e53 in do_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:3977:13 #19 0x560a6aaf7eaa in bcEval_loop /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:8154:14 #20 0x560a6aaeb4b4 in bcEval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:7537:16 #21 0x560a6aae9a41 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #22 0x560a6ab3223c in R_execClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2400:39 #23 0x560a6ab31398 in applyClosure_core /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2316:16 #24 0x560a6aaecafe in Rf_applyClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2335:16 #25 0x560a6aaea468 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #26 0x560a6ab487ba in do_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:3995:9 #27 0x560a6aaf7eaa in bcEval_loop /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:8154:14 #28 0x560a6aaeb4b4 in bcEval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:7537:16 #29 0x560a6aae9a41 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #30 0x560a6ab3223c in R_execClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2400:39 #31 0x560a6ab31398 in applyClosure_core /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2316:16 #32 0x560a6ab3aee4 in Rf_applyClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2335:16 #33 0x560a6ab3aee4 in R_forceAndCall /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2467:8 #34 0x560a6a8ef272 in do_lapply /data/localhost/ripley/R/svn/R-devel/src/main/apply.c:75:8 #35 0x560a6abf2689 in do_internal /data/localhost/ripley/R/svn/R-devel/src/main/names.c:1425:11 #36 0x560a6aafd6b3 in bcEval_loop /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:8174:15 #37 0x560a6aaeb4b4 in bcEval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:7537:16 #38 0x560a6aae9a41 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #39 0x560a6ab3223c in R_execClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2400:39 #40 0x560a6ab31398 in applyClosure_core /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2316:16 #41 0x560a6aaecafe in Rf_applyClosure /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:2335:16 #42 0x560a6aaea468 in Rf_eval /data/localhost/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #43 0x560a6abbbc01 in Rf_ReplIteration /data/localhost/ripley/R/svn/R-devel/src/main/main.c:264:23 #44 0x560a6abbe430 in R_ReplConsole /data/localhost/ripley/R/svn/R-devel/src/main/main.c:319:11 #45 0x560a6abbe430 in run_Rmainloop /data/localhost/ripley/R/svn/R-devel/src/main/main.c:1239:5 #46 0x560a6abbe4c2 in Rf_mainloop /data/localhost/ripley/R/svn/R-devel/src/main/main.c:1246:5 #47 0x560a6a8bba9c in main /data/localhost/ripley/R/svn/R-devel/src/main/Rmain.c:29:5 #48 0x7f69bbf0b680 in __libc_start_call_main (/lib64/libc.so.6+0x3680) (BuildId: 85075e2ae2e13352a1413d41c327dacf6461526c) #49 0x7f69bbf0b797 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3797) (BuildId: 85075e2ae2e13352a1413d41c327dacf6461526c) #50 0x560a6a7cb7d4 in _start (/data/localhost/ripley/R/clang-ASAN/bin/exec/R+0x17d4) HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_container_overflow=0. Or if supported by the container library, pass -D__SANITIZER_DISABLE_CONTAINER_OVERFLOW__ to the compiler to disable instrumentation. If you suspect a false positive see also: https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow. SUMMARY: AddressSanitizer: container-overflow /data/localhost/ripley/R/packages/tests-clang-ASAN/cppRouting/src/distance_pair.cpp:1243:19 in distancePairCAdd::bidirmod(unsigned long, unsigned long) Shadow bytes around the buggy address: 0x7b89b864f100: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa 0x7b89b864f180: fa fa fd fa fa fa fd fd fa fa fd fd fa fa fd fa 0x7b89b864f200: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa 0x7b89b864f280: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fd 0x7b89b864f300: fa fa fd fa fa fa 00 00 fa fa fd fa fa fa fd fa =>0x7b89b864f380: fa fa fc[fc]fa fa fc fc fa fa 00 00 fa fa fa fa 0x7b89b864f400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7b89b864f480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7b89b864f500: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7b89b864f580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7b89b864f600: 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 NOTE: the stack trace above identifies the code that *accessed* the poisoned memory. HINT: To identify the code that *poisoned* the memory, try the experimental setting ASAN_OPTIONS=poison_history_size=. ==455454==ABORTING