R Under development (unstable) (2025-12-24 r89227) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > Sys.setenv(OMP_THREAD_LIMIT = Sys.getenv("OMP_THREAD_LIMIT", "2")) > require(data.table) Loading required package: data.table Attaching package: 'data.table' The following object is masked from 'package:base': %notin% > > test.data.table() # runs the main test suite of 5,000+ tests in /inst/tests/tests.Rraw getDTthreads(verbose=TRUE): OpenMP version (_OPENMP) 201511 omp_get_num_procs() 4 R_DATATABLE_NUM_PROCS_PERCENT unset (default 50) R_DATATABLE_NUM_THREADS unset R_DATATABLE_THROTTLE unset (default 1024) omp_get_thread_limit() 2147483647 omp_get_max_threads() 4 OMP_THREAD_LIMIT 2 OMP_NUM_THREADS unset RestoreAfterFork true data.table is using 2 threads with throttle==1024. See ?setDTthreads. test.data.table() running: /builds/Rdatatable/data.table/data.table.Rcheck/data.table/tests/tests.Rraw **** Full long double accuracy is not available. Tests using this will be skipped. *** caught segfault *** address 0x6, cause 'memory not mapped' Traceback: 1: all.equal(ax, ay, ..., check.attributes = check.attributes) 2: attr.all.equal(target, current, tolerance = tolerance, scale = scale, ...) 3: all.equal.numeric(x, y, check.names = !isTRUE(y)) 4: all.equal(x, y, check.names = !isTRUE(y)) 5: isTRUE(all.equal.result <- all.equal(x, y, check.names = !isTRUE(y))) 6: test(1252 + test_no * 0.001, ans1[ans1 != 0], with(DT, eval(ll))) 7: FUN(newX[, i], ...) 8: apply(cj, 1, function(y) { test_no <<- test_no + 1L ll = as.call(c(as.name("base_order"), method = "radix", lapply(seq_along(x), function(j) { if (y[j] == 1L) as.name(x[j]) else { if (is.character(DT[[x[j]]])) as.call(c(as.name("-"), as.call(list(as.name("xtfrm"), as.name(x[j]))))) else as.call(list(as.name("-"), as.name(x[j]))) } }))) ans1 = forderv(DT, by = x, order = y, na.last = TRUE) test(1252 + test_no * 0.001, ans1, with(DT, eval(ll))) test_no <<- test_no + 1L ll <- as.call(c(as.list(ll), na.last = NA)) ans1 = forderv(DT, by = x, order = y, na.last = NA) test(1252 + test_no * 0.001, ans1[ans1 != 0], with(DT, eval(ll)))}) 9: FUN(x[a], ...) 10: combn(names(DT), i, function(x) { tmp = apply(cj, 1, function(y) { test_no <<- test_no + 1L ll = as.call(c(as.name("base_order"), method = "radix", lapply(seq_along(x), function(j) { if (y[j] == 1L) as.name(x[j]) else { if (is.character(DT[[x[j]]])) as.call(c(as.name("-"), as.call(list(as.name("xtfrm"), as.name(x[j]))))) else as.call(list(as.name("-"), as.name(x[j]))) } }))) ans1 = forderv(DT, by = x, order = y, na.last = TRUE) test(1252 + test_no * 0.001, ans1, with(DT, eval(ll))) test_no <<- test_no + 1L ll <- as.call(c(as.list(ll), na.last = NA)) ans1 = forderv(DT, by = x, order = y, na.last = NA) test(1252 + test_no * 0.001, ans1[ans1 != 0], with(DT, eval(ll))) }) dim(tmp) = NULL list(tmp)}) 11: eval(exprs[i], envir) 12: eval(exprs[i], envir) 13: sys.source(fn, envir = env) 14: withCallingHandlers(sys.source(fn, envir = env), warning = function(w) { if (!silent && showProgress) print(w) env$warnings = c(env$warnings, list(list(`after test` = env$prevtest, warning = conditionMessage(w), calls = paste(vapply_1c(sys.calls(), function(call) { if (is.name(call[[1]])) { as.character(call[[1]]) } else "..." }), collapse = " -> ")))) invokeRestart("muffleWarning")}) 15: doTryCatch(return(expr), name, parentenv, handler) 16: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17: tryCatchList(expr, classes, parentenv, handlers) 18: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call, nlines = 1L) prefix <- paste("Error in", dcall, ": ") LONG <- 75L sm <- strsplit(conditionMessage(e), "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if (is.na(w)) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], type = "b") if (w > LONG) prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if (!silent && isTRUE(getOption("show.error.messages"))) { cat(msg, file = outFile) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))}) 19: try(withCallingHandlers(sys.source(fn, envir = env), warning = function(w) { if (!silent && showProgress) print(w) env$warnings = c(env$warnings, list(list(`after test` = env$prevtest, warning = conditionMessage(w), calls = paste(vapply_1c(sys.calls(), function(call) { if (is.name(call[[1]])) { as.character(call[[1]]) } else "..." }), collapse = " -> ")))) invokeRestart("muffleWarning")}), silent = silent) 20: test.data.table() An irrecoverable exception occurred. R is aborting now ... Segmentation fault (core dumped)