CRAN Package Check Results for Package fedmatch

Last updated on 2024-10-13 16:48:22 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 2.0.6 13.96 56.11 70.07 OK
r-devel-linux-x86_64-debian-gcc 2.0.6 10.64 45.84 56.48 OK
r-devel-linux-x86_64-fedora-clang 2.0.6 132.42 OK
r-devel-linux-x86_64-fedora-gcc 2.0.6 122.91 ERROR
r-devel-windows-x86_64 2.0.6 22.00 107.00 129.00 OK
r-patched-linux-x86_64 2.0.6 17.09 53.30 70.39 OK
r-release-linux-x86_64 2.0.6 15.65 53.93 69.58 OK
r-release-macos-arm64 2.0.6 52.00 OK
r-release-macos-x86_64 2.0.6 87.00 OK
r-release-windows-x86_64 2.0.6 23.00 103.00 126.00 OK
r-oldrel-macos-arm64 2.0.6 54.00 OK
r-oldrel-macos-x86_64 2.0.6 98.00 OK
r-oldrel-windows-x86_64 2.0.6 23.00 116.00 139.00 OK

Check Details

Version: 2.0.6
Check: tests
Result: ERROR Running ‘testthat.R’ Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(fedmatch) > > test_check("fedmatch") *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: (function (x, table, nomatch = NA_integer_, matchNA = TRUE, method = c("osa", "lv", "dl", "hamming", "lcs", "qgram", "cosine", "jaccard", "jw", "soundex"), useBytes = FALSE, weight = c(d = 1, i = 1, s = 1, t = 1), maxDist = 0.1, q = 1, p = 0, bt = 0, nthread = getOption("sd_num_thread")) { x <- as.character(x) table <- as.character(table) if (!useBytes) { x <- enc2utf8(x) table <- enc2utf8(table) } method <- match.arg(method) stopifnot(all(is.finite(weight)), all(weight > 0), all(weight <= 1), q >= 0, p <= 0.25, p >= 0, matchNA %in% c(TRUE, FALSE), maxDist > 0, is.logical(useBytes), ifelse(method %in% c("osa", "dl"), length(weight) >= 4, TRUE), ifelse(method %in% c("lv", "jw"), length(weight) >= 3, TRUE), nthread > 0) if (method == "jw") weight <- weight[c(2, 1, 3)] method <- METHODS[method] if (is.na(method)) { stop(sprintf("method '%s' is not defined", method)) } .Call("R_amatch", x, table, method, as.integer(nomatch), as.integer(matchNA), as.double(weight), as.double(p), as.double(bt), as.integer(q), as.double(maxDist), as.integer(useBytes), as.integer(nthread), PACKAGE = "stringdist")})(c("Walmart", "Bershire Hataway", "Apple", "Exxon Mobile", "McKesson ", "UnitedHealth Group", "CVS Health", "General Motors", "AT&T", "Ford Motor Company"), c("Walmart", "Bershire Hathaway", "Apple Computer", "Exxon Mobile Inc. ", "McKesson Corp.", "UnitedHealth Group", "CVS", "GM", "AT & T", "Ford Motor"), method = "jw", p = 0.1, maxDist = 0.05, matchNA = FALSE, nthread = NULL) 2: do.call(stringdist::amatch, c(list(data1[[by.x]], data2[[by.y]]), fuzzy_settings)) 3: fuzzy_match(data1, data2, by.x = by.x, by.y = by.y, suffixes = suffixes, unique_key_1 = unique_key_1, unique_key_2 = unique_key_2, fuzzy_settings = fuzzy_settings) 4: merge_plus(match_type = "fuzzy", data1 = corp_data1_test, data2 = corp_data2_test, by.x = "Company", by.y = "Name", unique_key_1 = "id_1", unique_key_2 = "id_2", suffixes = c("_1", "_2"), score_settings = build_score_settings(score_var_x = c("Company", "Country"), score_var_y = c("Name", "country"), wgts = c(0.5, 0.5), score_type = c("stringdist", "indicator")), filter = 0.995) 5: eval(code, test_env) 6: eval(code, test_env) 7: 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) 8: doTryCatch(return(expr), name, parentenv, handler) 9: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 10: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 11: doTryCatch(return(expr), name, parentenv, handler) 12: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 13: tryCatchList(expr, classes, parentenv, handlers) 14: 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) { }) 15: test_code(desc, code, env = parent.frame(), default_reporter = local_interactive_reporter()) 16: test_that("scoring works at all", { corp_data1_test <- copy(fedmatch::corp_data1) corp_data2_test <- copy(fedmatch::corp_data2) corp_data1_test[, `:=`(id_1, seq(1, .N))] corp_data2_test[, `:=`(id_2, seq(1, .N))] result <- merge_plus(match_type = "fuzzy", data1 = corp_data1_test, data2 = corp_data2_test, by.x = "Company", by.y = "Name", unique_key_1 = "id_1", unique_key_2 = "id_2", suffixes = c("_1", "_2"), score_settings = build_score_settings(score_var_x = c("Company", "Country"), score_var_y = c("Name", "country"), wgts = c(0.5, 0.5), score_type = c("stringdist", "indicator")), filter = 0.995) result expect_is(result$matches, "data.table")}) 17: eval(code, test_env) 18: eval(code, test_env) 19: 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) 20: doTryCatch(return(expr), name, parentenv, handler) 21: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 22: tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) 23: doTryCatch(return(expr), name, parentenv, handler) 24: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]]) 25: tryCatchList(expr, classes, parentenv, handlers) 26: 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) { }) 27: test_code(test = NULL, code = exprs, env = env, default_reporter = StopReporter$new()) 28: source_file(path, env = env(env), desc = desc, error_call = error_call) 29: FUN(X[[i]], ...) 30: lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call) 31: doTryCatch(return(expr), name, parentenv, handler) 32: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 33: tryCatchList(expr, classes, parentenv, handlers) 34: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 35: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call)) 36: 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) 37: 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) 38: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 39: test_check("fedmatch") An irrecoverable exception occurred. R is aborting now ... Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.0.6
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: --- re-building ‘Fuzzy-matching.Rmd’ using rmarkdown *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: (function (x, table, nomatch = NA_integer_, matchNA = TRUE, method = c("osa", "lv", "dl", "hamming", "lcs", "qgram", "cosine", "jaccard", "jw", "soundex"), useBytes = FALSE, weight = c(d = 1, i = 1, s = 1, t = 1), maxDist = 0.1, q = 1, p = 0, bt = 0, nthread = getOption("sd_num_thread")) { x <- as.character(x) table <- as.character(table) if (!useBytes) { x <- enc2utf8(x) table <- enc2utf8(table) } method <- match.arg(method) stopifnot(all(is.finite(weight)), all(weight > 0), all(weight <= 1), q >= 0, p <= 0.25, p >= 0, matchNA %in% c(TRUE, FALSE), maxDist > 0, is.logical(useBytes), ifelse(method %in% c("osa", "dl"), length(weight) >= 4, TRUE), ifelse(method %in% c("lv", "jw"), length(weight) >= 3, TRUE), nthread > 0) if (method == "jw") weight <- weight[c(2, 1, 3)] method <- METHODS[method] if (is.na(method)) { stop(sprintf("method '%s' is not defined", method)) } .Call("R_amatch", x, table, method, as.integer(nomatch), as.integer(matchNA), as.double(weight), as.double(p), as.double(bt), as.integer(q), as.double(maxDist), as.integer(useBytes), as.integer(nthread), PACKAGE = "stringdist")})(c("Walmart", "Bershire Hataway", "Apple", "Exxon Mobile", "McKesson ", "UnitedHealth Group", "CVS Health", "General Motors", "AT&T", "Ford Motor Company"), c("Walmart", "Bershire Hathaway", "Apple Computer", "Exxon Mobile Inc. ", "McKesson Corp.", "UnitedHealth Group", "CVS", "GM", "AT & T", "Ford Motor"), method = "jw", p = 0.1, maxDist = 0.05, matchNA = FALSE, nthread = NULL) 2: do.call(stringdist::amatch, c(list(data1[[by.x]], data2[[by.y]]), fuzzy_settings)) 3: fuzzy_match(data1, data2, by.x = by.x, by.y = by.y, suffixes = suffixes, unique_key_1 = unique_key_1, unique_key_2 = unique_key_2, fuzzy_settings = fuzzy_settings) 4: merge_plus(data1 = corp_data1, data2 = corp_data2, by.x = "Company", by.y = "Name", match_type = "fuzzy", unique_key_1 = "unique_key_1", unique_key_2 = "unique_key_2") 5: eval(expr, envir) 6: eval(expr, envir) 7: withVisible(eval(expr, envir)) 8: 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 = invokeRestart("eval_error", cnd))}) 9: eval(call) 10: eval(call) 11: 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) 12: doWithOneRestart(return(expr), restart) 13: withOneRestart(expr, restarts[[1L]]) 14: withRestartList(expr, restarts[-nr]) 15: doWithOneRestart(return(expr), restart) 16: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 17: withRestartList(expr, restarts[-nr]) 18: doWithOneRestart(return(expr), restart) 19: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 20: withRestartList(expr, restarts) 21: 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, eval_error = function(cnd) { signalCondition(cnd) stop(cnd) }) 22: evaluate::evaluate(...) 23: 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: in_dir(input_dir(), expr) 25: 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))) 26: eng_r(options) 27: block_exec(params) 28: call_block(x) 29: process_group(group) 30: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)) 31: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from lines ", loc) }, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc) 32: process_file(text, output) 33: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) 34: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) 35: vweave_rmarkdown(...) 36: engine$weave(file, quiet = quiet, encoding = enc) 37: doTryCatch(return(expr), name, parentenv, handler) 38: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 39: tryCatchList(expr, classes, parentenv, handlers) 40: 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)))}) 41: tools:::.buildOneVignette("Fuzzy-matching.Rmd", "/data/gannet/ripley/R/packages/tests-devel/fedmatch.Rcheck/vign_test/fedmatch", TRUE, FALSE, "Fuzzy-matching", "UTF-8", "/tmp/RtmpofQQTs/working_dir/RtmpZBH50s/file37861819cf8bb2.rds") An irrecoverable exception occurred. R is aborting now ... --- re-building ‘Intro-to-fedmatch.Rmd’ using rmarkdown *** caught segfault *** address 0x1, cause 'memory not mapped' Traceback: 1: (function (x, table, nomatch = NA_integer_, matchNA = TRUE, method = c("osa", "lv", "dl", "hamming", "lcs", "qgram", "cosine", "jaccard", "jw", "soundex"), useBytes = FALSE, weight = c(d = 1, i = 1, s = 1, t = 1), maxDist = 0.1, q = 1, p = 0, bt = 0, nthread = getOption("sd_num_thread")) { x <- as.character(x) table <- as.character(table) if (!useBytes) { x <- enc2utf8(x) table <- enc2utf8(table) } method <- match.arg(method) stopifnot(all(is.finite(weight)), all(weight > 0), all(weight <= 1), q >= 0, p <= 0.25, p >= 0, matchNA %in% c(TRUE, FALSE), maxDist > 0, is.logical(useBytes), ifelse(method %in% c("osa", "dl"), length(weight) >= 4, TRUE), ifelse(method %in% c("lv", "jw"), length(weight) >= 3, TRUE), nthread > 0) if (method == "jw") weight <- weight[c(2, 1, 3)] method <- METHODS[method] if (is.na(method)) { stop(sprintf("method '%s' is not defined", method)) } .Call("R_amatch", x, table, method, as.integer(nomatch), as.integer(matchNA), as.double(weight), as.double(p), as.double(bt), as.integer(q), as.double(maxDist), as.integer(useBytes), as.integer(nthread), PACKAGE = "stringdist")})(c("Walmart", "Bershire Hataway", "Apple", "Exxon Mobile", "McKesson ", "UnitedHealth Group", "CVS Health", "General Motors", "AT&T", "Ford Motor Company"), c("Walmart", "Bershire Hathaway", "Apple Computer", "Exxon Mobile Inc. ", "McKesson Corp.", "UnitedHealth Group", "CVS", "GM", "AT & T", "Ford Motor"), method = "jw", p = 0.1, maxDist = 0.05, matchNA = FALSE, nthread = NULL) 2: do.call(stringdist::amatch, c(list(data1[[by.x]], data2[[by.y]]), fuzzy_settings)) 3: fuzzy_match(data1, data2, by.x = by.x, by.y = by.y, suffixes = suffixes, unique_key_1 = unique_key_1, unique_key_2 = unique_key_2, fuzzy_settings = fuzzy_settings) 4: merge_plus(data1 = corp_data1, data2 = corp_data2, by.x = "Company", by.y = "Name", match_type = "fuzzy", unique_key_1 = "unique_key_1", unique_key_2 = "unique_key_2") 5: eval(expr, envir) 6: eval(expr, envir) 7: withVisible(eval(expr, envir)) 8: 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 = invokeRestart("eval_error", cnd))}) 9: eval(call) 10: eval(call) 11: 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) 12: doWithOneRestart(return(expr), restart) 13: withOneRestart(expr, restarts[[1L]]) 14: withRestartList(expr, restarts[-nr]) 15: doWithOneRestart(return(expr), restart) 16: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 17: withRestartList(expr, restarts[-nr]) 18: doWithOneRestart(return(expr), restart) 19: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]]) 20: withRestartList(expr, restarts) 21: 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, eval_error = function(cnd) { signalCondition(cnd) stop(cnd) }) 22: evaluate::evaluate(...) 23: 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: in_dir(input_dir(), expr) 25: 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))) 26: eng_r(options) 27: block_exec(params) 28: call_block(x) 29: process_group(group) 30: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)) 31: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) if (xfun::pkg_available("rlang", "1.0.0")) rlang::entrace(e)), function(loc) { setwd(wd) write_utf8(res, output %n% stdout()) paste0("\nQuitting from lines ", loc) }, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc) 32: process_file(text, output) 33: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet) 34: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...) 35: vweave_rmarkdown(...) 36: engine$weave(file, quiet = quiet, encoding = enc) 37: doTryCatch(return(expr), name, parentenv, handler) 38: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 39: tryCatchList(expr, classes, parentenv, handlers) 40: 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)))}) 41: tools:::.buildOneVignette("Intro-to-fedmatch.Rmd", "/data/gannet/ripley/R/packages/tests-devel/fedmatch.Rcheck/vign_test/fedmatch", TRUE, FALSE, "Intro-to-fedmatch", "UTF-8", "/tmp/RtmpofQQTs/working_dir/RtmpZBH50s/file3786186a43f0b2.rds") An irrecoverable exception occurred. R is aborting now ... --- re-building ‘Multivar_matching.Rmd’ using rmarkdown --- finished re-building ‘Multivar_matching.Rmd’ --- re-building ‘Using-clean-strings.Rmd’ using rmarkdown --- finished re-building ‘Using-clean-strings.Rmd’ --- re-building ‘Using-tier-match.Rmd’ using rmarkdown --- finished re-building ‘Using-tier-match.Rmd’ SUMMARY: processing the following files failed: ‘Fuzzy-matching.Rmd’ ‘Intro-to-fedmatch.Rmd’ Error: Vignette re-building failed. Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc