The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

CRAN Package Check Results for Maintainer ‘Jennifer Bryan <jenny at posit.co>’

Last updated on 2026-04-17 11:54:25 CEST.

Package ERROR NOTE OK
devtools 14
gapminder 14
gargle 14
glue 1 13
gmailr 14
googledrive 14
googlesheets4 14
readr 2 12
readxl 2 12
reprex 14
usethis 14
vroom 7 7

Package devtools

Current CRAN status: OK: 14

Package gapminder

Current CRAN status: OK: 14

Package gargle

Current CRAN status: OK: 14

Package glue

Current CRAN status: ERROR: 1, OK: 13

Version: 1.8.0
Check: whether package can be installed
Result: ERROR Installation failed. Flavor: r-devel-windows-x86_64

Package gmailr

Current CRAN status: OK: 14

Package googledrive

Current CRAN status: OK: 14

Package googlesheets4

Current CRAN status: OK: 14

Package readr

Current CRAN status: NOTE: 2, OK: 12

Version: 2.2.0
Check: installed package size
Result: NOTE installed size is 5.3Mb sub-directories of 1Mb or more: libs 4.3Mb Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Package readxl

Current CRAN status: ERROR: 2, OK: 12

Additional issues

M1mac

Version: 1.4.5
Check: tests
Result: ERROR Running ‘testthat.R’ [1s/1s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(readxl) > > test_check("readxl") *** caught segfault *** address (nil), cause 'memory not mapped' Traceback: 1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress) 2: tibble::as_tibble(l, .name_repair = .name_repair) 3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress), .name_repair = .name_repair) 4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, skip = skip, n_max = n_max, guess_max = guess_max, progress = progress, .name_repair = .name_repair, format = format) 5: read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text")) 6: eval(expr, envir) 7: eval(expr, envir) 8: withVisible(eval(expr, envir)) 9: withCallingHandlers(code, error = function (cnd) rlang::entrace(cnd), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)}) 10: eval(call) 11: eval(call) 12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers) 13: doWithOneRestart(return(expr), restart) 14: withOneRestart(expr, restarts[[1L]]) 15: withRestartList(expr, restarts[-nr]) 16: doWithOneRestart(return(expr), restart) 17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 18: withRestartList(expr, restarts) 19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE) 20: evaluate::evaluate(source, envir = env, new_device = FALSE, output_handler = handler) 21: verify_exec(quo_get_expr(x), quo_get_env(x), replay) 22: with_is_snapshotting(out <- verify_exec(quo_get_expr(x), quo_get_env(x), replay)) 23: expect_snapshot_(x, cran = cran, error = error, transform = transform, variant = variant, cnd_class = cnd_class) 24: expect_snapshot(df <- read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text"))) 25: eval(code, test_env) 26: eval(code, test_env) 27: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 28: doTryCatch(return(expr), name, parentenv, handler) 29: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 30: tryCatchList(expr, classes, parentenv, handlers) 31: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 32: doWithOneRestart(return(expr), restart) 33: withOneRestart(expr, restarts[[1L]]) 34: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 35: test_code(code, parent.frame()) 36: test_that("contaminated, explicit logical is read as logical", { expect_snapshot(df <- read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text"))) expect_true(is.logical(df$logical)) should_be_NA <- df$explanation %in% c("string not logical", "blank", "date") expect_false(anyNA(df$logical[!should_be_NA])) expect_snapshot(df <- read_excel(test_sheet("types.xlsx"), sheet = "logical_coercion", col_types = c("logical", "text"))) expect_true(is.logical(df$logical)) should_be_NA <- df$explanation %in% c("string not logical", "blank", "date") expect_false(anyNA(df$logical[!should_be_NA])) }) 37: eval(code, test_env) 38: eval(code, test_env) 39: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 40: doTryCatch(return(expr), name, parentenv, handler) 41: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 42: tryCatchList(expr, classes, parentenv, handlers) 43: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 44: doWithOneRestart(return(expr), restart) 45: withOneRestart(expr, restarts[[1L]]) 46: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 47: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 48: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call) 49: FUN(X[[i]], ...) 50: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call) 51: doTryCatch(return(expr), name, parentenv, handler) 52: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 53: tryCatchList(expr, classes, parentenv, handlers) 54: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 55: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)) 56: 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, shuffle = shuffle, error_call = error_call) 57: 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, shuffle = shuffle) 58: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 59: test_check("readxl") An irrecoverable exception occurred. R is aborting now ... Segmentation fault Flavor: r-devel-linux-x86_64-debian-clang

Version: 1.4.5
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: ... --- re-building ‘cell-and-column-types.Rmd’ using rmarkdown *** caught segfault *** address (nil), cause 'memory not mapped' Traceback: 1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress) 2: tibble::as_tibble(l, .name_repair = .name_repair) 3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress), .name_repair = .name_repair) 4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, skip = skip, n_max = n_max, guess_max = guess_max, progress = progress, .name_repair = .name_repair, format = format) 5: read_excel(readxl_example("type-me.xlsx"), sheet = "logical_coercion", col_types = c("logical", "text")) 6: eval(expr, envir) 7: eval(expr, envir) 8: withVisible(eval(expr, envir)) 9: withCallingHandlers(code, error = function (e) rlang::entrace(e), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)}) 10: eval(call) 11: eval(call) 12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers) 13: doWithOneRestart(return(expr), restart) 14: withOneRestart(expr, restarts[[1L]]) 15: withRestartList(expr, restarts[-nr]) 16: doWithOneRestart(return(expr), restart) 17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 18: withRestartList(expr, restarts) 19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE) 20: evaluate::evaluate(...) 21: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options)) 22: in_dir(input_dir(), expr) 23: in_input_dir(evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options))) 24: eng_r(options) 25: block_exec(params) 26: call_block(x) 27: process_group(group) 28: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }) 29: with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())) 30: xfun:::handle_error(with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from ", loc, if (!is.null(error)) paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc) 31: process_file(text, output) 32: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) 33: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) 34: vweave_rmarkdown(...) 35: engine$weave(file, quiet = quiet, encoding = enc) 36: doTryCatch(return(expr), name, parentenv, handler) 37: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 38: tryCatchList(expr, classes, parentenv, handlers) 39: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) output <- find_vignette_product(name, by = "weave", engine = engine) if (!have.makefile && vignette_is_tex(output)) { texi2pdf(file = output, clean = FALSE, quiet = quiet) output <- find_vignette_product(name, by = "texi2pdf", engine = engine) }}, error = function(e) { OK <<- FALSE message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))}) 40: tools:::.buildOneVignette("cell-and-column-types.Rmd", "/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/readxl.Rcheck/vign_test/readxl", TRUE, FALSE, "cell-and-column-types", "UTF-8", "/home/hornik/tmp/scratch/RtmpT1j6g5/file3b17ca4b3f5349.rds") An irrecoverable exception occurred. R is aborting now ... Segmentation fault --- re-building ‘sheet-geometry.Rmd’ using rmarkdown --- finished re-building ‘sheet-geometry.Rmd’ SUMMARY: processing the following file failed: ‘cell-and-column-types.Rmd’ Error: Vignette re-building failed. Execution halted Flavor: r-devel-linux-x86_64-debian-clang

Version: 1.4.5
Check: tests
Result: ERROR Running ‘testthat.R’ Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(readxl) > > test_check("readxl") *** caught segfault *** address (nil), cause 'memory not mapped' Traceback: 1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress) 2: tibble::as_tibble(l, .name_repair = .name_repair) 3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress), .name_repair = .name_repair) 4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, skip = skip, n_max = n_max, guess_max = guess_max, progress = progress, .name_repair = .name_repair, format = format) 5: read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text")) 6: eval(expr, envir) 7: eval(expr, envir) 8: withVisible(eval(expr, envir)) 9: withCallingHandlers(code, error = function (cnd) rlang::entrace(cnd), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)}) 10: eval(call) 11: eval(call) 12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers) 13: doWithOneRestart(return(expr), restart) 14: withOneRestart(expr, restarts[[1L]]) 15: withRestartList(expr, restarts[-nr]) 16: doWithOneRestart(return(expr), restart) 17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 18: withRestartList(expr, restarts) 19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE) 20: evaluate::evaluate(source, envir = env, new_device = FALSE, output_handler = handler) 21: verify_exec(quo_get_expr(x), quo_get_env(x), replay) 22: with_is_snapshotting(out <- verify_exec(quo_get_expr(x), quo_get_env(x), replay)) 23: expect_snapshot_(x, cran = cran, error = error, transform = transform, variant = variant, cnd_class = cnd_class) 24: expect_snapshot(df <- read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text"))) 25: eval(code, test_env) 26: eval(code, test_env) 27: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 28: doTryCatch(return(expr), name, parentenv, handler) 29: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 30: tryCatchList(expr, classes, parentenv, handlers) 31: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 32: doWithOneRestart(return(expr), restart) 33: withOneRestart(expr, restarts[[1L]]) 34: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 35: test_code(code, parent.frame()) 36: test_that("contaminated, explicit logical is read as logical", { expect_snapshot(df <- read_excel(test_sheet("types.xls"), sheet = "logical_coercion", col_types = c("logical", "text"))) expect_true(is.logical(df$logical)) should_be_NA <- df$explanation %in% c("string not logical", "blank", "date") expect_false(anyNA(df$logical[!should_be_NA])) expect_snapshot(df <- read_excel(test_sheet("types.xlsx"), sheet = "logical_coercion", col_types = c("logical", "text"))) expect_true(is.logical(df$logical)) should_be_NA <- df$explanation %in% c("string not logical", "blank", "date") expect_false(anyNA(df$logical[!should_be_NA])) }) 37: eval(code, test_env) 38: eval(code, test_env) 39: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 40: doTryCatch(return(expr), name, parentenv, handler) 41: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 42: tryCatchList(expr, classes, parentenv, handlers) 43: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 44: doWithOneRestart(return(expr), restart) 45: withOneRestart(expr, restarts[[1L]]) 46: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 47: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 48: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call) 49: FUN(X[[i]], ...) 50: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call) 51: doTryCatch(return(expr), name, parentenv, handler) 52: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 53: tryCatchList(expr, classes, parentenv, handlers) 54: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 55: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)) 56: 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, shuffle = shuffle, error_call = error_call) 57: 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, shuffle = shuffle) 58: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 59: test_check("readxl") An irrecoverable exception occurred. R is aborting now ... Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.4.5
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: --- re-building ‘cell-and-column-types.Rmd’ using rmarkdown *** caught segfault *** address (nil), cause 'memory not mapped' Traceback: 1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress) 2: tibble::as_tibble(l, .name_repair = .name_repair) 3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress), .name_repair = .name_repair) 4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws, skip = skip, n_max = n_max, guess_max = guess_max, progress = progress, .name_repair = .name_repair, format = format) 5: read_excel(readxl_example("type-me.xlsx"), sheet = "logical_coercion", col_types = c("logical", "text")) 6: eval(expr, envir) 7: eval(expr, envir) 8: withVisible(eval(expr, envir)) 9: withCallingHandlers(code, error = function (e) rlang::entrace(e), message = function (cnd) { watcher$capture_plot_and_output() if (on_message$capture) { watcher$push(cnd) } if (on_message$silence) { invokeRestart("muffleMessage") }}, warning = function (cnd) { if (getOption("warn") >= 2 || getOption("warn") < 0) { return() } watcher$capture_plot_and_output() if (on_warning$capture) { cnd <- sanitize_call(cnd) watcher$push(cnd) } if (on_warning$silence) { invokeRestart("muffleWarning") }}, error = function (cnd) { watcher$capture_plot_and_output() cnd <- sanitize_call(cnd) watcher$push(cnd) switch(on_error, continue = invokeRestart("eval_continue"), stop = invokeRestart("eval_stop"), error = NULL)}) 10: eval(call) 11: eval(call) 12: with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers) 13: doWithOneRestart(return(expr), restart) 14: withOneRestart(expr, restarts[[1L]]) 15: withRestartList(expr, restarts[-nr]) 16: doWithOneRestart(return(expr), restart) 17: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 18: withRestartList(expr, restarts) 19: withRestarts(with_handlers({ for (expr in tle$exprs) { ev <- withVisible(eval(expr, envir)) watcher$capture_plot_and_output() watcher$print_value(ev$value, ev$visible, envir) } TRUE}, handlers), eval_continue = function() TRUE, eval_stop = function() FALSE) 20: evaluate::evaluate(...) 21: evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options)) 22: in_dir(input_dir(), expr) 23: in_input_dir(evaluate(code, envir = env, new_device = FALSE, keep_warning = if (is.numeric(options$warning)) TRUE else options$warning, keep_message = if (is.numeric(options$message)) TRUE else options$message, stop_on_error = if (is.numeric(options$error)) options$error else { if (options$error && options$include) 0L else 2L }, output_handler = knit_handlers(options$render, options))) 24: eng_r(options) 25: block_exec(params) 26: call_block(x) 27: process_group(group) 28: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }) 29: with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())) 30: xfun:::handle_error(with_options(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { if (progress && is.function(pb$interrupt)) pb$interrupt() if (is_R_CMD_build() || is_R_CMD_check()) error <<- format(e) }), list(rlang_trace_top_env = knit_global())), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from ", loc, if (!is.null(error)) paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc) 31: process_file(text, output) 32: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) 33: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) 34: vweave_rmarkdown(...) 35: engine$weave(file, quiet = quiet, encoding = enc) 36: doTryCatch(return(expr), name, parentenv, handler) 37: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 38: tryCatchList(expr, classes, parentenv, handlers) 39: tryCatch({ engine$weave(file, quiet = quiet, encoding = enc) setwd(startdir) output <- find_vignette_product(name, by = "weave", engine = engine) if (!have.makefile && vignette_is_tex(output)) { texi2pdf(file = output, clean = FALSE, quiet = quiet) output <- find_vignette_product(name, by = "texi2pdf", engine = engine) }}, error = function(e) { OK <<- FALSE message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))}) 40: tools:::.buildOneVignette("cell-and-column-types.Rmd", "/data/gannet/ripley/R/packages/tests-clang/readxl.Rcheck/vign_test/readxl", TRUE, FALSE, "cell-and-column-types", "UTF-8", "/tmp/RtmpkLJ1Ns/working_dir/Rtmp6ZOtBz/file413034b43a3d7.rds") An irrecoverable exception occurred. R is aborting now ... --- re-building ‘sheet-geometry.Rmd’ using rmarkdown --- finished re-building ‘sheet-geometry.Rmd’ SUMMARY: processing the following file failed: ‘cell-and-column-types.Rmd’ Error: Vignette re-building failed. Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Package reprex

Current CRAN status: OK: 14

Package usethis

Current CRAN status: OK: 14

Package vroom

Current CRAN status: NOTE: 7, OK: 7

Version: 1.7.1
Check: compiled code
Result: NOTE File ‘vroom/libs/vroom.so’: Found non-API call to R: ‘R_NamespaceRegistry’ Compiled code should not call non-API entry points in R. See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, and section ‘Moving into C API compliance’ for issues with the use of non-API entry points. Flavor: r-devel-macos-arm64

Version: 1.7.1
Check: compiled code
Result: NOTE File ‘vroom/libs/vroom.so’: Found non-API calls to R: ‘DATAPTR’, ‘SETLENGTH’, ‘SET_GROWABLE_BIT’, ‘SET_TRUELENGTH’ Compiled code should not call non-API entry points in R. See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, and section ‘Moving into C API compliance’ for issues with the use of non-API entry points. Flavors: r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64

Version: 1.7.1
Check: compiled code
Result: NOTE File 'vroom/libs/x64/vroom.dll': Found non-API calls to R: 'DATAPTR', 'SETLENGTH', 'SET_GROWABLE_BIT', 'SET_TRUELENGTH' Compiled code should not call non-API entry points in R. See 'Writing portable packages' in the 'Writing R Extensions' manual, and section 'Moving into C API compliance' for issues with the use of non-API entry points. Flavor: r-release-windows-x86_64

Version: 1.7.0
Check: installed package size
Result: NOTE installed size is 10.1Mb sub-directories of 1Mb or more: libs 8.6Mb Flavor: r-oldrel-macos-arm64

Version: 1.7.1
Check: installed package size
Result: NOTE installed size is 11.2Mb sub-directories of 1Mb or more: libs 9.6Mb Flavor: r-oldrel-macos-x86_64

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.