Error(s) in re-building vignettes:
--- re-building ‘Plants.Rmd’ using rmarkdown

Quitting from Plants.Rmd:43-52 [get species occurences]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! error in evaluating the argument 'conn' in selecting a method for function 'dbGetQuery': Invalid Error: Invalid Input Error: Initialization function "spatial_duckdb_cpp_init" from file "/data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension" threw an exception: "Missing DB manager"
ℹ Context: rapi_execute
ℹ Error type: INVALID
ℹ Raw message: Invalid Input Error: Initialization function "spatial_duckdb_cpp_init" from file "/data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension" threw an exception: "Missing DB manager"
---
Backtrace:
     ▆
  1. ├─specleanr::getdata(...)
  2. │ └─base::sapply(...)
  3. │   └─base::lapply(X = X, FUN = FUN, ...)
  4. │     └─specleanr (local) FUN(X[[i]], ...)
  5. │       └─specleanr::check_names(...)
  6. │         └─specleanr:::fishbase(tables = "synonym")
  7. │           ├─base::suppressMessages(rfishbase::synonyms())
  8. │           │ └─base::withCallingHandlers(...)
  9. │           └─rfishbase::synonyms()
 10. │             ├─... %>% ...
 11. │             └─rfishbase::fb_tbl("synonyms", server, version, db)
 12. │               └─duckdbfs::open_dataset(urls[tbl])
 13. │                 └─duckdbfs:::parse_uri(sources, conn = conn, recursive = recursive)
 14. │                   └─duckdbfs:::load_httpfs(conn)
 15. │                     └─duckdbfs:::load_extension(...)
 16. │                       └─duckdbfs::duckdb_extensions()
 17. │                         ├─DBI::dbGetQuery(conn, query)
 18. │                         └─duckdbfs::cached_connection()
 19. │                           ├─DBI::dbExecute(conn, "LOAD spatial;")
 20. │                           └─DBI::dbExecute(conn, "LOAD spatial;")
 21. │                             ├─DBI::dbSendStatement(conn, statement, ...)
 22. │                             └─DBI::dbSendStatement(conn, statement, ...)
 23. │                               ├─DBI::dbSendQuery(conn, statement, ...)
 24. │                               └─duckdb::dbSendQuery(conn, statement, ...)
 25. │                                 └─duckdb (local) .local(conn, statement, ...)
 26. │                                   └─duckdb:::duckdb_result(...)
 27. │                                     └─duckdb:::duckdb_execute(res)
 28. │                                       └─duckdb:::rethrow_rapi_execute(...)
 29. │                                         ├─rlang::try_fetch(...)
 30. │                                         │ ├─base::tryCatch(...)
 31. │                                         │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 32. │                                         │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 33. │                                         │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 34. │                                         │ └─base::withCallingHandlers(...)
 35. │                                         └─duckdb:::rapi_execute(stmt, convert_opts)
 36. ├─dplyr::select(...)
 37. ├─dplyr::mutate(., synonym = paste(SynGenus, SynSpecies))
 38. ├─duckdb (local) `<fn>`(...)
 39. │ └─rlang::abort(error_parts, class = "duckdb_error", !!!fields)
 40. │   └─rlang:::signal_abort(cnd, .file)
 41. │     └─base::signalCondition(cnd)
 42. ├─rlang (local) `<fn>`(`<dckdb_rr>`)
 43. │ └─handlers[[1L]](cnd)
 44. │   └─duckdb:::rethrow_error_from_rapi(e, call)
 45. │     └─rlang::abort(msg, call = call)
 46. │       └─rlang:::signal_abort(cnd, .file)
 47. │         └─base::signalCondition(cnd)
 48. └─base (local) `<fn>`(`<rlng_rrr>`)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'Plants.Rmd' failed with diagnostics:
