Last updated on 2026-06-16 23:53:38 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 0.2.5 | 2.56 | 153.52 | 156.08 | OK | |
| r-devel-linux-x86_64-debian-gcc | 0.2.5 | 1.49 | 105.97 | 107.46 | OK | |
| r-devel-linux-x86_64-fedora-clang | 0.2.5 | 4.00 | 180.58 | 184.58 | ERROR | |
| r-devel-linux-x86_64-fedora-gcc | 0.2.5 | 246.26 | OK | |||
| r-devel-windows-x86_64 | 0.2.5 | 4.00 | 167.00 | 171.00 | OK | |
| r-patched-linux-x86_64 | 0.2.5 | 2.70 | 146.07 | 148.77 | OK | |
| r-release-linux-x86_64 | 0.2.5 | 2.23 | 145.91 | 148.14 | OK | |
| r-release-macos-arm64 | 0.2.5 | 1.00 | 42.00 | 43.00 | OK | |
| r-release-macos-x86_64 | 0.2.5 | 2.00 | 180.00 | 182.00 | OK | |
| r-release-windows-x86_64 | 0.2.5 | 5.00 | 169.00 | 174.00 | OK | |
| r-oldrel-macos-arm64 | 0.2.5 | 1.00 | 54.00 | 55.00 | NOTE | |
| r-oldrel-macos-x86_64 | 0.2.5 | 2.00 | 306.00 | 308.00 | OK | |
| r-oldrel-windows-x86_64 | 0.2.5 | 6.00 | 223.00 | 229.00 | OK |
Version: 0.2.5
Check: tests
Result: ERROR
Running ‘testthat.R’ [103s/286s]
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(centerline)
>
> test_check("centerline")
[gannet:473851:0:473851] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x28)
==== backtrace (tid: 473851) ====
0 /lib64/libucs.so.0(ucs_handle_error+0x2e4) [0x7f349219bdf4]
1 /lib64/libucs.so.0(+0x17aed) [0x7f349219daed]
2 /lib64/libucs.so.0(+0x17cbd) [0x7f349219dcbd]
3 /lib64/libc.so.6(+0x1a040) [0x7f34a8328040]
4 /data/gannet/ripley/R/test-clang/raybevel/libs/raybevel.so(_Z16skeletonize_rcppN4Rcpp6MatrixILi14ENS_15PreserveStorageEEENS_6VectorILi19ES1_EEd+0xe40) [0x7f33cc2d8d40]
5 /data/gannet/ripley/R/test-clang/raybevel/libs/raybevel.so(_raybevel_skeletonize_rcpp+0x83) [0x7f33cc2c10b3]
6 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8f6b3) [0x563c6b4626b3]
7 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdae08) [0x563c6b4ade08]
8 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
9 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
10 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
11 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
12 /data/gannet/ripley/R/R-clang/bin/exec/R(R_forceAndCall+0x369) [0x563c6b4b6449]
13 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x157ec) [0x563c6b3e87ec]
14 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x12b018) [0x563c6b4fe018]
15 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfe26) [0x563c6b4a2e26]
16 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
17 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
18 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
19 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
20 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc9867) [0x563c6b49c867]
21 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x12d2b2) [0x563c6b5002b2]
22 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x12ccd9) [0x563c6b4ffcd9]
23 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x12d80e) [0x563c6b50080e]
24 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfe26) [0x563c6b4a2e26]
25 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
26 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
27 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
28 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
29 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc9867) [0x563c6b49c867]
30 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f8) [0x563c6b49bd98]
31 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8d66c) [0x563c6b46066c]
32 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfbc4) [0x563c6b4a2bc4]
33 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
34 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
35 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
36 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
37 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc9867) [0x563c6b49c867]
38 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f8) [0x563c6b49bd98]
39 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe50fb) [0x563c6b4b80fb]
40 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x3d0) [0x563c6b49bb70]
41 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe7278) [0x563c6b4ba278]
42 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfbc4) [0x563c6b4a2bc4]
43 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
44 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
45 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
46 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
47 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc9867) [0x563c6b49c867]
48 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f8) [0x563c6b49bd98]
49 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe7658) [0x563c6b4ba658]
50 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfbc4) [0x563c6b4a2bc4]
51 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
52 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
53 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
54 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdff9b) [0x563c6b4b2f9b]
55 /data/gannet/ripley/R/R-clang/bin/exec/R(R_forceAndCall+0x369) [0x563c6b4b6449]
56 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x157ec) [0x563c6b3e87ec]
57 /data/gannet/ripley/R/R-clang/bin/exec/R(+0x12b018) [0x563c6b4fe018]
58 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcfe26) [0x563c6b4a2e26]
59 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc918c) [0x563c6b49c18c]
60 /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x563c6b49b945]
61 /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe0aa9) [0x563c6b4b3aa9]
=================================
*** caught segfault ***
address 0x4d200073afb, cause 'unknown'
Traceback:
1: skeletonize_rcpp(vertices, holes, 0)
2: raybevel::skeletonize(vertices = geos_outer, holes = geos_inner, return_raw_ss = FALSE)
3: FUN(X[[i]], ...)
4: lapply(input, cnt_skeleton_straight, keep = keep)
5: do.call(c, lapply(input, cnt_skeleton_straight, keep = keep))
6: cnt_skeleton.geos_geometry(shape_w_hole, keep = 1.1, method = "straight")
7: cnt_skeleton(shape_w_hole, keep = 1.1, method = "straight")
8: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
9: withCallingHandlers(expr, condition = function(cnd) { if (!is.null(matched) || !matches(cnd)) { return() } if (can_entrace(cnd)) { cnd <- cnd_entrace(cnd) } matched <<- cnd if (inherits(cnd, "message") || inherits(cnd, "warning")) { cnd_muffle(cnd) } else if (inherits(cnd, "error") || inherits(cnd, "skip")) { return_from(tl, cnd) }})
10: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)), ...)
11: quasi_capture(enquo(object), label, capture_matching_condition, matches = matcher)
12: expect_condition_matching_("warning", { { object }}, regexp = regexp, class = class, ..., inherit = inherit, info = info, label = label)
13: expect_warning(cnt_skeleton(shape_w_hole, keep = 1.1, method = "straight"))
14: eval(code, test_env)
15: eval(code, test_env)
16: 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)
17: doTryCatch(return(expr), name, parentenv, handler)
18: tryCatchOne(expr, names, parentenv, handlers[[1L]])
19: tryCatchList(expr, classes, parentenv, handlers)
20: 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)
21: doWithOneRestart(return(expr), restart)
22: withOneRestart(expr, restarts[[1L]])
23: 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() { })
24: test_code(code, parent.frame())
25: test_that("cnt_skeleton generates straight skeletons", { skip_if_not_installed("raybevel") shapes <- geos::as_geos_geometry(sf::st_read(system.file("extdata/example.gpkg", package = "centerline"), layer = "shapes", quiet = TRUE)) shape_no_hole <- shapes[1] shape_w_hole <- shapes[89] result_no_hole <- cnt_skeleton(shape_no_hole, method = "straight") result_w_hole <- cnt_skeleton(shape_w_hole, method = "straight") expect_s3_class(result_no_hole, c("geos_geometry")) expect_s3_class(result_w_hole, c("geos_geometry")) expect_identical(sf::st_crs(result_no_hole), sf::st_crs(shape_no_hole)) expect_identical(sf::st_crs(result_w_hole), sf::st_crs(shape_w_hole)) list_no_hole <- lapply(seq(0.1, 1, by = 0.1), function(x) { tryCatch(cnt_skeleton(shape_no_hole, keep = x, method = "straight"), error = function(e) NA) }) list_w_hole <- lapply(seq(0.1, 1, by = 0.1), function(x) { tryCatch(cnt_skeleton(shape_w_hole, keep = x, method = "straight"), error = function(e) NA) }) lengths_w_hole <- vapply(list_w_hole, geos::geos_length, FUN.VALUE = numeric(1)) lengths_no_hole <- vapply(list_no_hole, geos::geos_length, FUN.VALUE = numeric(1)) expect_true(all(!is.na(list_no_hole))) expect_true(all(!is.na(list_w_hole))) expect_true(lengths_no_hole[1] < median(lengths_no_hole)) expect_true(lengths_w_hole[1] < median(lengths_w_hole)) expect_warning(cnt_skeleton(shape_w_hole, keep = 1.1, method = "straight")) expect_warning(cnt_skeleton(shape_no_hole, keep = 1.1, method = "straight"))})
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 = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
37: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
38: FUN(X[[i]], ...)
39: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
40: doTryCatch(return(expr), name, parentenv, handler)
41: tryCatchOne(expr, names, parentenv, handlers[[1L]])
42: tryCatchList(expr, classes, parentenv, handlers)
43: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
44: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
45: 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)
46: 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)
47: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
48: test_check("centerline")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang
Version: 0.2.5
Check: dependencies in R code
Result: NOTE
2025-12-23 03:34:32.370 R[1391:746976] XType: Using static font registry.
Flavor: r-oldrel-macos-arm64