* using log directory ‘/srv/hornik/tmp/CRAN_pretest/waldo.Rcheck’ * using R Under development (unstable) (2025-07-07 r88391) * using platform: x86_64-pc-linux-gnu * R was compiled by Debian clang version 19.1.7 (3) Debian flang-new version 19.1.7 (3) * running under: Debian GNU/Linux 13 (trixie) * using session charset: UTF-8 * checking for file ‘waldo/DESCRIPTION’ ... OK * this is package ‘waldo’ version ‘0.6.2’ * package encoding: UTF-8 * checking CRAN incoming feasibility ... [4s/5s] OK * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘waldo’ can be installed ... [2s/2s] OK * checking package directory ... OK * checking for future file timestamps ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [0s/0s] OK * checking whether the package can be loaded with stated dependencies ... [0s/0s] OK * checking whether the package can be unloaded cleanly ... [0s/0s] OK * checking whether the namespace can be loaded with stated dependencies ... [0s/0s] OK * checking whether the namespace can be unloaded cleanly ... [0s/0s] OK * checking loading without being on the library search path ... [0s/0s] OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [4s/4s] OK * checking Rd files ... [0s/0s] OK * checking Rd metadata ... OK * checking Rd line widths ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking examples ... [1s/1s] OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... [4s/4s] ERROR Running ‘testthat.R’ [3s/3s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(waldo) Attaching package: 'waldo' The following object is masked from 'package:testthat': compare > > test_check("waldo") *** caught segfault *** address (nil), cause 'unknown' Traceback: 1: vapply(x, is.null, logical(1)) 2: compact(list(...)) 3: merge_lists(opts, attr(x, "waldo_opts"), attr(y, "waldo_opts"), opts[opts$user_specified]) 4: compare_structure(x, y, paths = c(x_arg, y_arg), opts = opts) 5: compare(char1, char2) 6: eval(expr, envir) 7: eval(expr, envir) 8: withVisible(eval(expr, envir)) 9: withCallingHandlers(code, 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({ compare(char1, char2) compare(char1, "foo")}) 24: eval(code, test_env) 25: eval(code, test_env) 26: 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) 27: doTryCatch(return(expr), name, parentenv, handler) 28: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 29: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 30: doTryCatch(return(expr), name, parentenv, handler) 31: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 32: tryCatchList(expr, classes, parentenv, handlers) 33: 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) { }) 34: test_code(desc, code, env = parent.frame(), reporter = reporter) 35: test_that("can compare CHARSXP", { skip_if(interactive()) char1 <- readRDS(test_path("charsxp-1.rds")) char2 <- readRDS(test_path("charsxp-2.rds")) expect_snapshot({ compare(char1, char2) compare(char1, "foo") })}) 36: eval(code, test_env) 37: eval(code, test_env) 38: 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) 39: doTryCatch(return(expr), name, parentenv, handler) 40: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 41: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 42: doTryCatch(return(expr), name, parentenv, handler) 43: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 44: tryCatchList(expr, classes, parentenv, handlers) 45: 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) { }) 46: test_code(test = NULL, code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 47: source_file(path, env = env(env), desc = desc, error_call = error_call) 48: FUN(X[[i]], ...) 49: lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call) 50: doTryCatch(return(expr), name, parentenv, handler) 51: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 52: tryCatchList(expr, classes, parentenv, handlers) 53: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 54: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call)) 55: 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) 56: 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) 57: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 58: test_check("waldo") An irrecoverable exception occurred. R is aborting now ... Segmentation fault * checking PDF version of manual ... [2s/2s] OK * checking HTML version of manual ... [0s/0s] OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR