Running ‘testthat.R’ [9s/34s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > test_check("dietr")
  Loading required package: dietr
  
   *** caught segfault ***
  address 0x1, cause 'memory not mapped'
  
  Traceback:
   1: rapi_execute(stmt, arrow, integer64)
   2: withCallingHandlers(expr, condition = function(cnd) {    {        .__handler_frame__. <- TRUE        .__setup_frame__. <- frame        if (inherits(cnd, "message")) {            except <- c("warning", "error")        }        else if (inherits(cnd, "warning")) {            except <- "error"        }        else {            except <- ""        }    }    while (!is_null(cnd)) {        if (inherits(cnd, "error")) {            out <- handlers[[1L]](cnd)            if (!inherits(out, "rlang_zap"))                 throw(out)        }        inherit <- .subset2(.subset2(cnd, "rlang"), "inherit")        if (is_false(inherit)) {            return()        }        cnd <- .subset2(cnd, "parent")    }})
   3: doTryCatch(return(expr), name, parentenv, handler)
   4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5: tryCatchList(expr, classes, parentenv, handlers)
   6: tryCatch(withCallingHandlers(expr, condition = function(cnd) {    {        .__handler_frame__. <- TRUE        .__setup_frame__. <- frame        if (inherits(cnd, "message")) {            except <- c("warning", "error")        }        else if (inherits(cnd, "warning")) {            except <- "error"        }        else {            except <- ""        }    }    while (!is_null(cnd)) {        if (inherits(cnd, "error")) {            out <- handlers[[1L]](cnd)            if (!inherits(out, "rlang_zap"))                 throw(out)        }        inherit <- .subset2(.subset2(cnd, "rlang"), "inherit")        if (is_false(inherit)) {            return()        }        cnd <- .subset2(cnd, "parent")    }}), stackOverflowError = handlers[[1L]])
   7: rlang::try_fetch(rapi_execute(stmt, arrow, integer64), error = function(e) {    rethrow_error_from_rapi(e, call)})
   8: rethrow_rapi_execute(res@stmt_lst$ref, res@arrow, res@connection@bigint ==     "integer64")
   9: duckdb_execute(res)
  10: duckdb_result(connection = conn, stmt_lst = stmt_lst, arrow = arrow)
  11: .local(conn, statement, ...)
  12: dbSendQuery(conn, statement, ...)
  13: dbSendQuery(conn, statement, ...)
  14: dbSendStatement(conn, statement, ...)
  15: dbSendStatement(conn, statement, ...)
  16: DBI::dbExecute(conn, "LOAD 'httpfs';")
  17: DBI::dbExecute(conn, "LOAD 'httpfs';")
  18: load_httpfs(conn)
  19: parse_uri(sources, conn = conn, recursive = recursive)
  20: duckdbfs::open_dataset(urls[tbl])
  21: fb_tbl("diet_items")
  22: rfishbase::diet_items()
  23: as.data.frame(rfishbase::diet_items())
  24: ConvertFishbaseDiet(ExcludeStage = NULL)
  25: doTryCatch(return(expr), name, parentenv, handler)
  26: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  27: tryCatchList(expr, classes, parentenv, handlers)
  28: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)        dcall <- deparse(call, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")        if (is.na(w))             w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        if (w > LONG)             prefix <- paste0(prefix, "\n  ")    }    else prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e), "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})
  29: try(ConvertFishbaseDiet(ExcludeStage = NULL), silent = TRUE)
  30: eval(code, test_env)
  31: eval(code, test_env)
  32: 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)
  33: doTryCatch(return(expr), name, parentenv, handler)
  34: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  35: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  36: doTryCatch(return(expr), name, parentenv, handler)
  37: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  38: tryCatchList(expr, classes, parentenv, handlers)
  39: 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) {    })
  40: test_code(desc, code, env = parent.frame(), default_reporter = local_interactive_reporter())
  41: test_that("ConvertFishbaseDiet function works", {    all.diets <- try(ConvertFishbaseDiet(ExcludeStage = NULL),         silent = TRUE)    if ("try-error" %in% class(all.diets)) {        skip("could not connect to remote database")    }    else {        filtered.diets <- ConvertFishbaseDiet(ExcludeStage = "larvae")        expect_true(nrow(filtered.diets$DietItems) < nrow(all.diets$DietItems))        expect_length(filtered.diets, 2)        expect_equal(ncol(filtered.diets$Taxonomy), 2)    }})
  42: eval(code, test_env)
  43: eval(code, test_env)
  44: 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)
  45: doTryCatch(return(expr), name, parentenv, handler)
  46: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  47: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  48: doTryCatch(return(expr), name, parentenv, handler)
  49: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  50: tryCatchList(expr, classes, parentenv, handlers)
  51: 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) {    })
  52: test_code(test = NULL, code = exprs, env = env, default_reporter = StopReporter$new())
  53: source_file(path, env = env(env), desc = desc, error_call = error_call)
  54: FUN(X[[i]], ...)
  55: lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call)
  56: doTryCatch(return(expr), name, parentenv, handler)
  57: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  58: tryCatchList(expr, classes, parentenv, handlers)
  59: tryCatch(code, testthat_abort_reporter = function(cnd) {    cat(conditionMessage(cnd), "\n")    NULL})
  60: with_reporter(reporters$multi, lapply(test_paths, test_one_file,     env = env, desc = desc, error_call = error_call))
  61: test_files_serial(test_dir = test_dir, test_package = test_package,     test_paths = test_paths, load_helpers = load_helpers, reporter = reporter,     env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     desc = desc, load_package = load_package, error_call = error_call)
  62: test_files(test_dir = path, test_paths = test_paths, test_package = package,     reporter = reporter, load_helpers = load_helpers, env = env,     stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     load_package = load_package, parallel = parallel)
  63: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  64: test_check("dietr")
  An irrecoverable exception occurred. R is aborting now ...