error in evaluating the argument 'conn' in selecting a method for function 'dbGetQuery': Invalid Error: Invalid Input Error: Initialization function "spatial_duckdb_cpp_init" from file "/data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension" threw an exception: "Missing DB manager"
ℹ Context: rapi_execute
ℹ Error type: INVALID
ℹ Raw message: Invalid Input Error: Initialization function "spatial_duckdb_cpp_init" from file "/data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension" threw an exception: "Missing DB manager"
--- failed re-building ‘Plants.Rmd’

--- re-building ‘addspeciesecologicalranges.Rmd’ using rmarkdown
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘addspeciesecologicalranges.Rmd’

--- re-building ‘eOutlier.Rmd’ using rmarkdown
[gannet:3239695:0:3239695] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
==== backtrace (tid:3239695) ====
 0  /lib64/libucs.so.0(ucs_handle_error+0x2e4) [0x7f8bcffb2df4]
 1  /lib64/libucs.so.0(+0x17aed) [0x7f8bcffb4aed]
 2  /lib64/libucs.so.0(+0x17cbd) [0x7f8bcffb4cbd]
 3  /lib64/libc.so.6(+0x19c30) [0x7f8be7027c30]
 4  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x10e4500) [0x7f8ab46e4500]
 5  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x10c5108) [0x7f8ab46c5108]
 6  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x7d5b74) [0x7f8ab3dd5b74]
 7  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x7d4119) [0x7f8ab3dd4119]
 8  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb15ExtensionHelper29LoadExternalExtensionInternalERNS_16DatabaseInstanceERNS_10FileSystemERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERNS_19ExtensionActiveLoadE+0x1b4) [0x7f8b06d715f4]
 9  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb15ExtensionHelper21LoadExternalExtensionERNS_16DatabaseInstanceERNS_10FileSystemERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE+0x4a) [0x7f8b06d7137a]
10  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZNK6duckdb12PhysicalLoad7GetDataERNS_16ExecutionContextERNS_9DataChunkERNS_19OperatorSourceInputE+0x151) [0x7f8b07bab6b1]
11  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb16PipelineExecutor15FetchFromSourceERNS_9DataChunkE+0x9f) [0x7f8b0835d5df]
12  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb16PipelineExecutor7ExecuteEm+0x133) [0x7f8b0835a073]
13  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb12PipelineTask11ExecuteTaskENS_17TaskExecutionModeE+0x119) [0x7f8b08359ca9]
14  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb12ExecutorTask7ExecuteENS_17TaskExecutionModeE+0xa0) [0x7f8b083535c0]
15  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb8Executor11ExecuteTaskEb+0x24a) [0x7f8b08358b8a]
16  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb13ClientContext19ExecuteTaskInternalERNS_17ClientContextLockERNS_15BaseQueryResultEb+0x40) [0x7f8b08198280]
17  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb18PendingQueryResult15ExecuteInternalERNS_17ClientContextLockE+0x7a) [0x7f8b0819a7ba]
18  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb17PreparedStatement7ExecuteERNS_6vectorINS_5ValueELb1EEEb+0x5a) [0x7f8b081bad1a]
19  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_Z12rapi_executeN5cpp1116external_pointerIN6duckdb10RStatementEXadL_ZNS_15default_deleterIS2_EEvPT_EEEENS1_11ConvertOptsE+0x115) [0x7f8b06b01b95]
20  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_duckdb_rapi_execute+0x63) [0x7f8b06b6a8f3]
21  /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8e564) [0x5624ba3e6564]
22  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdd470) [0x5624ba435470]
23  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x5624ba41e2ac]
24  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x5624ba41da35]
25  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x5624ba41e534]
26  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x26e) [0x5624ba41dafe]
27  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x5624ba41e534]
28  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdf5b0) [0x5624ba4375b0]
29  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcaf92) [0x5624ba422f92]
30  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x5624ba41e2ac]
31  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x5624ba41da35]
32  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x5624ba43ae29]
33  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x5624ba43a32c]
34  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x5624ba41de86]
35  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x5624ba41e534]
36  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdf5b0) [0x5624ba4375b0]
37  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcaf92) [0x5624ba422f92]
38  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x5624ba41e2ac]
39  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x5624ba41da35]
40  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x5624ba43ae29]
41  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x5624ba43a32c]
42  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x5624ba41de86]
43  /data/gannet/ripley/R/test-clang/rlang/libs/rlang.so(+0x4603) [0x7f8be4433603]
44  /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8c6b3) [0x5624ba3e46b3]
45  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcdeab) [0x5624ba425eab]
46  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x5624ba41e2ac]
47  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x5624ba41da35]
48  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x5624ba43ae29]
49  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x5624ba43a32c]
50  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x5624ba41de86]
51  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe83d8) [0x5624ba4403d8]
52  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x3d0) [0x5624ba41dc60]
53  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe74eb) [0x5624ba43f4eb]
54  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x3d0) [0x5624ba41dc60]
55  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x5624ba43ae29]
56  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x5624ba43a32c]
57  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcd6b3) [0x5624ba4256b3]
58  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x5624ba41e2ac]
59  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x5624ba41da35]
60  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x5624ba43ae29]
61  /data/gannet/ripley/R/R-clang/bin/exec/R(R_execMethod+0x2cb) [0x5624ba43dc5b]
=================================

 *** caught segfault ***
address 0x4d200316f0f, cause 'unknown'

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 spatial;")
17: DBI::dbExecute(conn, "LOAD spatial;")
18: cached_connection()
19: DBI::dbGetQuery(conn, query)
20: duckdb_extensions()
21: load_extension("httpfs", conn = conn, nightly = nightly, force = force)
22: load_httpfs(conn)
23: parse_uri(sources, conn = conn, recursive = recursive)
24: duckdbfs::open_dataset(urls[tbl])
25: fb_tbl("synonyms", server, version, db)
26: mutate(., synonym = paste(SynGenus, SynSpecies))
27: select(., dplyr::any_of(c("synonym", "Status", "SpecCode", "SynCode",     "CoL_ID", "TSN", "WoRMS_ID", "ZooBank_ID", "TaxonLevel")))
28: fb_tbl("synonyms", server, version, db) %>% mutate(synonym = paste(SynGenus,     SynSpecies)) %>% select(dplyr::any_of(c("synonym", "Status",     "SpecCode", "SynCode", "CoL_ID", "TSN", "WoRMS_ID", "ZooBank_ID",     "TaxonLevel")))
29: rfishbase::synonyms()
30: withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))
31: suppressMessages(rfishbase::synonyms())
32: fishbase(tables = "synonym")
33: check_names(data = spp, verbose = verbose, pct = pct, sn = sn)
34: FUN(X[[i]], ...)
35: lapply(X = X, FUN = FUN, ...)
36: sapply(data, function(spp) {    checkFB <- check_names(data = spp, verbose = verbose, pct = pct,         sn = sn)    if (is.na(checkFB)) {        checksppx <- spp    }    else {        checksppx <- checkFB    }    sapply(db, FUN = function(xdb) {        if (xdb == "gbif") {            ndata <- tryCatch(expr = rgbif::occ_count(scientificName = checksppx),                 error = function(e) {                  if (grepl(" HTTP2 framing layer", e$message) ==                     TRUE) {                    if (isTRUE(warn))                       warning("GBIF webpage is misbehvaing and return HTTP2 frame layer message",                         call. = FALSE)                    return(NULL)                  }                })            if (!is.null(ndata)) {                if (ndata == 0) {                  if (isTRUE(verbose))                     message("No records found for ", checksppx,                       " in GBIF")                  gbifx <- NULL                }                else if (ndata <= 50000 & is.null(extent)) {                  if (gbiflim <= 50000) {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded based on the gbiflimit of ",                         gbiflim)                    gbifx <- gbifsp$data                  }                  else {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = ndata)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were download as they were the maximum records found.")                    gbifx <- gbifsp$data                  }                }                else if (!is.null(extent)) {                  extval <- extentvalues(extent, xdb)                  if (gbiflim <= 50000) {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim, decimalLongitude = paste0(extval[1],                         ",", extval[3]), decimalLatitude = paste0(extval[2],                         ",", extval[4]), ...)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded based on the gbif limit of ",                         gbiflim)                  }                  else {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim, decimalLongitude = paste0(extval[1],                         ",", extval[3]), decimalLatitude = paste0(extval[2],                         ",", extval[4]), ...)                    if (isTRUE(verbose))                       message("All ", nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded")                  }                  gbifx <- gbifsp$data                }                else if (ndata > 50000 && is.null(extent)) {                  if (isTRUE(verbose))                     message("Only ", gbiflim, " records will be downloaded.")                  gbifsp <- rgbif::occ_data(scientificName = checksppx,                     limit = gbiflim, ...)                  gbifx <- gbifsp$data                }                else {                  gbifx = NULL                }                if (is(gbifx, "data.frame")) {                  if ("decimalLatitude" %in% colnames(gbifx) ==                     TRUE) {                    gbifx                  }                  else {                    if (isTRUE(warn))                       warning("The data for ", checksppx, " will be removed since no cordinates were found in GBIF database.",                         call. = FALSE)                    gbifx <- NULL                  }                }                else {                  gbifx = NULL                }            }            else {                gbifx <- NULL            }        }        else if (xdb == "vertnet") {            sptx <- scan(text = checksppx, what = " ", quiet = TRUE)            if (!is.null(extent))                 vbbox <- extentvalues(extent, xdb)            else vbbox <- NULL            vertx <- tryCatch(rvertnet::searchbyterm(genus = tolower(sptx[1]),                 specificepithet = tolower(sptx[2]), limit = vertlim,                 messages = FALSE, bbox = vbbox), error = function(e) {                if (grepl("Internal Server Error \\(HTTP 500\\)",                   e$message) == TRUE | grepl("Service Unavailable \\(HTTP 503\\)",                   e$message) == TRUE) {                  if (isTRUE(warn))                     warning("The VertNet database has returned 500 or 503 error message and will be skipped for ",                       checksppx, ".", call. = FALSE)                  return(NULL)                }                else {                  return(NULL)                }            })            if (is.null(vertx)) {                if (isTRUE(verbose))                   message("No records for ", checksppx, " in vertnet were found")                vertxdf <- NULL            }            else {                vertxdf <- vertx$data                if (isTRUE(verbose))                   message(nrow(vertxdf), " records for ", checksppx,                     " in vertnet downloaded.")                vertxdf            }        }        else if (xdb == "inat") {            if (!is.null(extent))                 vbbox <- extentvalues(extent, xdb)            else vbbox <- NULL            inatx <- tryCatch(expr = {                sx <- rinat::get_inat_obs(taxon_name = checksppx,                   maxresults = inatlim, bounds = vbbox)            }, error = function(e) {                if (isTRUE(verbose))                   message("No data exist for species ", checksppx,                     " in inaturalist were found.")                return(0)            })            if (length(inatx) > 1) {                inatx <- sx                if (isTRUE(verbose))                   message(nrow(inatx), " records for ", checksppx,                     " in inaturalist downloaded.")                inatx            }            else {                inatx <- NULL            }        }        else {            stop("Database name not acceptable. Use only gbif, vertnet, or inat")        }    }, simplify = FALSE)}, simplify = FALSE)
37: getdata(data = c("Squalius cephalus", "Salmo trutta", "Thymallus thymallus",     "Anguilla anguilla"), extent = danube, gbiflim = 50, inatlim = 50,     vertlim = 50, verbose = FALSE)
38: eval(expr, envir)
39: eval(expr, envir)
40: withVisible(eval(expr, envir))
41: 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)})
42: eval(call)
43: eval(call)
44: 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)
45: doWithOneRestart(return(expr), restart)
46: withOneRestart(expr, restarts[[1L]])
47: withRestartList(expr, restarts[-nr])
48: doWithOneRestart(return(expr), restart)
49: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
50: withRestartList(expr, restarts)
51: 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)
52: evaluate::evaluate(...)
53: 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))
54: in_dir(input_dir(), expr)
55: 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)))
56: eng_r(options)
57: block_exec(params)
58: call_block(x)
59: process_group(group)
60: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    })
61: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    }), function(loc) {    setwd(wd)    write_utf8(res, output %n% stdout())    paste0("\nQuitting from ", loc, if (!is.null(error))         paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
62: process_file(text, output)
63: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
64: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(),     output_dir = getwd(), ...)
65: vweave_rmarkdown(...)
66: engine$weave(file, quiet = quiet, encoding = enc)
67: doTryCatch(return(expr), name, parentenv, handler)
68: tryCatchOne(expr, names, parentenv, handlers[[1L]])
69: tryCatchList(expr, classes, parentenv, handlers)
70: 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)))})
71: tools:::.buildOneVignette("eOutlier.Rmd", "/data/gannet/ripley/R/packages/tests-clang/specleanr.Rcheck/vign_test/specleanr",     TRUE, FALSE, "eOutlier", "UTF-8", "/tmp/Rtmpj0fi5j/working_dir/RtmpaAEPGU/file3155dd4bd7db89.rds")
An irrecoverable exception occurred. R is aborting now ...
--- re-building ‘generaloutlier.Rmd’ using rmarkdown
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘generaloutlier.Rmd’

