Running ‘sleep.R’
  Comparing ‘sleep.Rout’ to ‘sleep.Rout.save’ ... OK
  Running ‘testthat.R’ [20s/36s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(estimatr)
  > 
  > test_check("estimatr")
  
   *** caught segfault ***
  address fcb7b149, cause 'memory not mapped'
  
  Traceback:
   1: demeanMat(Y = as.matrix(model_data[["outcome"]]), X = model_data[["design_matrix"]],     Zmat = model_data[["instrument_matrix"]], fes = model_data[["fixed_effects"]],     weights = if (is.numeric(model_data[["weights"]])) model_data[["weights"]] else rep(1,         nrow(model_data[["design_matrix"]])), has_int = attr(model_data$terms,         "intercept"), eps = 1e-08)
   2: demean_fes(model_data)
   3: iv_robust(Y ~ X1 + X2 | Z + X2, fixed_effects = ~B + B2, data = dat,     se_type = se_type)
   4: eval(code, test_env)
   5: eval(code, test_env)
   6: withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error)
   7: doTryCatch(return(expr), name, parentenv, handler)
   8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
   9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  10: doTryCatch(return(expr), name, parentenv, handler)
  11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  12: tryCatchList(expr, classes, parentenv, handlers)
  13: tryCatch(withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error), error = handle_fatal,     skip = function(e) {    })
  14: test_code(desc, code, env = parent.frame())
  15: test_that("FE matches with multiple FEs and covars", {    for (se_type in se_types) {        ro <- iv_robust(Y ~ X1 + X2 + factor(B) + factor(B2) |             Z + X2 + factor(B) + factor(B2), data = dat, se_type = se_type)        rfo <- iv_robust(Y ~ X1 + X2 | Z + X2, fixed_effects = ~B +             B2, data = dat, se_type = se_type)        expect_equivalent(tidy(ro)[ro$term %in% c("X1", "X2"),             ], tidy(rfo)[rfo$term %in% c("X1", "X2"), ])        expect_equivalent(ro$fitted.values, rfo$fitted.values)        expect_equal(ro[c("r.squared", "adj.r.squared")], rfo[c("r.squared",             "adj.r.squared")])        ro <- iv_robust(Y ~ X1 + X2 + factor(B) + factor(B2) |             Z + X2 + factor(B) + factor(B2), data = dat, weights = w,             se_type = se_type)        rfo <- iv_robust(Y ~ X1 + X2 | Z + X2, fixed_effects = ~B +             B2, data = dat, weights = w, se_type = se_type)        expect_equivalent(tidy(ro)[ro$term %in% c("X1", "X2"),             ], tidy(rfo)[rfo$term %in% c("X1", "X2"), ])        expect_equivalent(ro$fitted.values, rfo$fitted.values)        expect_equal(ro[c("r.squared", "adj.r.squared")], rfo[c("r.squared",             "adj.r.squared")])    }    for (se_type in cr_se_types) {        ro <- iv_robust(Y ~ X1 + X2 + factor(B) + factor(B2) |             Z + X2 + factor(B) + factor(B2), clusters = cl, data = dat,             se_type = se_type)        rfo <- iv_robust(Y ~ X1 + X2 | Z + X2, fixed_effects = ~B +             B2, clusters = cl, data = dat, se_type = se_type)        expect_equivalent(tidy(ro)[ro$term %in% c("X1", "X2"),             ], tidy(rfo)[rfo$term %in% c("X1", "X2"), ])        expect_equivalent(ro$fitted.values, rfo$fitted.values)        expect_equal(ro[c("r.squared", "adj.r.squared")], rfo[c("r.squared",             "adj.r.squared")])        if (se_type %in% c("CR2", "CR3")) {            expect_error(rfo <- iv_robust(Y ~ X1 + X2 | Z + X2,                 fixed_effects = ~B + B2, clusters = cl, data = dat,                 weights = w, se_type = se_type), "Cannot use `fixed_effects` with weighted CR2")        }        else {            ro <- iv_robust(Y ~ X1 + X2 + factor(B) + factor(B2) |                 Z + X2 + factor(B) + factor(B2), clusters = cl,                 data = dat, weights = w, se_type = se_type)            rfo <- iv_robust(Y ~ X1 + X2 | Z + X2, fixed_effects = ~B +                 B2, clusters = cl, data = dat, weights = w, se_type = se_type)            expect_equivalent(tidy(ro)[ro$term %in% c("X1", "X2"),                 ], tidy(rfo)[rfo$term %in% c("X1", "X2"), ])            expect_equivalent(ro$fitted.values, rfo$fitted.values)            expect_equal(ro[c("r.squared", "adj.r.squared")],                 rfo[c("r.squared", "adj.r.squared")])        }    }})
  16: eval(code, test_env)
  17: eval(code, test_env)
  18: withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error)
  19: doTryCatch(return(expr), name, parentenv, handler)
  20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  22: doTryCatch(return(expr), name, parentenv, handler)
  23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  24: tryCatchList(expr, classes, parentenv, handlers)
  25: tryCatch(withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error), error = handle_fatal,     skip = function(e) {    })
  26: test_code(NULL, exprs, env)
  27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
  28: force(code)
  29: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,     {        lister$start_file(basename(path))        source_file(path, new.env(parent = env), chdir = TRUE,             wrap = wrap)        end_context()    })
  30: FUN(X[[i]], ...)
  31: lapply(paths, test_file, env = env, reporter = current_reporter,     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
  32: force(code)
  33: with_reporter(reporter = current_reporter, results <- lapply(paths,     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,     load_helpers = FALSE, wrap = wrap))
  34: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,     stop_on_warning = stop_on_warning, wrap = wrap)
  35: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     wrap = wrap)
  36: test_package_dir(package = package, test_path = test_path, filter = filter,     reporter = reporter, ..., stop_on_failure = stop_on_failure,     stop_on_warning = stop_on_warning, wrap = wrap)
  37: test_check("estimatr")
  An irrecoverable exception occurred. R is aborting now ...