The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

CRAN Package Check Results for Package nlmixr2est

Last updated on 2026-10-13 05:51:40 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 7.1.0 520.03 355.41 875.44 ERROR
r-devel-linux-x86_64-debian-gcc 7.1.0 460.32 307.07 767.39 OK
r-devel-linux-x86_64-fedora-clang 7.1.0 385.00 277.78 662.78 OK
r-devel-linux-x86_64-fedora-gcc 7.1.0 565.00 285.35 850.35 OK
r-devel-windows-x86_64 7.1.0 654.00 632.00 1286.00 OK
r-patched-linux-x86_64 7.1.0 594.80 412.68 1007.48 OK
r-release-linux-x86_64 7.1.0 604.91 406.33 1011.24 OK
r-release-macos-arm64 7.1.0 114.00 38.00 152.00 OK
r-release-macos-x86_64 7.1.0 408.00 275.00 683.00 OK
r-release-windows-x86_64 7.1.0 665.00 574.00 1239.00 OK
r-oldrel-macos-arm64 7.1.0 113.00 39.00 152.00 OK
r-oldrel-macos-x86_64 7.1.0 406.00 273.00 679.00 OK
r-oldrel-windows-x86_64 7.1.0 846.00 658.00 1504.00 OK

Check Details

Version: 7.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [32s/44s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(data.table) Attaching package: 'data.table' The following object is masked from 'package:base': %notin% > library(rxode2) rxode2 5.1.7.1 using 3 threads (see ?getRxThreads) no cache: create with `rxCreateCache()` > library(nlmixr2est) Loading required package: nlmixr2data Attaching package: 'nlmixr2est' The following objects are masked from 'package:rxode2': boxCox, yeoJohnson > > # Test thread policy (kept deliberately simple): > # * testthat workers: SERIAL (in-process) on CI or CRAN; everywhere else > # testthat manages Config/testthat/parallel normally. Serial rather than > # a single parallel worker: with 1 worker parallel mode adds nothing but > # the callr message pipe, and that pipe base64-serializes every non-success > # test event -- an *erroring* test whose backtrace inlines a large object > # (any do.call(f, list(<fit/data>)) frame) ships the whole object through > # it at ~18x its size in the orchestrator (measured), and a single >1.5GB > # payload kills the whole run with "Error in gsub: result string is too > # long" (R's 2GB string cap). This is what "the runner has received a > # shutdown signal" / runner-OOM windows+devel failures were. Serial mode > # has no pipe, and streams output so a hung/failing file is identifiable > # from testthat.Rout. > # * rxode2 (and data.table) within-solve threads: capped to 2 on CRAN, per > # CRAN's two-core policy; on CI and locally rxode2 manages its own threads. > # Platforms that only need to prove the package BUILDS and checks (macOS and > # Windows in R-CMD-check.yaml) run the CRAN-visible subset instead of the full > # NOT_CRAN suite. The same `checking tests` step costs ~19 min on an Ubuntu > # runner and ~5h45m on macOS/Windows -- model compilation dominates there -- which > # blew GitHub's hard 6-hour job limit and left those jobs cancelled, i.e. giving > # no signal at all. Ubuntu still runs the full essential subset. > if (isTRUE(as.logical(Sys.getenv("NLMIXR2EST_TEST_CRAN_ONLY", "false")))) { + Sys.setenv("NOT_CRAN" = "false") # nolint + } > > .onCran <- !identical(Sys.getenv("NOT_CRAN"), "true") > .onCI <- isTRUE(as.logical(Sys.getenv("CI", "false"))) > > if (.onCI || .onCran) { + options(Ncpus = 1L) + Sys.setenv(TESTTHAT_CPUS = "1") + Sys.setenv(TESTTHAT_PARALLEL = "FALSE") + } > if (.onCran) { + setRxThreads(2L) + setDTthreads(2L) + } > if (identical(Sys.info()[["sysname"]], "Darwin")) { + rxode2::rxUnloadAll(set = FALSE) + } > > # ------------------------------------------------------------------------- > # CI test partitioning > # > # The full suite takes many hours on a single-worker CI runner, so push/PR > # R-CMD-check runs only the "essential" subset -- every test file EXCEPT the > # slow ones listed in .slowBatches below (still much more than CRAN). > # > # The slow files run separately in the slow-tests workflow, split into > # batches that each stay under ~1h and run one-at-a-time (non-overlapping). > # That workflow sets NLMIXR2EST_TEST_BATCH=<n> to run only batch n's files. > # > # Names are the test file basename with the leading "test-" and trailing > # ".R" removed (what testthat's `filter` matches). When a test file grows > # past a few minutes, move it into one of the batches here. > # ------------------------------------------------------------------------- > # Batches are sized from measured single-worker run times so each stays well > # under an hour; the slow-tests workflow runs them one at a time. > .slowBatches <- list( + # batch 1 + c( + "focei-wang2007-boxcox", + "focei-wang2007-combined", + "vpcSim", + "qrpem-slow", + "focei-foce-plus", + "imp-proposal-slow" + ), + # batch 2 + c( + "focei-wang2007-lognormal", + "cov-analytic", + "focei-wang2007-power", + "cov-condition", + "agq-cov", + "cov-decouple-saimp", + "cov-scope-swap" + ), + # batch 3 + c( + "focei-wang2007-boxcox-half", + "nlm-cens", + "focei-cens-t-fit", + "mtime-fit", + "issue-429", + "issue-470", + "focei-wang2007-bounded", + "saem-loglik", + "mu-timevarying", + "saem-nearpd", + "saem-nonmutheta", + "focei-theta-reset-bounds", + "saem-cov-analytic", + "focei-shi21-bounds", + "splitbolus-interp", + "optexpression-saem-nlme", + "saem-cov-multi-endpoint-904", + "saem-modeled-resid-fit" + ), + + # batches 4-7 -- the former batches 4 (13 files) and 5 (15 files), each split + # in two. Both TIMED OUT on the weekly runner (run 30688874991, 2026-08-01): + # "the runner has received a shutdown signal", exit 143, after ~3h06m of test + # time, so they reported NO assertion results at all. A meaningful slice of + # the suite therefore had no CI signal, which is how a wrong nlm adjoint + # gradient and several stale assertions survived here unnoticed. Each + # focei-wang2007-* file is kept in a separate batch -- one is ~10 error models + # x 6 fits (ODE and solved-form) and dominates whatever batch it lands in. + # batch 4 + c( + "impmap", + "imp-prior", + "matexp", + "mfocei", + "focei-wang2007-yeojohnson", + "nlme", + "focei-fast-grad", + "lincmt-ode-fit", + "focei-lincmt-carry-fit", + "focei-lincmt-carry-fit-fallback", + "focei-lincmt-carry-jump-fit", + "focei-lincmt-carry-ll-fit", + "focei-lincmt-carry-theta-fit" + ), + # batch 5 + c( + "focei-wang2007-boxcox-lnorm", + "nlme-cov", + "agq-fast-grad", + "focei-ll-fast-grad-fit", + "focei-fast-methods-fit", + "odeswap-fit", + "focei-factr-fit", + "focei-reproducible", + "focei-hessian-etastep", + "focei-outer-hessian-fit", + "focei-outer-hessian-nlminb-fit", + "focei-outer-hessian-family", + "focei-outer-hessian-censor" + ), + # batch 6 + c( + "focei-llik", + "iov", + "iov-zero-eta", + "saem-mix", + "saem-mix-regress", + "posthoc", + "ar-est", + "mu-family", + "uninformative-etas-revisit", + "saem-iov-twolevel-fit", + "iov-loglik-1000" + ), + # batch 7 + c( + "mu-plain-fit", + "vae-fit", + "focei-wang2007-basic", + "vae-neonatal", + "vae-errmodel", + "table-cmt", + "vae-covariate-selection" + ), + # batch 8 -- heaviest remaining files on the single-worker CI runner + # (VAE internals + a few slow structural tests), moved out of the essential + # push/PR subset to trim its wall time / reclamation exposure. + c( + "vae-encoder", + "vae-train", + "vae-decoder", + "vae-elbo", + "vae-inner", + "vae-fixbounds", + "vae-parhist", + "vae-iov", + "vae-grad-fit", + "vae-ll-grad-fit", + "vae-l0learn-fit", + "vae-hockey-fit", + "vae-colinear-fit", + "split", + "unary-mu", + "timing", + "bounded-transform" + ), + # batch 9 -- emvi/fbvi (variational inference) multi-iteration fits, plus the + # cross-method omega off-diagonal fit checks (vae/emvi/npag/npb) + c( + "vi-repro", + "vi-focei-agreement", + "vi-neonatal", + "vi-fullrank", + "vi-fullbayes", + "vi-stan", + "omega-offdiag", + "augpred", + "vae-residopt" + ), + # batch 10 -- nonparametric (npag/npb) fit-based validation. These set up the + # FOCEi inner problem and run full NPAG cycles / independent solves, so they are + # much slower than the essential npag unit tests (dispatch/ipm/grid, which stay + # in the push/PR subset) and run weekly only. + c( + "npag-psi", + "npag-cycle", + "npag-fit", + "npb-fit", + "npag-bimodal", + "npag-fixed", + "npag-error-models", + "npag-mixture", + "npag-general-lik", + "npag-muexpand", + "npag-golden", + "lik-contrib-methods", + "npag-npb-cens-978" + ) + ) > .slowAll <- unlist(.slowBatches) > > .batch <- Sys.getenv("NLMIXR2EST_TEST_BATCH") > > .filter <- NULL > if (nzchar(.batch)) { + # Slow-batch mode: run ONLY this batch's slow files. + .b <- suppressWarnings(as.integer(.batch)) + if (is.na(.b) || .b < 1L || .b > length(.slowBatches)) { + stop(sprintf( + "NLMIXR2EST_TEST_BATCH=%s out of range (1..%d)", + .batch, + length(.slowBatches) + )) + } + .files <- .slowBatches[[.b]] + if (length(.files) == 0L) { + .filter <- "^$" # empty batch: match nothing + } else { + .filter <- paste0("^(", paste(.files, collapse = "|"), ")$") + } + } else if (.onCI && !.onCran && length(.slowAll) > 0L) { + # Essential subset on push/PR CI: everything EXCEPT the slow files. + # + # NLMIXR2EST_TEST_SHARD="i/n" splits that subset across n parallel jobs. A + # hosted runner reclaims a long job mid-run ("exit code 143 / The runner has + # received a shutdown signal"), and runner speed varies enormously -- the same + # `checking tests` step measured 27m on one ubuntu-release runner and was still + # going at 4h15m on another before being reclaimed. Sharding keeps every job + # short enough to finish without dropping a single test file. + .shard <- Sys.getenv("NLMIXR2EST_TEST_SHARD") + if (nzchar(.shard)) { + .p <- strsplit(.shard, "/", fixed = TRUE)[[1]] + .i <- suppressWarnings(as.integer(.p[1])) + .n <- suppressWarnings(as.integer(.p[2])) + if (length(.p) != 2L || is.na(.i) || is.na(.n) || .n < 1L || .i < 1L || .i > .n) { + stop(sprintf("NLMIXR2EST_TEST_SHARD=%s must be \"i/n\" with 1 <= i <= n", .shard)) + } + # Deal the files out round-robin over a SORTED list so the split is stable + # across jobs and platforms, and every file lands in exactly one shard. + .all <- sort(sub( + "^test-", + "", + sub( + "\\.R$", + "", + basename(Sys.glob(file.path("testthat", "test-*.R"))) + ) + )) + .ess <- setdiff(.all, .slowAll) + # An empty list would make every shard match nothing and report a green run + # having tested nothing at all -- fail loudly instead. + if (length(.ess) == 0L) { + stop("NLMIXR2EST_TEST_SHARD set but no test files found in ./testthat") + } + .mine <- .ess[seq_along(.ess) %% .n == (.i %% .n)] + .filter <- if (length(.mine) == 0L) { + "^$" + } else { + paste0("^(", paste(.mine, collapse = "|"), ")$") + } + } else { + .filter <- paste0("^(?!(", paste(.slowAll, collapse = "|"), ")$)") + } + } > # Locally (and on CRAN) .filter stays NULL -> run everything. > > # stop_on_failure MUST stay TRUE (the default). It was set to FALSE in > # 4af6a7eba as a debugging aid ("Be more verbose in testthat to track-down > # future seg faults"), and with it R CMD check never errors on a test failure > # -- so `checking tests` passed no matter what. The run on main at 722e5775 > # reported SUCCESS while its three shards printed FAIL 8, FAIL 2 and FAIL 3; > # thirteen real failures had reached main with a green badge the whole way. > # If a segfault ever needs that verbosity again, set it for the one run > # (R_TESTTHAT_... / an env guard), never in the committed harness. > test_check("nlmixr2est", filter = .filter, perl = TRUE) [skip] CRAN: not computing fixture fit: one.compartment.fit.saem [skip] CRAN: not computing fixture fit: one.compartment.fit.saem.cwres [skip] CRAN: not computing fixture fit: one.compartment.fit.focei [skip] CRAN: not computing fixture fit: one.compartment.fit.focei.fast [skip] CRAN: not computing fixture fit: one.compartment.fit.foce [skip] CRAN: not computing fixture fit: one.compartment.fit.foi [skip] CRAN: not computing fixture fit: one.compartment.fit.fo [skip] CRAN: not computing fixture fit: one.compartment.fit.posthoc [skip] CRAN: not computing fixture fit: one.compartment.with.lag.fit.focei [skip] CRAN: not computing fixture fit: one.compartment.with.lag.fit.saem [ok] Helper-fits.R loaded successfully Cache version: v1.0.2-nlmixr2est-7.1.0- Cache directory: ./fixtures > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate sensitivities [====|====|====|====|====|====|====|====|====|====] 0:00:00 > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > calculate d(R^2)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > finding duplicate expressions in inner model... > finding duplicate expressions in EBE model... > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > calculate d(f)/d(eta) [====|====|====|====|====|====|====|====|====|====] 0:00:00 > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done > loading into symengine environment... > pruning branches (`if`/`else`) of full model... v done *** caught segfault *** tracked pnodes address 0x4, cause 'memory not mapped' Traceback: 1: .rxOptExprC(.norm) 2: rxOptExpr(.txt, msg = msg, chunkLines = 0L) 3: .rxOptExprChunked(x, msg = msg, chunkLines = .chunkLines, parallel = parallel) 4: rxode2::rxOptExpr(.s$..inner, ifelse(.getRxPredLlikOption(), "inner llik model", "inner model"), parallel = cores) 5: .rxFinalizeInner(.s, .sumProd, .optExpression, .cores) 6: rxUiGet.foceiEnv(.obj) 7: rxUiGet(.obj) 8: `$.rxUi`(.carryUiJump(), foceiEnv) 9: .carryUiJump()$foceiEnv 10: withCallingHandlers(expr, message = function(c) if (inherits(c, classes)) tryInvokeRestart("muffleMessage")) 11: suppressMessages(.carryUiJump()$foceiEnv) 12: eval(code, test_env) 13: eval(code, test_env) 14: 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) 15: doTryCatch(return(expr), name, parentenv, handler) 16: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17: tryCatchList(expr, classes, parentenv, handlers) 18: 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) 19: doWithOneRestart(return(expr), restart) 20: withOneRestart(expr, restarts[[1L]]) 21: 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() { }) 22: test_code(code, parent.frame()) 23: test_that("the jump block is emitted with the pin, amounts/lag trackers and indicators", { skip_if_not(.carryJumpCapable()) txt <- suppressMessages(.carryUiJump()$foceiEnv)$..inner expect_true(grepl(", -8, 0,", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryPin_~", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryD0_~(rx_lcCarryA0_-rx_lcCarryPA0_)", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryDel_~ifelse(", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryKP1_~", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryUA0_~", txt, fixed = TRUE)) expect_true(grepl("rx_lcCarryUL0_~", txt, fixed = TRUE)) expect_equal(lengths(regmatches(txt, gregexpr("rx_lcCarryAdv_~", txt))), 1L) expect_true(grepl("rx__sens_rx_pred__BY_ETA_2___=rx_lcCarryS1r1_/", txt)) expect_true(grepl("rx__sens_rx_pred__BY_ETA_3___=rx_lcCarryS2r1_/", txt)) }) 24: eval(code, test_env) 25: eval(code, test_env) 26: 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) 27: doTryCatch(return(expr), name, parentenv, handler) 28: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 29: tryCatchList(expr, classes, parentenv, handlers) 30: 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) 31: doWithOneRestart(return(expr), restart) 32: withOneRestart(expr, restarts[[1L]]) 33: 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() { }) 34: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 35: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call) 36: FUN(X[[i]], ...) 37: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call) 38: doTryCatch(return(expr), name, parentenv, handler) 39: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 40: tryCatchList(expr, classes, parentenv, handlers) 41: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 42: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)) 43: 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) 44: 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) 45: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 46: test_check("nlmixr2est", filter = .filter, perl = TRUE) An irrecoverable exception occurred. R is aborting now ... Segmentation fault Flavor: r-devel-linux-x86_64-debian-clang

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.