--- re-building ‘loessmethodoptimisation.Rmd’ using rmarkdown
[gannet:3248903:0:3248903] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
==== backtrace (tid:3248903) ====
 0  /lib64/libucs.so.0(ucs_handle_error+0x2e4) [0x7f7aa304ddf4]
 1  /lib64/libucs.so.0(+0x17aed) [0x7f7aa304faed]
 2  /lib64/libucs.so.0(+0x17cbd) [0x7f7aa304fcbd]
 3  /lib64/libc.so.6(+0x19c30) [0x7f7ab9929c30]
 4  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x10e6460) [0x7f79444e6460]
 5  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x10c5108) [0x7f79444c5108]
 6  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x7d5b74) [0x7f7943bd5b74]
 7  /data/gannet/ripley/.local/share/R/duckdb/extensions/v1.4.2/linux_amd64/spatial.duckdb_extension(+0x7d4119) [0x7f7943bd4119]
 8  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb15ExtensionHelper29LoadExternalExtensionInternalERNS_16DatabaseInstanceERNS_10FileSystemERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERNS_19ExtensionActiveLoadE+0x1b4) [0x7f79d95715f4]
 9  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb15ExtensionHelper21LoadExternalExtensionERNS_16DatabaseInstanceERNS_10FileSystemERKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE+0x4a) [0x7f79d957137a]
10  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZNK6duckdb12PhysicalLoad7GetDataERNS_16ExecutionContextERNS_9DataChunkERNS_19OperatorSourceInputE+0x151) [0x7f79da3ab6b1]
11  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb16PipelineExecutor15FetchFromSourceERNS_9DataChunkE+0x9f) [0x7f79dab5d5df]
12  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb16PipelineExecutor7ExecuteEm+0x133) [0x7f79dab5a073]
13  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb12PipelineTask11ExecuteTaskENS_17TaskExecutionModeE+0x119) [0x7f79dab59ca9]
14  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb12ExecutorTask7ExecuteENS_17TaskExecutionModeE+0xa0) [0x7f79dab535c0]
15  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb8Executor11ExecuteTaskEb+0x24a) [0x7f79dab58b8a]
16  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb13ClientContext19ExecuteTaskInternalERNS_17ClientContextLockERNS_15BaseQueryResultEb+0x40) [0x7f79da998280]
17  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb18PendingQueryResult15ExecuteInternalERNS_17ClientContextLockE+0x7a) [0x7f79da99a7ba]
18  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_ZN6duckdb17PreparedStatement7ExecuteERNS_6vectorINS_5ValueELb1EEEb+0x5a) [0x7f79da9bad1a]
19  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_Z12rapi_executeN5cpp1116external_pointerIN6duckdb10RStatementEXadL_ZNS_15default_deleterIS2_EEvPT_EEEENS1_11ConvertOptsE+0x115) [0x7f79d9301b95]
20  /data/gannet/ripley/R/test-clang/duckdb/libs/duckdb.so(_duckdb_rapi_execute+0x63) [0x7f79d936a8f3]
21  /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8e564) [0x55a4a6a03564]
22  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdd470) [0x55a4a6a52470]
23  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x55a4a6a3b2ac]
24  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x55a4a6a3aa35]
25  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x55a4a6a3b534]
26  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x26e) [0x55a4a6a3aafe]
27  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x55a4a6a3b534]
28  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdf5b0) [0x55a4a6a545b0]
29  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcaf92) [0x55a4a6a3ff92]
30  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x55a4a6a3b2ac]
31  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x55a4a6a3aa35]
32  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x55a4a6a57e29]
33  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x55a4a6a5732c]
34  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x55a4a6a3ae86]
35  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc6534) [0x55a4a6a3b534]
36  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xdf5b0) [0x55a4a6a545b0]
37  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcaf92) [0x55a4a6a3ff92]
38  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x55a4a6a3b2ac]
39  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x55a4a6a3aa35]
40  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x55a4a6a57e29]
41  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x55a4a6a5732c]
42  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x55a4a6a3ae86]
43  /data/gannet/ripley/R/test-clang/rlang/libs/rlang.so(+0x4603) [0x7f7aafabb603]
44  /data/gannet/ripley/R/R-clang/bin/exec/R(+0x8c6b3) [0x55a4a6a016b3]
45  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcdeab) [0x55a4a6a42eab]
46  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x55a4a6a3b2ac]
47  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x55a4a6a3aa35]
48  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x55a4a6a57e29]
49  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x55a4a6a5732c]
50  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x5f6) [0x55a4a6a3ae86]
51  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe83d8) [0x55a4a6a5d3d8]
52  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x3d0) [0x55a4a6a3ac60]
53  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe74eb) [0x55a4a6a5c4eb]
54  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x3d0) [0x55a4a6a3ac60]
55  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x55a4a6a57e29]
56  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe232c) [0x55a4a6a5732c]
57  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xcd6b3) [0x55a4a6a426b3]
58  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xc62ac) [0x55a4a6a3b2ac]
59  /data/gannet/ripley/R/R-clang/bin/exec/R(Rf_eval+0x1a5) [0x55a4a6a3aa35]
60  /data/gannet/ripley/R/R-clang/bin/exec/R(+0xe2e29) [0x55a4a6a57e29]
61  /data/gannet/ripley/R/R-clang/bin/exec/R(R_execMethod+0x2cb) [0x55a4a6a5ac5b]
=================================

 *** caught segfault ***
address 0x4d200319307, cause 'unknown'

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 spatial;")
17: DBI::dbExecute(conn, "LOAD spatial;")
18: cached_connection()
19: DBI::dbGetQuery(conn, query)
20: duckdb_extensions()
21: load_extension("httpfs", conn = conn, nightly = nightly, force = force)
22: load_httpfs(conn)
23: parse_uri(sources, conn = conn, recursive = recursive)
24: duckdbfs::open_dataset(urls[tbl])
25: fb_tbl("synonyms", server, version, db)
26: mutate(., synonym = paste(SynGenus, SynSpecies))
27: select(., dplyr::any_of(c("synonym", "Status", "SpecCode", "SynCode",     "CoL_ID", "TSN", "WoRMS_ID", "ZooBank_ID", "TaxonLevel")))
28: fb_tbl("synonyms", server, version, db) %>% mutate(synonym = paste(SynGenus,     SynSpecies)) %>% select(dplyr::any_of(c("synonym", "Status",     "SpecCode", "SynCode", "CoL_ID", "TSN", "WoRMS_ID", "ZooBank_ID",     "TaxonLevel")))
29: rfishbase::synonyms()
30: withCallingHandlers(expr, message = function(c) if (inherits(c,     classes)) tryInvokeRestart("muffleMessage"))
31: suppressMessages(rfishbase::synonyms())
32: fishbase(tables = "synonym")
33: check_names(data = spp, verbose = verbose, pct = pct, sn = sn)
34: FUN(X[[i]], ...)
35: lapply(X = X, FUN = FUN, ...)
36: sapply(data, function(spp) {    checkFB <- check_names(data = spp, verbose = verbose, pct = pct,         sn = sn)    if (is.na(checkFB)) {        checksppx <- spp    }    else {        checksppx <- checkFB    }    sapply(db, FUN = function(xdb) {        if (xdb == "gbif") {            ndata <- tryCatch(expr = rgbif::occ_count(scientificName = checksppx),                 error = function(e) {                  if (grepl(" HTTP2 framing layer", e$message) ==                     TRUE) {                    if (isTRUE(warn))                       warning("GBIF webpage is misbehvaing and return HTTP2 frame layer message",                         call. = FALSE)                    return(NULL)                  }                })            if (!is.null(ndata)) {                if (ndata == 0) {                  if (isTRUE(verbose))                     message("No records found for ", checksppx,                       " in GBIF")                  gbifx <- NULL                }                else if (ndata <= 50000 & is.null(extent)) {                  if (gbiflim <= 50000) {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded based on the gbiflimit of ",                         gbiflim)                    gbifx <- gbifsp$data                  }                  else {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = ndata)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were download as they were the maximum records found.")                    gbifx <- gbifsp$data                  }                }                else if (!is.null(extent)) {                  extval <- extentvalues(extent, xdb)                  if (gbiflim <= 50000) {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim, decimalLongitude = paste0(extval[1],                         ",", extval[3]), decimalLatitude = paste0(extval[2],                         ",", extval[4]), ...)                    if (isTRUE(verbose))                       message(nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded based on the gbif limit of ",                         gbiflim)                  }                  else {                    gbifsp <- rgbif::occ_data(scientificName = checksppx,                       limit = gbiflim, decimalLongitude = paste0(extval[1],                         ",", extval[3]), decimalLatitude = paste0(extval[2],                         ",", extval[4]), ...)                    if (isTRUE(verbose))                       message("All ", nrow(gbifsp$data), " records for ",                         checksppx, " in GBIF were downloaded")                  }                  gbifx <- gbifsp$data                }                else if (ndata > 50000 && is.null(extent)) {                  if (isTRUE(verbose))                     message("Only ", gbiflim, " records will be downloaded.")                  gbifsp <- rgbif::occ_data(scientificName = checksppx,                     limit = gbiflim, ...)                  gbifx <- gbifsp$data                }                else {                  gbifx = NULL                }                if (is(gbifx, "data.frame")) {                  if ("decimalLatitude" %in% colnames(gbifx) ==                     TRUE) {                    gbifx                  }                  else {                    if (isTRUE(warn))                       warning("The data for ", checksppx, " will be removed since no cordinates were found in GBIF database.",                         call. = FALSE)                    gbifx <- NULL                  }                }                else {                  gbifx = NULL                }            }            else {                gbifx <- NULL            }        }        else if (xdb == "vertnet") {            sptx <- scan(text = checksppx, what = " ", quiet = TRUE)            if (!is.null(extent))                 vbbox <- extentvalues(extent, xdb)            else vbbox <- NULL            vertx <- tryCatch(rvertnet::searchbyterm(genus = tolower(sptx[1]),                 specificepithet = tolower(sptx[2]), limit = vertlim,                 messages = FALSE, bbox = vbbox), error = function(e) {                if (grepl("Internal Server Error \\(HTTP 500\\)",                   e$message) == TRUE | grepl("Service Unavailable \\(HTTP 503\\)",                   e$message) == TRUE) {                  if (isTRUE(warn))                     warning("The VertNet database has returned 500 or 503 error message and will be skipped for ",                       checksppx, ".", call. = FALSE)                  return(NULL)                }                else {                  return(NULL)                }            })            if (is.null(vertx)) {                if (isTRUE(verbose))                   message("No records for ", checksppx, " in vertnet were found")                vertxdf <- NULL            }            else {                vertxdf <- vertx$data                if (isTRUE(verbose))                   message(nrow(vertxdf), " records for ", checksppx,                     " in vertnet downloaded.")                vertxdf            }        }        else if (xdb == "inat") {            if (!is.null(extent))                 vbbox <- extentvalues(extent, xdb)            else vbbox <- NULL            inatx <- tryCatch(expr = {                sx <- rinat::get_inat_obs(taxon_name = checksppx,                   maxresults = inatlim, bounds = vbbox)            }, error = function(e) {                if (isTRUE(verbose))                   message("No data exist for species ", checksppx,                     " in inaturalist were found.")                return(0)            })            if (length(inatx) > 1) {                inatx <- sx                if (isTRUE(verbose))                   message(nrow(inatx), " records for ", checksppx,                     " in inaturalist downloaded.")                inatx            }            else {                inatx <- NULL            }        }        else {            stop("Database name not acceptable. Use only gbif, vertnet, or inat")        }    }, simplify = FALSE)}, simplify = FALSE)
37: getdata(data = c("Squalius cephalus", "Salmo trutta", "Thymallus thymallus"),     extent = danube, gbiflim = 50, inatlim = 50, vertlim = 50,     verbose = FALSE)
38: eval(expr, envir)
39: eval(expr, envir)
40: withVisible(eval(expr, envir))
41: 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)})
42: eval(call)
43: eval(call)
44: 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)
45: doWithOneRestart(return(expr), restart)
46: withOneRestart(expr, restarts[[1L]])
47: withRestartList(expr, restarts[-nr])
48: doWithOneRestart(return(expr), restart)
49: withOneRestart(withRestartList(expr, restarts[-nr]), restarts[[nr]])
50: withRestartList(expr, restarts)
51: 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)
52: evaluate::evaluate(...)
53: 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))
54: in_dir(input_dir(), expr)
55: 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)))
56: eng_r(options)
57: block_exec(params)
58: call_block(x)
59: process_group(group)
60: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    })
61: xfun:::handle_error(withCallingHandlers(if (tangle) process_tangle(group) else process_group(group),     error = function(e) {        if (progress && is.function(pb$interrupt))             pb$interrupt()        if (xfun::pkg_available("rlang", "1.0.0")) {            if (is_R_CMD_build() || is_R_CMD_check()) {                cnd = tryCatch(rlang::entrace(e), error = identity)                error <<- format(cnd)            }            else {                rlang::entrace(e)            }        }    }), function(loc) {    setwd(wd)    write_utf8(res, output %n% stdout())    paste0("\nQuitting from ", loc, if (!is.null(error))         paste0("\n", rule(), error, "\n", rule()))}, if (labels[i] != "") sprintf(" [%s]", labels[i]), get_loc)
62: process_file(text, output)
63: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
64: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(),     output_dir = getwd(), ...)
65: vweave_rmarkdown(...)
66: engine$weave(file, quiet = quiet, encoding = enc)
67: doTryCatch(return(expr), name, parentenv, handler)
68: tryCatchOne(expr, names, parentenv, handlers[[1L]])
69: tryCatchList(expr, classes, parentenv, handlers)
70: 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)))})
71: tools:::.buildOneVignette("loessmethodoptimisation.Rmd", "/data/gannet/ripley/R/packages/tests-clang/specleanr.Rcheck/vign_test/specleanr",     TRUE, FALSE, "loessmethodoptimisation", "UTF-8", "/tmp/Rtmpj0fi5j/working_dir/RtmpaAEPGU/file3155dd313058b3.rds")
An irrecoverable exception occurred. R is aborting now ...
SUMMARY: processing the following files failed:
  ‘Plants.Rmd’ ‘eOutlier.Rmd’ ‘loessmethodoptimisation.Rmd’

Error: Vignette re-building failed.
Execution halted