- using R Under development (unstable) (2025-06-27 r88363)
- using platform: x86_64-pc-linux-gnu
- R was compiled by
Debian clang version 19.1.7 (3+b1)
Debian flang-new version 19.1.7 (3+b1)
- running under: Debian GNU/Linux 13 (trixie)
- using session charset: UTF-8
- checking for file ‘nanoparquet/DESCRIPTION’ ... OK
- this is package ‘nanoparquet’ version ‘0.4.2’
- package encoding: UTF-8
- checking CRAN incoming feasibility ... [1s/2s] 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 ‘nanoparquet’ can be installed ... OK
See the install log for details.
- used C++ compiler: ‘Debian clang version 19.1.7 (3+b1)’
- 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 ... [7s/8s] OK
- checking Rd files ... [0s/1s] 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 line endings in shell scripts ... OK
- checking line endings in C/C++/Fortran sources/headers ... OK
- checking line endings in Makefiles ... OK
- checking compilation flags in Makevars ... OK
- checking for GNU extensions in Makefiles ... OK
- checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
- checking use of PKG_*FLAGS in Makefiles ... OK
- checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK
- checking pragmas in C/C++ headers and code ... OK
- checking compilation flags used ... OK
- checking compiled code ... NOTE
File ‘nanoparquet/libs/nanoparquet.so’:
Found non-API call to R: ‘DATAPTR’
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.
- checking examples ... [1s/1s] OK
- checking for unstated dependencies in ‘tests’ ... OK
- checking tests ... [15s/20s] ERROR
Running ‘testthat.R’ [14s/20s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
>
> if (.Platform$r_arch == "i386" && .Platform$OS.type == "windows") {
+ message("Skipping tests on Windows i386")
+ } else {
+ testthat::test_check("nanoparquet", reporter = "progress")
+ }
Loading required package: nanoparquet
✔ | F W S OK | Context
⠏ | 0 | append-parquet
⠋ | 1 | append-parquet
⠴ | 6 | append-parquet
⠹ | 13 | append-parquet
✔ | 13 | append-parquet
⠏ | 0 | arrow-schema
⠧ | 1 7 | arrow-schema
⠹ | 1 12 | arrow-schema
⠴ | 2 14 | arrow-schema
✔ | 2 14 | arrow-schema
⠏ | 0 | deprecated
✔ | 1 0 | deprecated
⠏ | 0 | infer-parquet-schema
⠙ | 2 0 | infer-parquet-schema
✔ | 2 0 | infer-parquet-schema
⠏ | 0 | parquet-metadata
⠋ | 1 0 | parquet-metadata
⠹ | 3 0 | parquet-metadata
⠼ | 5 0 | parquet-metadata
⠦ | 7 0 | parquet-metadata
⠇ | 9 0 | parquet-metadata
⠏ | 10 0 | parquet-metadata
⠋ | 11 0 | parquet-metadata
✔ | 11 0 | parquet-metadata [1.3s]
⠏ | 0 | parquet-schema
⠋ | 1 0 | parquet-schema
⠸ | 2 12 | parquet-schema
✔ | 2 12 | parquet-schema
⠏ | 0 | porcelain
⠸ | 3 1 | porcelain
⠇ | 3 16 | porcelain
⠴ | 4 22 | porcelain
⠇ | 7 22 | porcelain
✔ | 7 22 | porcelain
⠏ | 0 | print
✔ | 1 0 | print
⠏ | 0 | pypolars
✔ | 1 0 | pypolars
⠏ | 0 | read-parquet-2
⠙ | 2 0 | read-parquet-2
⠸ | 4 0 | read-parquet-2
⠦ | 7 0 | read-parquet-2
⠇ | 8 1 | read-parquet-2
⠹ | 8 5 | read-parquet-2
⠦ | 8 9 | read-parquet-2
⠋ | 8 13 | read-parquet-2
✔ | 8 16 | read-parquet-2
⠏ | 0 | read-parquet-3
⠋ | 1 0 | read-parquet-3
⠙ | 2 0 | read-parquet-3
⠸ | 4 0 | read-parquet-3
⠼ | 5 0 | read-parquet-3
⠴ | 6 0 | read-parquet-3
⠦ | 7 0 | read-parquet-3
⠧ | 8 0 | read-parquet-3
✔ | 8 0 | read-parquet-3 [1.3s]
⠏ | 0 | read-parquet-4
⠋ | 1 0 | read-parquet-4
✔ | 2 0 | read-parquet-4
⠏ | 0 | read-parquet-5
⠴ | 6 | read-parquet-5
⠇ | 1 8 | read-parquet-5
⠸ | 2 12 | read-parquet-5
⠧ | 3 15 | read-parquet-5
✔ | 6 16 | read-parquet-5 [1.0s]
⠏ | 0 | read-parquet-connection
⠹ | 3 | read-parquet-connection
✔ | 6 | read-parquet-connection
⠏ | 0 | read-parquet-row-group
✔ | 1 0 | read-parquet-row-group
⠏ | 0 | read-parquet
⠴ | 6 | read-parquet
⠇ | 3 6 | read-parquet
⠴ | 5 11 | read-parquet
⠙ | 7 15 | read-parquet
⠴ | 8 18 | read-parquet
⠇ | 11 18 | read-parquet
⠙ | 11 21 | read-parquet
⠴ | 13 23 | read-parquet
⠏ | 17 23 | read-parquet
✔ | 19 24 | read-parquet [1.2s]
⠏ | 0 | rle
⠴ | 1 15 | rle
⠸ | 1 33 | rle
✔ | 1 42 | rle
⠏ | 0 | spelling
✔ | 1 0 | spelling
⠏ | 0 | utils
⠸ | 14 | utils
⠋ | 31 | utils
⠦ | 1 46 | utils
✔ | 1 46 | utils
⠏ | 0 | write-encodings-2
⠋ | 1 0 | write-encodings-2
⠙ | 2 0 | write-encodings-2
⠹ | 3 0 | write-encodings-2
⠸ | 4 0 | write-encodings-2
⠼ | 5 0 | write-encodings-2
⠴ | 6 0 | write-encodings-2
⠦ | 7 0 | write-encodings-2
⠧ | 8 0 | write-encodings-2
⠇ | 9 0 | write-encodings-2
⠏ | 10 0 | write-encodings-2
⠋ | 11 0 | write-encodings-2
⠙ | 12 0 | write-encodings-2
⠹ | 13 0 | write-encodings-2
⠸ | 14 0 | write-encodings-2
⠼ | 15 0 | write-encodings-2
⠴ | 16 0 | write-encodings-2
⠦ | 17 0 | write-encodings-2
⠧ | 18 0 | write-encodings-2
✔ | 18 0 | write-encodings-2 [2.7s]
⠏ | 0 | write-encodings-3
⠋ | 11 | write-encodings-3
⠹ | 23 | write-encodings-3
⠦ | 37 | write-encodings-3
⠴ | 46 | write-encodings-3
⠇ | 59 | write-encodings-3
✔ | 66 | write-encodings-3
⠏ | 0 | write-encodings
⠋ | 1 0 | write-encodings
⠙ | 2 0 | write-encodings
⠹ | 3 0 | write-encodings
⠸ | 4 0 | write-encodings
⠼ | 5 0 | write-encodings
⠴ | 6 0 | write-encodings
⠧ | 8 0 | write-encodings
⠇ | 9 0 | write-encodings
⠏ | 10 0 | write-encodings
⠋ | 11 0 | write-encodings
⠙ | 12 0 | write-encodings
⠹ | 13 0 | write-encodings
⠸ | 14 0 | write-encodings
✔ | 14 0 | write-encodings [2.2s]
⠏ | 0 | write-large-files
✔ | 1 | write-large-files
⠏ | 0 | write-parquet-2
⠹ | 2 1 | write-parquet-2
⠇ | 2 7 | write-parquet-2
⠸ | 2 12 | write-parquet-2
⠦ | 2 15 | write-parquet-2
⠏ | 2 18 | write-parquet-2
✔ | 2 23 | write-parquet-2
⠏ | 0 | write-parquet-3
⠋ | 1 0 | write-parquet-3
⠙ | 2 0 | write-parquet-3
⠸ | 4 0 | write-parquet-3
⠴ | 6 0 | write-parquet-3
⠦ | 7 0 | write-parquet-3
⠧ | 8 0 | write-parquet-3
⠏ | 10 0 | write-parquet-3
⠋ | 11 0 | write-parquet-3
⠹ | 13 0 | write-parquet-3
⠼ | 15 0 | write-parquet-3
⠦ | 17 0 | write-parquet-3
⠇ | 19 0 | write-parquet-3
✔ | 19 0 | write-parquet-3 [1.8s]
⠏ | 0 | write-parquet-4
⠋ | 1 0 | write-parquet-4
⠹ | 3 0 | write-parquet-4
⠼ | 5 0 | write-parquet-4
⠧ | 8 0 | write-parquet-4
⠋ | 11 0 | write-parquet-4
⠸ | 14 0 | write-parquet-4
⠴ | 16 0 | write-parquet-4
*** caught segfault ***
address 0x3e40, cause 'memory not mapped'
Traceback:
1: duplicate(quo)
2: is_missing(x)
3: expr_type_of(.x)
4: switch_expr(x, language = { if (is_quosure(x)) { x <- quo_squash_do(x) } else { node_squash(x) }}, pairlist = node_squash(x))
5: quo_squash_impl(duplicate(quo), warn = warn)
6: quo_squash(call)
7: error_call(call)
8: format_error_call(cnd[["call"]])
9: evalq({ if (is_true(peek_option("rlang:::error_highlight"))) { local_error_highlight() } call <- format_error_call(cnd[["call"]])})
10: evalq({ if (is_true(peek_option("rlang:::error_highlight"))) { local_error_highlight() } call <- format_error_call(cnd[["call"]])})
11: cnd_message_format_prefixed(cnd, ..., parent = FALSE)
12: cnd_message(x, prefix = TRUE)
13: snapshot_replay.condition(x, state, transform = transform, cnd_class = cnd_class)
14: snapshot_replay(x, state, transform = transform, cnd_class = cnd_class)
15: FUN(X[[i]], ...)
16: lapply(results, replay)
17: unlist(lapply(results, replay))
18: verify_exec(quo_get_expr(x), quo_get_env(x), replay)
19: with_is_snapshotting(out <- verify_exec(quo_get_expr(x), quo_get_env(x), replay))
20: expect_snapshot(error = TRUE, { infer_parquet_schema(d)})
21: eval(code, test_env)
22: eval(code, test_env)
23: 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)
24: doTryCatch(return(expr), name, parentenv, handler)
25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
26: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
27: doTryCatch(return(expr), name, parentenv, handler)
28: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
29: tryCatchList(expr, classes, parentenv, handlers)
30: 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) { })
31: test_code(desc, code, env = parent.frame(), reporter = reporter)
32: test_that("R -> Parquet mapping error", { d <- data.frame(x = raw(10)) expect_snapshot(error = TRUE, { infer_parquet_schema(d) })})
33: eval(code, test_env)
34: eval(code, test_env)
35: 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)
36: doTryCatch(return(expr), name, parentenv, handler)
37: tryCatchOne(expr, names, parentenv, handlers[[1L]])
38: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
39: doTryCatch(return(expr), name, parentenv, handler)
40: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
41: tryCatchList(expr, classes, parentenv, handlers)
42: 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) { })
43: test_code(test = NULL, code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
44: source_file(path, env = env(env), desc = desc, error_call = error_call)
45: FUN(X[[i]], ...)
46: lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call)
47: doTryCatch(return(expr), name, parentenv, handler)
48: tryCatchOne(expr, names, parentenv, handlers[[1L]])
49: tryCatchList(expr, classes, parentenv, handlers)
50: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
51: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, error_call = error_call))
52: 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)
53: 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)
54: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
55: testthat::test_check("nanoparquet", reporter = "progress")
An irrecoverable exception occurred. R is aborting now ...
Segmentation fault
- checking PDF version of manual ... [5s/7s] OK
- checking HTML version of manual ... [2s/2s] OK
- checking for non-standard things in the check directory ... OK
- DONE
Status: 1 ERROR, 1 NOTE