* using log directory ‘/data/gannet/ripley/R/packages/tests-clang-ASAN/fastQR.Rcheck’ * using R Under development (unstable) (2025-02-12 r87715) * using platform: x86_64-pc-linux-gnu * R was compiled by clang version 19.1.7 flang-new version 19.1.7 * running under: Fedora Linux 40 (Workstation Edition) * using session charset: UTF-8 * using option ‘--no-stop-on-test-error’ * checking for file ‘fastQR/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘fastQR’ version ‘1.0.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 ‘fastQR’ can be installed ... [420s/343s] OK * used C++ compiler: ‘clang version 19.1.7’ * 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 examples ... ERROR Running examples in ‘fastQR-Ex.R’ failed The error most likely occurred in: > ### Name: qrdowndate > ### Title: Fast downdating of the QR factorization > ### Aliases: qrdowndate > > ### ** Examples > > ## Remove one column > ## generate sample data > set.seed(10) > n <- 10 > p <- 6 > X <- matrix(rnorm(n * p, 1), n, p) > > ## get the initial QR factorization > output <- fastQR::qr(X, type = "householder", + nb = NULL, + complete = TRUE) > Q <- output$Q > R <- output$R > > ## select the column to be deleted > ## from X and update X > k <- 2 > X1 <- X[, -k] > > ## downdate the QR decomposition > out <- fastQR::qrdowndate(Q = Q, R = R, + k = k, m = 1, + type = "column", + fast = FALSE, + complete = TRUE) ================================================================= ==2499727==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5140001e51d0 at pc 0x7f649a086d19 bp 0x7fffcc4b3be0 sp 0x7fffcc4b3bd8 READ of size 16 at 0x5140001e51d0 thread T0 #0 0x7f649a086d18 in double vector[2] Eigen::internal::ploadu(Eigen::internal::unpacket_traits::type const*) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:746:10 #1 0x7f649a086d18 in double vector[2] Eigen::internal::ploadt(Eigen::internal::unpacket_traits::type const*) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/GenericPacketMath.h:969:12 #2 0x7f649a086d18 in double vector[2] Eigen::internal::evaluator>>::packet<0, double vector[2]>(long, long) const /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/CoreEvaluators.h:238:14 #3 0x7f649a086d18 in void Eigen::internal::generic_dense_assignment_kernel, -1, -1, false>>, Eigen::internal::evaluator>, Eigen::internal::assign_op, 0>::assignPacket<16, 0, double vector[2]>(long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:675:89 #4 0x7f649a086d18 in void Eigen::internal::generic_dense_assignment_kernel, -1, -1, false>>, Eigen::internal::evaluator>, Eigen::internal::assign_op, 0>::assignPacketByOuterInner<16, 0, double vector[2]>(long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:689:5 #5 0x7f649a086d18 in Eigen::internal::dense_assignment_loop, -1, -1, false>>, Eigen::internal::evaluator>, Eigen::internal::assign_op, 0>, 4, 0>::run(Eigen::internal::generic_dense_assignment_kernel, -1, -1, false>>, Eigen::internal::evaluator>, Eigen::internal::assign_op, 0>&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:572:25 #6 0x7f649a092748 in void Eigen::internal::call_dense_assignment_loop, -1, -1, false>, Eigen::Matrix, Eigen::internal::assign_op>(Eigen::Block, -1, -1, false>&, Eigen::Matrix const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:785:3 #7 0x7f649a092748 in Eigen::internal::Assignment, -1, -1, false>, Eigen::Matrix, Eigen::internal::assign_op, Eigen::internal::Dense2Dense, void>::run(Eigen::Block, -1, -1, false>&, Eigen::Matrix const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:954:5 #8 0x7f649a092748 in void Eigen::internal::call_assignment_no_alias, -1, -1, false>, Eigen::Matrix, Eigen::internal::assign_op>(Eigen::Block, -1, -1, false>&, Eigen::Matrix const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:890:3 #9 0x7f649a092748 in void Eigen::internal::call_assignment, -1, -1, false>, Eigen::Matrix, Eigen::internal::assign_op>(Eigen::Block, -1, -1, false>&, Eigen::Matrix const&, Eigen::internal::assign_op const&, Eigen::internal::enable_if>::value, void*>::type) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:858:3 #10 0x7f649a092748 in void Eigen::internal::call_assignment, -1, -1, false>, Eigen::Matrix>(Eigen::Block, -1, -1, false>&, Eigen::Matrix const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:836:3 #11 0x7f649a092748 in Eigen::Block, -1, -1, false>& Eigen::MatrixBase, -1, -1, false>>::operator=>(Eigen::DenseBase> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Assign.h:66:3 #12 0x7f649a092748 in Eigen::internal::BlockImpl_dense, -1, -1, false, true>& Eigen::internal::BlockImpl_dense, -1, -1, false, true>::operator=>(Eigen::DenseBase> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Block.h:341:5 #13 0x7f649a092748 in Eigen::BlockImpl, -1, -1, false, Eigen::Dense>& Eigen::BlockImpl, -1, -1, false, Eigen::Dense>::operator=>(Eigen::DenseBase> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Block.h:161:5 #14 0x7f649a092748 in Eigen::Block, -1, -1, false>& Eigen::Block, -1, -1, false>::operator=>(Eigen::DenseBase> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Block.h:111:5 #15 0x7f649a092748 in qrdowndate(Eigen::Matrix const&, Eigen::Matrix const&, int, Rcpp::Nullable, Rcpp::Nullable, std::__1::allocator>>, Rcpp::Nullable, Rcpp::Nullable) /data/gannet/ripley/R/packages/tests-clang-ASAN/fastQR/src/QR_wrap.cpp:716:44 #16 0x7f649a183f02 in _fastQR_qrdowndate /data/gannet/ripley/R/packages/tests-clang-ASAN/fastQR/src/RcppExports.cpp:188:34 #17 0x559d749290ae in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c #18 0x559d749e87e1 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8672:21 #19 0x559d749ce384 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7505:16 #20 0x559d749cc89a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #21 0x559d74a1636c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2393:22 #22 0x559d74a15531 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2306:16 #23 0x559d749cd2e9 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2328:16 #24 0x559d749cd2e9 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1280:12 #25 0x559d74a27e00 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3571:8 #26 0x559d749ccde3 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1232:12 #27 0x559d74aa3a9a in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:265:2 #28 0x559d74aa61d0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:317:11 #29 0x559d74aa61d0 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1219:5 #30 0x559d74aa6262 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1226:5 #31 0x559d747b020c in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5 #32 0x7f64ab53a087 in __libc_start_call_main (/lib64/libc.so.6+0x2a087) (BuildId: c8c3fa52aaee3f5d73b6fd862e39e9d4c010b6ba) #33 0x7f64ab53a14a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x2a14a) (BuildId: c8c3fa52aaee3f5d73b6fd862e39e9d4c010b6ba) #34 0x559d746d04e4 in _start (/data/gannet/ripley/R/clang-ASAN/bin/exec/R+0x1574e4) 0x5140001e51d0 is located 0 bytes after 400-byte region [0x5140001e5040,0x5140001e51d0) allocated by thread T0 here: #0 0x559d7476d2ef in malloc /data/gannet/ripley/Sources2/LLVM/19/latest/compiler-rt/lib/asan/asan_malloc_linux.cpp:68:3 #1 0x7f649a087c91 in Eigen::internal::aligned_malloc(unsigned long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:182:14 #2 0x7f649a087c91 in void* Eigen::internal::conditional_aligned_malloc(unsigned long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:241:10 #3 0x7f649a087c91 in double* Eigen::internal::conditional_aligned_new_auto(unsigned long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:404:36 #4 0x7f649a087c91 in Eigen::DenseStorage::resize(long, long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/DenseStorage.h:486:20 #5 0x7f649a07788f in Eigen::PlainObjectBase>::resize(long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/PlainObjectBase.h:285:19 #6 0x7f649a07788f in void Eigen::PlainObjectBase>::_init2(long, long, Eigen::internal::enable_if::type*) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/PlainObjectBase.h:810:7 #7 0x7f649a07788f in Eigen::Matrix::Matrix(int const&, int const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Matrix.h:340:22 #8 0x7f649a07788f in Rcpp::traits::MatrixExporterForEigen, double>::get() /data/gannet/ripley/R/test-clang/RcppEigen/include/RcppEigenWrap.h:157:19 #9 0x7f649a0923f2 in Eigen::Matrix Rcpp::internal::as>(SEXPREC*, Rcpp::traits::r_type_generic_tag) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/as.h:89:29 #10 0x7f649a0923f2 in Eigen::Matrix Rcpp::as>(SEXPREC*) /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/as.h:152:16 #11 0x7f649a0923f2 in Rcpp::internal::generic_name_proxy<19, Rcpp::PreserveStorage>::operator Eigen::Matrix>() const /data/gannet/ripley/R/test-clang/Rcpp/include/Rcpp/vector/proxy.h:174:11 #12 0x7f649a0923f2 in qrdowndate(Eigen::Matrix const&, Eigen::Matrix const&, int, Rcpp::Nullable, Rcpp::Nullable, std::__1::allocator>>, Rcpp::Nullable, Rcpp::Nullable) /data/gannet/ripley/R/packages/tests-clang-ASAN/fastQR/src/QR_wrap.cpp:712:10 #13 0x7f649a183f02 in _fastQR_qrdowndate /data/gannet/ripley/R/packages/tests-clang-ASAN/fastQR/src/RcppExports.cpp:188:34 #14 0x559d749290ae in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c #15 0x559d749e87e1 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8672:21 #16 0x559d749ce384 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7505:16 #17 0x559d749cc89a in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #18 0x559d74a1636c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2393:22 #19 0x559d74a15531 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2306:16 #20 0x559d749cd2e9 in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2328:16 #21 0x559d749cd2e9 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1280:12 #22 0x559d74a27e00 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3571:8 #23 0x559d749ccde3 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1232:12 #24 0x559d74aa3a9a in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:265:2 #25 0x559d74aa61d0 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:317:11 #26 0x559d74aa61d0 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1219:5 #27 0x559d74aa6262 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1226:5 #28 0x559d747b020c in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5 #29 0x7f64ab53a087 in __libc_start_call_main (/lib64/libc.so.6+0x2a087) (BuildId: c8c3fa52aaee3f5d73b6fd862e39e9d4c010b6ba) #30 0x7f64ab53a14a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x2a14a) (BuildId: c8c3fa52aaee3f5d73b6fd862e39e9d4c010b6ba) #31 0x559d746d04e4 in _start (/data/gannet/ripley/R/clang-ASAN/bin/exec/R+0x1574e4) SUMMARY: AddressSanitizer: heap-buffer-overflow /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:746:10 in double vector[2] Eigen::internal::ploadu(Eigen::internal::unpacket_traits::type const*) Shadow bytes around the buggy address: 0x5140001e4f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x5140001e4f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x5140001e5000: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 0x5140001e5080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x5140001e5100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0x5140001e5180: 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa 0x5140001e5200: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 0x5140001e5280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x5140001e5300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x5140001e5380: 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa 0x5140001e5400: 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 ==2499727==ABORTING * DONE Status: 1 ERROR