Last updated on 2026-05-31 00:48:59 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 0.1.5 | OK | ||||
| r-devel-linux-x86_64-debian-gcc | 0.1.6 | 3.42 | 65.66 | 69.08 | OK | |
| r-devel-linux-x86_64-fedora-clang | 0.1.6 | 97.35 | ERROR | |||
| r-devel-linux-x86_64-fedora-gcc | 0.1.5 | 8.00 | 114.53 | 122.53 | OK | |
| r-devel-windows-x86_64 | 0.1.5 | 8.00 | 89.00 | 97.00 | OK | |
| r-patched-linux-x86_64 | 0.1.5 | 5.50 | 62.37 | 67.87 | OK | |
| r-release-linux-x86_64 | 0.1.5 | 3.76 | 63.04 | 66.80 | OK | |
| r-release-macos-arm64 | 0.1.6 | 1.00 | 33.00 | 34.00 | OK | |
| r-release-macos-x86_64 | 0.1.6 | 4.00 | 165.00 | 169.00 | OK | |
| r-release-windows-x86_64 | 0.1.5 | 7.00 | 87.00 | 94.00 | OK | |
| r-oldrel-macos-arm64 | 0.1.6 | 1.00 | 33.00 | 34.00 | OK | |
| r-oldrel-macos-x86_64 | 0.1.6 | 4.00 | 159.00 | 163.00 | OK | |
| r-oldrel-windows-x86_64 | 0.1.5 | 9.00 | 103.00 | 112.00 | OK |
Version: 0.1.6
Check: examples
Result: ERROR
Running examples in ‘rcdf-Ex.R’ failed
The error most likely occurred in:
> ### Name: write_rcdf_json
> ### Title: Write RCDF data to JSON files
> ### Aliases: write_rcdf_json
>
> ### ** Examples
>
> dir <- system.file("extdata", package = "rcdf")
> rcdf_path <- file.path(dir, 'mtcars.rcdf')
> private_key <- file.path(dir, 'sample-private-key-pw.pem')
>
> rcdf_data <- read_rcdf(path = rcdf_path, decryption_key = private_key, password = '1234')
*** caught segfault ***
address 0x100000001, cause 'memory not mapped'
Traceback:
1: rapi_prepare(conn, query, env)
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_prepare(conn, query, env), error = function(e) { rethrow_error_from_rapi(e, call)})
8: rethrow_rapi_prepare(conn@conn_ref, statement, env)
9: .local(conn, statement, ...)
10: dbSendQuery(conn, statement, ...)
11: dbSendQuery(conn, statement, ...)
12: dbSendStatement(conn, statement, ...)
13: dbSendStatement(conn, statement, ...)
14: DBI::dbExecute(conn, sprintf("CREATE TABLE %s AS\n SELECT * FROM read_parquet(%s,\n encryption_config = { footer_key: %s });", sql_ident(conn, record), sql_literal(conn, pq_file), sql_literal(conn, secret$key)))
15: DBI::dbExecute(conn, sprintf("CREATE TABLE %s AS\n SELECT * FROM read_parquet(%s,\n encryption_config = { footer_key: %s });", sql_ident(conn, record), sql_literal(conn, pq_file), sql_literal(conn, secret$key)))
16: process_parquet_file(conn, pq_file, secret, pk, registered_keys)
17: process_rcdf_file(conn = conn, rcdf_file = rcdf_files[i], key = creds$keys[i], password = creds$passwords[i], metadata = metadata, ignore_duplicates = ignore_duplicates)
18: read_rcdf(path = rcdf_path, decryption_key = private_key, password = "1234")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang
Version: 0.1.6
Check: tests
Result: ERROR
Running ‘testthat.R’ [6s/12s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> # This file is part of the standard setup for testthat.
> # It is recommended that you do not modify it.
> #
> # Where should you do additional test configuration?
> # Learn more about the roles of various files in:
> # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
> # * https://testthat.r-lib.org/articles/special-files.html
>
> library(testthat)
> library(rcdf)
>
> test_check("rcdf")
*** caught segfault ***
address 0x55f6de03c865, cause 'memory not mapped'
Traceback:
1: rapi_execute(stmt, convert_opts)
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, convert_opts), error = function(e) { rethrow_error_from_rapi(e, call)})
8: rethrow_rapi_execute(res@stmt_lst$ref, duckdb_convert_opts_impl(res@connection@convert_opts, arrow = res@arrow))
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: doTryCatch(return(expr), name, parentenv, handler)
19: tryCatchOne(expr, names, parentenv, handlers[[1L]])
20: tryCatchList(expr, classes, parentenv, handlers)
21: tryCatch({ DBI::dbExecute(conn, "LOAD httpfs") TRUE}, error = function(e) FALSE)
22: load_duckdb_crypto(pq_conn)
23: write_rcdf_parquet(data = data, path = dir_temp, encryption_key = key, parent_dir = "lineage", primary_key = metadata$primary_key, ignore_duplicates = ignore_duplicates)
24: write_rcdf(as_rcdf(data_list), path, file.path(dir, paste0(name, "-pub.pem")))
25: create_rcdf_for_merge(dir, "f1", list(t1 = data.frame(a = 1:3)))
26: eval(code, test_env)
27: eval(code, test_env)
28: 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)
29: doTryCatch(return(expr), name, parentenv, handler)
30: tryCatchOne(expr, names, parentenv, handlers[[1L]])
31: tryCatchList(expr, classes, parentenv, handlers)
32: 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)
33: doWithOneRestart(return(expr), restart)
34: withOneRestart(expr, restarts[[1L]])
35: 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() { })
36: test_code(code, parent.frame())
37: test_that("merge_rcdf with explicit pub_key merges files and round-trips data", { dir <- withr::local_tempdir() f1 <- create_rcdf_for_merge(dir, "f1", list(t1 = data.frame(a = 1:3))) f2 <- create_rcdf_for_merge(dir, "f2", list(t2 = data.frame(b = 4:6))) merge_pub_key <- openssl::rsa_keygen() openssl::write_pem(merge_pub_key$pubkey, file.path(dir, "merge-pub.pem")) openssl::write_pem(merge_pub_key, file.path(dir, "merge-prv.pem")) merged_path <- file.path(dir, "merged.rcdf") merge_rcdf(rcdf_files = c(f1$path, f2$path), decryption_keys = c(f1$prv, f2$prv), passwords = c(NULL, NULL), merged_file_path = merged_path, pub_key = file.path(dir, "merge-pub.pem")) expect_true(file.exists(merged_path)) result <- read_rcdf(merged_path, decryption_key = file.path(dir, "merge-prv.pem")) expect_s3_class(result, "rcdf") expect_true("t1" %in% names(result)) expect_true("t2" %in% names(result)) })
38: eval(code, test_env)
39: eval(code, test_env)
40: 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)
41: doTryCatch(return(expr), name, parentenv, handler)
42: tryCatchOne(expr, names, parentenv, handlers[[1L]])
43: tryCatchList(expr, classes, parentenv, handlers)
44: 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)
45: doWithOneRestart(return(expr), restart)
46: withOneRestart(expr, restarts[[1L]])
47: 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() { })
48: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
49: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
50: FUN(X[[i]], ...)
51: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
52: doTryCatch(return(expr), name, parentenv, handler)
53: tryCatchOne(expr, names, parentenv, handlers[[1L]])
54: tryCatchList(expr, classes, parentenv, handlers)
55: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
56: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
57: 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)
58: 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)
59: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
60: test_check("rcdf")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang