R Under development (unstable) (2026-07-04 r90207) -- "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. > ## Tests of a variety of GLMM families and links > ## coding: family {g=Gamma, P=Poisson, G=Gaussian, B=binomial} > ## link {l=log, i=inverse, c=cloglog, i=identity} > ## model {1 = intercept-only, 2 = with continuous predictor} > > library("lme4") Loading required package: Matrix > > source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) > ##-> gSim(), a general simulation function ... > > str(gSim) function (nblk = 26, nperblk = 100, sigma_B = 1, beta = c(4, 3), x = runif(n), shape = 2, nbinom = 10, sd = 1, dInitial = NULL, family = Gamma()) > ## function (nblk = 26, nperblk = 100, sigma = 1, beta = c(4, 3), > ## x = runif(n), shape = 2, nbinom = 10, family = Gamma()) > > if (.Platform$OS.type != "windows") withAutoprint({ + set.seed(101) + ## Gamma, inverse link (= default) : + d <- gSim() + ## Gamma, log link eta = log(mu) : + dgl <- gSim(dInitial = d, family = Gamma(link = log)) + ## Poisson, log link + dP <- gSim(dInitial = d, family = poisson()) + ## Gaussian, log link --- need to use a non-identity link, otherwise glmer calls lmer + dG <- gSim(dInitial = d, family = gaussian(link = log), sd = 2) + ## Gaussian with inverse link : (sd small enough to avoid negative values) : + dGi <- gSim(dInitial = d, family = gaussian(link = inverse), sd = 0.01) + ## binomial with cloglog link + dBc <- d + dBc$eta <- d$eta - 5 # <==> beta intercept 5 less: otherwise y will be constant + dBc <- gSim(dInitial = dBc, ## beta = c(-1, 3), + nbinom = 1, family = binomial(link="cloglog")) + + ## binomial with identity link + dBi <- d + dBc$eta <- d$eta / 10 # <==> beta slope / 10 : scale so range goes from 0.2-0.8 + dBi <- gSim(dInitial = dBc, ## beta = c(4, 3/10), + nbinom = 1, family = binomial(link="identity")) + + + ############ + ## Gamma/inverse + + ## GLMs + gm0 <- glm(y ~ 1, data=d, family=Gamma) + gm1 <- glm(y ~ block-1, data=d, family=Gamma) + stopifnot(all.equal(sd(coef(gm1)),1.00753942148611)) + + gm2 <- glmer(y ~ 1 + (1|block), d, Gamma, nAGQ=0) + gm3 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=0) + gm2B <- glmer(y ~ 1 + (1|block), d, Gamma) + gm3B <- glmer(y ~ x + (1|block), d, Gamma) + + ## y ~ x + (1|block), Gamma is TRUE model + summary(gm3) + summary(gm3B)# should be better + ## Both have "correct" beta ~= (4, 3) -- but *too* small (sigma_B, sigma) !! + stopifnot(exprs = { + all.equal(fixef(gm3 ), c(`(Intercept)` = 4.07253, x = 3.080585), tol = 1e-5) # 1.21e-7 + all.equal(fixef(gm3B), c(`(Intercept)` = 4.159398, x = 3.058521),tol = 1e-5) # 1.13e-7 + }) + VarCorr(gm3) # both variances / std.dev. should be ~ 1 but are too small + + + + ## + ## library(hglm) + ## h1 <- hglm2(y~x+(1|block), data=d, family=Gamma()) + ## lme4.0 fails on all of these ... + + ## Gamma/log + ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log")) + ggl2 <- glmer(y ~ x + (1|block), data=dgl, family=Gamma(link="log"))# true model + (h.1.2 <- anova(ggl1, ggl2)) + stopifnot( + all.equal(unlist(h.1.2[2,]), + c(npar = 4, AIC = 34216.014, BIC = 34239.467, logLik = -17104.007, + "-2*log(L)" = 34208.014, Chisq = 2458.5792, Df = 1, `Pr(>Chisq)` = 0)) + ) + ## "true" model : + summary(ggl2) + VarCorr(ggl2) + + ## + ## library(lme4.0) + ## ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log"), verbose= 2) + ## fails + + ## Poisson/log + gP1 <- glmer(y ~ 1 + (1|block), data=dP, family=poisson) + gP2 <- glmer(y ~ x + (1|block), data=dP, family=poisson) + + ## Gaussian/log + gG1 <- glmer(y ~ 1 + (1|block), data=dG, family=gaussian(link="log")) + gG2 <- glmer(y ~ x + (1|block), data=dG, family=gaussian(link="log")) + + ## works with lme4.0 but AIC/BIC/logLik are crazy, and scale + ## parameter is not reported + ## glmmML etc. doesn't allow models with scale parameters + ## gG1B <- glmmadmb(y ~ 1 + (1|block), data=dG, + ## family="gaussian",link="log",verbose=TRUE) + ## what is the best guess at the estimate of the scale parameter? + ## is it the same as sigma? + ## gG1B$alpha + + ## if(Sys.info()["user"] != "maechler") { # <- seg.faults (MM) + + ## Gaussian/inverse + gGi1 <- glmer(y ~ 1 + (1|block), data=dGi, family=gaussian(link="inverse")) + gGi2 <- glmer(y ~ x + (1|block), data=dGi, family=gaussian(link="inverse")) + + + ## Binomial/cloglog + gBc1 <- glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")) + gBc2 <- glmer(y ~ x + (1|block), data=dBc, family=binomial(link="cloglog")) + ## library("glmmADMB") + ## glmmadmbfit <- glmmadmb(y ~ x + (1|block), data=dBc, + ## family="binomial",link="cloglog") + glmmadmbfit <- list(fixef = c("(Intercept)" = -0.717146132730349, x =2.83642900561633), + VarCorr = structure(list( + block = structure(0.79992, .Dim = c(1L, 1L), + .Dimnames = list("(Intercept)", "(Intercept)"))), + class = "VarCorr")) + stopifnot(all.equal(fixef(gBc2), glmmadmbfit$fixef, tolerance=5e-3)) + ## pretty loose tolerance ... + stopifnot(all.equal(unname(unlist(VarCorr(gBc2))), + c(glmmadmbfit$VarCorr$block), tolerance=2e-2)) + + gBi1 <- glmer(y ~ 1 + (1|block), data=dBi, family=binomial(link="identity")) + gBi2 <- glmer(y ~ x + (1|block), data=dBi, family=binomial(link="identity")) + + ## FIXME: should test more of the *results* of these efforts, not + ## just that they run without crashing ... + }) ## skip on windows (for speed) > set.seed(101) > d <- gSim() > dgl <- gSim(dInitial = d, family = Gamma(link = log)) > dP <- gSim(dInitial = d, family = poisson()) > dG <- gSim(dInitial = d, family = gaussian(link = log), sd = 2) > dGi <- gSim(dInitial = d, family = gaussian(link = inverse), sd = 0.01) > dBc <- d > dBc$eta <- d$eta - 5 > dBc <- gSim(dInitial = dBc, nbinom = 1, family = binomial(link = "cloglog")) > dBi <- d > dBc$eta <- d$eta/10 > dBi <- gSim(dInitial = dBc, nbinom = 1, family = binomial(link = "identity")) > gm0 <- glm(y ~ 1, data = d, family = Gamma) > gm1 <- glm(y ~ block - 1, data = d, family = Gamma) > stopifnot(all.equal(sd(coef(gm1)), 1.00753942148611)) > gm2 <- glmer(y ~ 1 + (1 | block), d, Gamma, nAGQ = 0) > gm3 <- glmer(y ~ x + (1 | block), d, Gamma, nAGQ = 0) > gm2B <- glmer(y ~ 1 + (1 | block), d, Gamma) > gm3B <- glmer(y ~ x + (1 | block), d, Gamma) > summary(gm3) Generalized linear mixed model fit by maximum likelihood (Adaptive Gauss-Hermite Quadrature, nAGQ = 0) [glmerMod] Family: Gamma ( inverse ) Formula: y ~ x + (1 | block) Data: d AIC BIC logLik -2*log(L) df.resid -4243.7 -4220.3 2125.9 -4251.7 2596 Scaled residuals: Min 1Q Median 3Q Max -1.4253 -0.7327 -0.2273 0.4677 5.8018 Random effects: Groups Name Variance Std.Dev. block (Intercept) 1.104 1.051 Number of obs: 2600, groups: block, 26 Fixed effects: Estimate Std. Error t value Pr(>|z|) (Intercept) 4.0725 0.1895 21.49 <2e-16 *** x 3.0806 0.2491 12.37 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Correlation of Fixed Effects: (Intr) x -0.531 > summary(gm3B) Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) [glmerMod] Family: Gamma ( inverse ) Formula: y ~ x + (1 | block) Data: d AIC BIC logLik -2*log(L) df.resid -4243.9 -4220.4 2125.9 -4251.9 2596 Scaled residuals: Min 1Q Median 3Q Max -1.4213 -0.7290 -0.2248 0.4725 5.7931 Random effects: Groups Name Variance Std.Dev. block (Intercept) 1.097 1.047 Number of obs: 2600, groups: block, 26 Fixed effects: Estimate Std. Error t value Pr(>|z|) (Intercept) 4.1594 0.2325 17.89 <2e-16 *** x 3.0585 0.2481 12.33 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Correlation of Fixed Effects: (Intr) x -0.432 > stopifnot(exprs = { + all.equal(fixef(gm3), c(`(Intercept)` = 4.07253, x = 3.080585), tol = 1e-05) + all.equal(fixef(gm3B), c(`(Intercept)` = 4.159398, x = 3.058521), tol = 1e-05) + }) > VarCorr(gm3) Groups Name Std.Dev. block (Intercept) 1.0505 > ggl1 <- glmer(y ~ 1 + (1 | block), data = dgl, family = Gamma(link = "log")) > ggl2 <- glmer(y ~ x + (1 | block), data = dgl, family = Gamma(link = "log")) > (h.1.2 <- anova(ggl1, ggl2)) Data: dgl Models: ggl1: y ~ 1 + (1 | block) ggl2: y ~ x + (1 | block) npar AIC BIC logLik -2*log(L) Chisq Df Pr(>Chisq) ggl1 3 36673 36690 -18333 36667 ggl2 4 34216 34239 -17104 34208 2458.6 1 < 2.2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > stopifnot(all.equal(unlist(h.1.2[2, ]), c(npar = 4, AIC = 34216.014, BIC = 34239.467, + logLik = -17104.007, `-2*log(L)` = 34208.014, Chisq = 2458.5792, Df = 1, `Pr(>Chisq)` = 0))) > summary(ggl2) Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) [glmerMod] Family: Gamma ( log ) Formula: y ~ x + (1 | block) Data: dgl AIC BIC logLik -2*log(L) df.resid 34216.0 34239.5 -17104.0 34208.0 2596 Scaled residuals: Min 1Q Median 3Q Max -1.4203 -0.7299 -0.2377 0.5233 5.0699 Random effects: Groups Name Variance Std.Dev. block (Intercept) 0.8163 0.9035 Number of obs: 2600, groups: block, 26 Fixed effects: Estimate Std. Error t value Pr(>|z|) (Intercept) 4.1752 0.1787 23.36 <2e-16 *** x 2.9959 0.0475 63.07 <2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Correlation of Fixed Effects: (Intr) x -0.133 > VarCorr(ggl2) Groups Name Std.Dev. block (Intercept) 0.90348 > gP1 <- glmer(y ~ 1 + (1 | block), data = dP, family = poisson) > gP2 <- glmer(y ~ x + (1 | block), data = dP, family = poisson) > gG1 <- glmer(y ~ 1 + (1 | block), data = dG, family = gaussian(link = "log")) > gG2 <- glmer(y ~ x + (1 | block), data = dG, family = gaussian(link = "log")) > gGi1 <- glmer(y ~ 1 + (1 | block), data = dGi, family = gaussian(link = "inverse")) > gGi2 <- glmer(y ~ x + (1 | block), data = dGi, family = gaussian(link = "inverse")) ================================================================= ==547130==ERROR: AddressSanitizer: heap-use-after-free on address 0x7e3eb108c430 at pc 0x7b5e9c8ac93c bp 0x7fff740cc7f0 sp 0x7fff740cc7e8 READ of size 16 at 0x7e3eb108c430 thread T0 #0 0x7b5e9c8ac93b in Eigen::internal::product_evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, 8, Eigen::DiagonalShape, Eigen::DenseShape, double, double>::coeff(long, long) const /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/ProductEvaluators.h:925:46 #1 0x7b5e9c8ac93b in Eigen::internal::generic_dense_assignment_kernel, 0, Eigen::Stride<0, 0>>>, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>, Eigen::internal::assign_op, 0>::assignCoeff(long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:654:58 #2 0x7b5e9c8ac93b in Eigen::internal::generic_dense_assignment_kernel, 0, Eigen::Stride<0, 0>>>, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>, Eigen::internal::assign_op, 0>::assignCoeffByOuterInner(long, long) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:668:5 #3 0x7b5e9c8ac93b in Eigen::internal::dense_assignment_loop, 0, Eigen::Stride<0, 0>>>, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>, Eigen::internal::assign_op, 0>, 0, 0>::run(Eigen::internal::generic_dense_assignment_kernel, 0, Eigen::Stride<0, 0>>>, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>, Eigen::internal::assign_op, 0>&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:347:16 #4 0x7b5e9c8ac93b in void Eigen::internal::call_dense_assignment_loop, 0, Eigen::Stride<0, 0>>, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, Eigen::internal::assign_op>(Eigen::Map, 0, Eigen::Stride<0, 0>>&, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1> const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:785:3 #5 0x7b5e9c8ac93b in Eigen::internal::Assignment, 0, Eigen::Stride<0, 0>>, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, Eigen::internal::assign_op, Eigen::internal::Dense2Dense, void>::run(Eigen::Map, 0, Eigen::Stride<0, 0>>&, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1> const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:954:5 #6 0x7b5e9c8ac93b in void Eigen::internal::call_assignment_no_alias, 0, Eigen::Stride<0, 0>>, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, Eigen::internal::assign_op>(Eigen::Map, 0, Eigen::Stride<0, 0>>&, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1> const&, Eigen::internal::assign_op const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:890:3 #7 0x7b5e9c8ac93b in void Eigen::internal::call_assignment, 0, Eigen::Stride<0, 0>>, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, Eigen::internal::assign_op>(Eigen::Map, 0, Eigen::Stride<0, 0>>&, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1> const&, Eigen::internal::assign_op const&, Eigen::internal::enable_if, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>::value, void*>::type) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:858:3 #8 0x7b5e9c8ac93b in void Eigen::internal::call_assignment, 0, Eigen::Stride<0, 0>>, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>(Eigen::Map, 0, Eigen::Stride<0, 0>>&, Eigen::Product, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/AssignEvaluator.h:836:3 #9 0x7b5e9c8ac93b in Eigen::Map, 0, Eigen::Stride<0, 0>>& Eigen::MatrixBase, 0, Eigen::Stride<0, 0>>>::operator=, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>(Eigen::DenseBase, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Assign.h:66:3 #10 0x7b5e9c8ac93b in Eigen::Map, 0, Eigen::Stride<0, 0>>& Eigen::Map, 0, Eigen::Stride<0, 0>>::operator=, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>>(Eigen::DenseBase, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>> const&) /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/Map.h:162:5 #11 0x7b5e9c8ac93b in lme4::merPredD::updateXwts(Eigen::Array const&) /data/gannet/ripley/R/packages/tests-clang-ASAN/lme4/src/predModule.cpp:221:30 #12 0x7b5e9c83acd2 in internal_glmerWrkIter(lme4::merPredD*, lme4::glmResp*, bool) /data/gannet/ripley/R/packages/tests-clang-ASAN/lme4/src/external.cpp:274:13 #13 0x7b5e9c83acd2 in pwrssUpdate(lme4::glmResp*, lme4::merPredD*, bool, double, int, int) /data/gannet/ripley/R/packages/tests-clang-ASAN/lme4/src/external.cpp:330:20 #14 0x7b5e9c839bc8 in glmerLaplace /data/gannet/ripley/R/packages/tests-clang-ASAN/lme4/src/external.cpp:386:9 #15 0x55708e2e3b06 in R_doDotCall /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:770:11 #16 0x55708e3a7d2d in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8700:21 #17 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #18 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #19 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #20 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #21 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #22 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #23 0x55708e3e7bc5 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 #24 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #25 0x55708e3e5269 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001:10 #26 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #27 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #28 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #29 0x55708e3afeba in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #30 0x55708e3afeba in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121:16 #31 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #32 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #33 0x55708e39060a in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:976:13 #34 0x55708e38e4f5 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1185:6 #35 0x55708e3909a2 in Rf_evalList /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3683:12 #36 0x55708e38e9d1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1249:20 #37 0x55708e3e7bc5 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 #38 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #39 0x55708e3909a2 in Rf_evalList /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3683:12 #40 0x55708e38e9d1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1249:20 #41 0x55708e3909a2 in Rf_evalList /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3683:12 #42 0x55708e38e9d1 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1249:20 #43 0x55708e39060a in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:976:13 #44 0x55708e38e2b7 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1191:2 #45 0x55708e39c77a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #46 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #47 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #48 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #49 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #50 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #51 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #52 0x55708e3e5269 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001:10 #53 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #54 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #55 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #56 0x55708e3afeba in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #57 0x55708e3afeba in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121:16 #58 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #59 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #60 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #61 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #62 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #63 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #64 0x55708e244abc in do_docall /data/gannet/ripley/R/svn/R-devel/src/main/coerce.c:2788:12 #65 0x55708e39c77a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #66 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #67 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #68 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #69 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #70 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #71 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #72 0x55708e3e7bc5 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 #73 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #74 0x55708e3ecfba in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3993:9 #75 0x55708e39c77a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #76 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #77 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #78 0x55708e39060a in forcePromise /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:976:13 #79 0x55708e38e4f5 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1185:6 #80 0x55708e3ed883 in do_withVisible /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:4018:9 #81 0x55708e4964b9 in do_internal /data/gannet/ripley/R/svn/R-devel/src/main/names.c:1424:11 #82 0x55708e3a1f93 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170:15 #83 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #84 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #85 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #86 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #87 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #88 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #89 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #90 0x55708e45fbe1 in Rf_ReplIteration /data/gannet/ripley/R/svn/R-devel/src/main/main.c:264:23 #91 0x55708e462410 in R_ReplConsole /data/gannet/ripley/R/svn/R-devel/src/main/main.c:317:11 #92 0x55708e462410 in run_Rmainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1235:5 #93 0x55708e4624a2 in Rf_mainloop /data/gannet/ripley/R/svn/R-devel/src/main/main.c:1242:5 #94 0x55708e163d3c in main /data/gannet/ripley/R/svn/R-devel/src/main/Rmain.c:29:5 #95 0x7f5eb3f11574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #96 0x7f5eb3f11627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 92b5376d35bb29c098175948cf3e7cbcae3aeae1) #97 0x55708e07b7d4 in _start (/data/gannet/ripley/R/clang-ASAN/bin/exec/R+0x17d4) 0x7e3eb108c430 is located 48 bytes inside of 41648-byte region [0x7e3eb108c400,0x7e3eb10966b0) freed by thread T0 here: #0 0x55708e120916 in free /home/runner/work/llvm-project/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:51:3 #1 0x55708e47d31b in ReleaseLargeFreeVectors /data/gannet/ripley/R/svn/R-devel/src/main/memory.c:1167:7 #2 0x55708e47d31b in RunGenCollect /data/gannet/ripley/R/svn/R-devel/src/main/memory.c:1951:5 #3 0x55708e47018b in R_gc_internal /data/gannet/ripley/R/svn/R-devel/src/main/memory.c:3237:19 #4 0x55708e46a99b in Rf_allocVector3 /data/gannet/ripley/R/svn/R-devel/src/main/memory.c:2863:2 #5 0x55708e381ee1 in Rf_allocVector /data/gannet/ripley/R/svn/R-devel/src/include/Rinlinedfuns.h:609:12 #6 0x55708e381ee1 in mkHandlerEntry /data/gannet/ripley/R/svn/R-devel/src/main/errors.c:1659:18 #7 0x55708e381ee1 in R_withCallingErrorHandler /data/gannet/ripley/R/svn/R-devel/src/main/errors.c:2600:18 #8 0x7f5eb0f054ff in R_evalHandleError /data/gannet/ripley/R/svn/R-devel/src/library/methods/src/methods_list_dispatch.c:93:12 #9 0x7f5eb0f054ff in R_dispatchGeneric /data/gannet/ripley/R/svn/R-devel/src/library/methods/src/methods_list_dispatch.c:1109:22 #10 0x55708e4a5853 in do_standardGeneric /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:1348:13 #11 0x55708e3aaa1f in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8085:12 #12 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #13 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #14 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #15 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #16 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #17 0x55708e4a6e97 in R_possible_dispatch /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:1687:10 #18 0x55708e3cea0f in tryDispatch /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:6090:16 #19 0x55708e39c1c2 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8320:19 #20 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #21 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #22 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #23 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #24 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #25 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #26 0x55708e3e7bc5 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 #27 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #28 0x55708e3e5269 in do_begin /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3001:10 #29 0x55708e38e840 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1230:12 #30 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #31 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #32 0x55708e3afeba in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #33 0x55708e3afeba in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8121:16 #34 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 previously allocated by thread T0 here: #0 0x55708e120bb4 in malloc /home/runner/work/llvm-project/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3 #1 0x55708e46ac7c in Rf_allocVector3 /data/gannet/ripley/R/svn/R-devel/src/main/memory.c:2894:7 #2 0x55708e1c332b in Rf_allocVector /data/gannet/ripley/R/svn/R-devel/src/include/Rinlinedfuns.h:609:12 #3 0x55708e1c332b in Rf_allocMatrix /data/gannet/ripley/R/svn/R-devel/src/main/array.c:236:17 #4 0x7b5ea349c0ce in modelmatrix /data/gannet/ripley/R/svn/R-devel/src/library/stats/src/model.c:676:17 #5 0x55708e2d8365 in do_External /data/gannet/ripley/R/svn/R-devel/src/main/dotcode.c:573:11 #6 0x55708e39c77a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #7 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #8 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #9 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #10 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #11 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #12 0x55708e49ce14 in dispatchMethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:473:16 #13 0x55708e49ba98 in Rf_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:523:9 #14 0x55708e49e073 in do_usemethod /data/gannet/ripley/R/svn/R-devel/src/main/objects.c:579:9 #15 0x55708e3a1f93 in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8170:15 #16 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #17 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #18 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #19 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #20 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #21 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #22 0x55708e3ec653 in do_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3975:13 #23 0x55708e39c77a in bcEval_loop /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:8150:14 #24 0x55708e38fd74 in bcEval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:7533:16 #25 0x55708e38e301 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1167:8 #26 0x55708e3d6a9c in R_execClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2398:39 #27 0x55708e3d5c58 in applyClosure_core /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2314:16 #28 0x55708e3913be in Rf_applyClosure /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:2333:16 #29 0x55708e38ed28 in Rf_eval /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:1278:12 #30 0x55708e3e7bc5 in do_set /data/gannet/ripley/R/svn/R-devel/src/main/eval.c:3585:8 SUMMARY: AddressSanitizer: heap-use-after-free /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/ProductEvaluators.h:925:46 in Eigen::internal::product_evaluator, 0, Eigen::Stride<0, 0>> const>, Eigen::Map, 0, Eigen::Stride<0, 0>>, 1>, 8, Eigen::DiagonalShape, Eigen::DenseShape, double, double>::coeff(long, long) const Shadow bytes around the buggy address: 0x7e3eb108c180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7e3eb108c200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7e3eb108c280: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7e3eb108c300: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7e3eb108c380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x7e3eb108c400: fd fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd 0x7e3eb108c480: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7e3eb108c500: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7e3eb108c580: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7e3eb108c600: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7e3eb108c680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 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 ==547130==ABORTING