Running ‘spelling.R’
  Running ‘testthat.R’
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(detrendr)
  > 
  > if (!detrendr:::win32bit()) test_check("detrendr")
  
   *** caught segfault ***
  address 0xfffffffffffffff7, cause 'memory not mapped'
  
  Traceback:
   1: setTbbThreadOptions(numThreads, stackSize)
   2: RcppParallel::setThreadOptions(n_cores)
   3: exp_smooth_rows(mat, tau, l, parallel = parallel)
   4: rows_detrend_tau_specified(mat, tau, l, purpose = purpose, parallel = parallel)
   5: eval(lhs, parent, parent)
   6: eval(lhs, parent, parent)
   7: rows_detrend_tau_specified(mat, tau, l, purpose = purpose, parallel = parallel) %>%     brightness_rows(parallel = parallel) %>% mean(na.rm = TRUE)
   8: rows_detrend_tau_specified_mean_b(sim_mat, big_tau, l, purpose = "ffs",     parallel = parallel)
   9: best_tau(img, purpose = "ffs", parallel = 2)
  10: eval_bare(expr, quo_get_env(quo))
  11: quasi_label(enquo(object), label, arg = "object")
  12: expect_equal(round(best_tau(img, purpose = "ffs", parallel = 2)),     34, tolerance = 2)
  13: eval(code, test_env)
  14: eval(code, test_env)
  15: 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)
  16: doTryCatch(return(expr), name, parentenv, handler)
  17: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  18: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  19: doTryCatch(return(expr), name, parentenv, handler)
  20: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  21: tryCatchList(expr, classes, parentenv, handlers)
  22: 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) {    })
  23: test_code(desc, code, env = parent.frame())
  24: test_that("best_tau works", {    skip_on_os("solaris")    skip_if(getRversion() < "3.6.0")    img <- ijtiff::read_tif(system.file("extdata", "bleached.tif",         package = "detrendr"), msg = FALSE)    expect_error(best_tau(img), paste0("You must choose \\*either\\* 'FCS' \\*or\\* 'FFS' for\\s?",         "`purpose`."))    set.seed(1)    expect_equal(round(best_tau(img, purpose = "ffs", parallel = 2)),         34, tolerance = 2)    img_2ch <- abind::abind(img, img, along = 3)    set.seed(1)    t1 <- best_tau(img_2ch, purpose = "fcs")    expect_equal(length(t1), 2)    set.seed(1)    t2 <- best_tau(img_2ch, purpose = "fcs")    expect_equal(t1, t2)    img <- array(rpois(99^3, 99), dim = rep(99, 3))    bt <- best_tau(img, purpose = "ffs")    if (!is.na(bt)) {        expect_gt(bt, 150)    }    img[] <- 0    expect_error(best_tau(img, purpose = "fcs"), "all pixel values are equal to 0")})
  25: eval(code, test_env)
  26: eval(code, test_env)
  27: 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)
  28: doTryCatch(return(expr), name, parentenv, handler)
  29: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  30: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  31: doTryCatch(return(expr), name, parentenv, handler)
  32: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  33: tryCatchList(expr, classes, parentenv, handlers)
  34: 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) {    })
  35: test_code(NULL, exprs, env)
  36: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
  37: force(code)
  38: doWithOneRestart(return(expr), restart)
  39: withOneRestart(expr, restarts[[1L]])
  40: withRestarts(testthat_abort_reporter = function() NULL, force(code))
  41: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,     {        reporter$start_file(basename(path))        lister$start_file(basename(path))        source_file(path, new.env(parent = env), chdir = TRUE,             wrap = wrap)        reporter$.end_context()        reporter$end_file()    })
  42: FUN(X[[i]], ...)
  43: lapply(paths, test_file, env = env, reporter = current_reporter,     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
  44: force(code)
  45: doWithOneRestart(return(expr), restart)
  46: withOneRestart(expr, restarts[[1L]])
  47: withRestarts(testthat_abort_reporter = function() NULL, force(code))
  48: with_reporter(reporter = current_reporter, results <- lapply(paths,     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,     load_helpers = FALSE, wrap = wrap))
  49: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,     stop_on_warning = stop_on_warning, wrap = wrap)
  50: 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)
  51: 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)
  52: test_check("detrendr")
  An irrecoverable exception occurred. R is aborting now ...