CRAN Package Check Results for Package tree.interpreter

Last updated on 2020-02-03 08:53:57 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.1.0 38.96 33.93 72.89 ERROR
r-devel-linux-x86_64-debian-gcc 0.1.0 29.27 26.97 56.24 ERROR
r-devel-linux-x86_64-fedora-clang 0.1.0 99.75 ERROR
r-devel-linux-x86_64-fedora-gcc 0.1.0 100.53 ERROR
r-devel-windows-ix86+x86_64 0.1.0 115.00 67.00 182.00 ERROR
r-devel-windows-ix86+x86_64-gcc8 0.1.0 111.00 74.00 185.00 ERROR
r-patched-linux-x86_64 0.1.0 33.09 30.63 63.72 ERROR
r-patched-solaris-x86 0.1.0 121.00 ERROR
r-release-linux-x86_64 0.1.0 31.81 30.97 62.78 ERROR
r-release-windows-ix86+x86_64 0.1.0 71.00 94.00 165.00 ERROR
r-release-osx-x86_64 0.1.0 OK
r-oldrel-windows-ix86+x86_64 0.1.0 69.00 65.00 134.00 ERROR
r-oldrel-osx-x86_64 0.1.0 OK

Check Details

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in 'tree.interpreter-Ex.R' failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0xfffffffc09773cb8, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-devel-linux-x86_64-debian-clang

Version: 0.1.0
Check: tests
Result: ERROR
     Running 'testthat.R' [3s/4s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0xfffffffc092e2c18, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
     Segmentation fault
Flavor: r-devel-linux-x86_64-debian-clang

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
     ...
    --- re-building 'MDI.Rmd' using rmarkdown
    
     *** caught segfault ***
    address 0xfffffffc0a22ca88, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/tmp/Rtmp7ykbdA/file30375a513262.rds")
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-devel-linux-x86_64-debian-clang

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0x5615fc4ab948, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’ [3s/4s]
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0x5602498e3ee8, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
     Segmentation fault
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
     ...
    --- re-building ‘MDI.Rmd’ using rmarkdown
    
     *** caught segfault ***
    address 0x55f2a4fbe4e8, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/home/hornik/tmp/R.check/r-devel-gcc/Work/PKGS/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/home/hornik/tmp/scratch/RtmplyR7gI/file27fa4a92c6ca.rds")
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0xfffffffc099a0508, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0xfffffffc0a4c90c8, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
    --- re-building ‘MDI.Rmd’ using rmarkdown
    
     *** caught segfault ***
    address 0xfffffffc0b3d9678, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/data/gannet/ripley/R/packages/tests-clang/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/tmp/Rtmpseq0kC/file838b536ec811.rds")
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0xfffffffc090f4268, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0xfffffffc09c73568, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
    --- re-building ‘MDI.Rmd’ using rmarkdown
    
     *** caught segfault ***
    address 0xfffffffc09e10078, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/data/gannet/ripley/R/packages/tests-devel/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/tmp/Rtmp1NlRPk/file8d0d31997c00.rds")
    An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 0.1.0
Check: running examples for arch ‘i386’
Result: ERROR
    Running examples in 'tree.interpreter-Ex.R' failed
    The error most likely occurred in:
    
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    > MDITree(tidy.RF, 1, iris[, -5], iris[, 5])
    
    error: Cube::subcube(): indices out of bounds or incorrectly used
    Error in featureContribTreeCpp(tidy.RF, tree - 1, X) :
     Cube::subcube(): indices out of bounds or incorrectly used
    Calls: MDITree -> featureContribTree -> featureContribTreeCpp
    Execution halted
Flavors: r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-release-windows-ix86+x86_64, r-oldrel-windows-ix86+x86_64

Version: 0.1.0
Check: running examples for arch ‘x64’
Result: ERROR
    Running examples in 'tree.interpreter-Ex.R' failed
    The error most likely occurred in:
    
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
Flavors: r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-release-windows-ix86+x86_64, r-oldrel-windows-ix86+x86_64

Version: 0.1.0
Check: running tests for arch ‘i386’
Result: ERROR
     Running 'testthat.R' [7s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDI(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDITree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoob(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDIoobTree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10) ------
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDITree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54) ---
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoobTree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 5. Error: featureContrib works for ranger & classification tree (@test-featur
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, iris[-trainID, -5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 6. Error: featureContrib works for ranger & regression tree (@test-featureCon
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, mtcars[-trainID, -1])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 7. Error: featureContrib retains order of features for ranger (@test-featureC
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, dummy[, -(3:4)])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
     -- 8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49) --
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     == testthat results ===========================================================
     [ OK: 94 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 10 ]
     1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59)
     3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10)
     4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54)
     5. Error: featureContrib works for ranger & classification tree (@test-featureContrib-class.R#10)
     6. Error: featureContrib works for ranger & regression tree (@test-featureContrib-reg.R#10)
     7. Error: featureContrib retains order of features for ranger (@test-featureContrib-reg.R#40)
     8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49)
     10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#82)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-devel-windows-ix86+x86_64

Version: 0.1.0
Check: running tests for arch ‘x64’
Result: ERROR
     Running 'testthat.R' [3s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
Flavors: r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-oldrel-windows-ix86+x86_64

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
    --- re-building 'MDI.Rmd' using rmarkdown
Flavors: r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-release-windows-ix86+x86_64

Version: 0.1.0
Check: running tests for arch ‘i386’
Result: ERROR
     Running 'testthat.R' [6s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDI(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDITree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoob(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDIoobTree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10) ------
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDITree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54) ---
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoobTree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 5. Error: featureContrib works for ranger & classification tree (@test-featur
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, iris[-trainID, -5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 6. Error: featureContrib works for ranger & regression tree (@test-featureCon
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, mtcars[-trainID, -1])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 7. Error: featureContrib retains order of features for ranger (@test-featureC
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, dummy[, -(3:4)])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
     -- 8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49) --
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     == testthat results ===========================================================
     [ OK: 94 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 10 ]
     1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59)
     3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10)
     4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54)
     5. Error: featureContrib works for ranger & classification tree (@test-featureContrib-class.R#10)
     6. Error: featureContrib works for ranger & regression tree (@test-featureContrib-reg.R#10)
     7. Error: featureContrib retains order of features for ranger (@test-featureContrib-reg.R#40)
     8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49)
     10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#82)
    
     Error: testthat unit tests failed
     Execution halted
Flavors: r-devel-windows-ix86+x86_64-gcc8, r-oldrel-windows-ix86+x86_64

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0x562679d800c8, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-patched-linux-x86_64

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’ [3s/4s]
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0x556cf7c69e88, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
     Segmentation fault
Flavor: r-patched-linux-x86_64

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
     ...
    --- re-building ‘MDI.Rmd’ using rmarkdown
    
     *** caught segfault ***
    address 0x55e4a5eef3b8, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/home/hornik/tmp/R.check/r-patched-gcc/Work/PKGS/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/tmp/RtmpdoHj6t/file66391e56155e.rds")
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-patched-linux-x86_64

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    > MDITree(tidy.RF, 1, iris[, -5], iris[, 5])
    
    error: Cube::subcube(): indices out of bounds or incorrectly used
    Error in featureContribTreeCpp(tidy.RF, tree - 1, X) :
     Cube::subcube(): indices out of bounds or incorrectly used
    Calls: MDITree -> featureContribTree -> featureContribTreeCpp
    Execution halted
Flavor: r-patched-solaris-x86

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’ [15s/17s]
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDI(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDITree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoob(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDIoobTree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10) ──────
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDITree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54) ───
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoobTree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 5. Error: featureContrib works for ranger & classification tree (@test-featur
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, iris[-trainID, -5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 6. Error: featureContrib works for ranger & regression tree (@test-featureCon
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, mtcars[-trainID, -1])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     ── 7. Error: featureContrib retains order of features for ranger (@test-featureC
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, dummy[, -(3:4)])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
     ── 8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     ── 9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49) ──
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     ── 10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     ══ testthat results ═══════════════════════════════════════════════════════════
     [ OK: 94 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 10 ]
     1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59)
     3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10)
     4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54)
     5. Error: featureContrib works for ranger & classification tree (@test-featureContrib-class.R#10)
     6. Error: featureContrib works for ranger & regression tree (@test-featureContrib-reg.R#10)
     7. Error: featureContrib retains order of features for ranger (@test-featureContrib-reg.R#40)
     8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49)
     10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#82)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-patched-solaris-x86

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
     ...
    --- re-building ‘MDI.Rmd’ using rmarkdown
    Warning in engine$weave(file, quiet = quiet, encoding = enc) :
     Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
    
    error: Cube::subcube(): indices out of bounds or incorrectly used
    Quitting from lines 87-100 (MDI.Rmd)
    Error: processing vignette 'MDI.Rmd' failed with diagnostics:
    Cube::subcube(): indices out of bounds or incorrectly used
    --- failed re-building ‘MDI.Rmd’
    
    SUMMARY: processing the following file failed:
     ‘MDI.Rmd’
    
    Error: Vignette re-building failed.
    Execution halted
Flavor: r-patched-solaris-x86

Version: 0.1.0
Check: examples
Result: ERROR
    Running examples in ‘tree.interpreter-Ex.R’ failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: MDITree
    > ### Title: Mean Decrease in Impurity
    > ### Aliases: MDITree MDI
    >
    > ### ** Examples
    >
    > library(ranger)
    > rfobj <- ranger(Species ~ ., iris, keep.inbag=TRUE)
    > tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5])
    
     *** caught segfault ***
    address 0x55fe491a5e68, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-release-linux-x86_64

Version: 0.1.0
Check: tests
Result: ERROR
     Running ‘testthat.R’ [3s/3s]
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     *** caught segfault ***
     address 0x563b0b21b558, cause 'memory not mapped'
    
     Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, iris[, -5], iris[, 5])
     3: tidyRF(rfobj, iris[, -5], iris[, 5])
     4: eval(code, test_env)
     5: eval(code, test_env)
     6: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     7: doTryCatch(return(expr), name, parentenv, handler)
     8: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     9: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     10: doTryCatch(return(expr), name, parentenv, handler)
     11: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     12: tryCatchList(expr, classes, parentenv, handlers)
     13: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     14: test_code(desc, code, env = parent.frame())
     15: test_that("MDI works for ranger & classification tree", { set.seed(42L) rfobj <- ranger(Species ~ ., iris, keep.inbag = TRUE, importance = "impurity") tidy.RF <- tidyRF(rfobj, iris[, -5], iris[, 5]) iris.MDITree <- MDITree(tidy.RF, 1, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDITree), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDITree), list(names(iris[, -5]), levels(iris$Species))) iris.MDI <- MDI(tidy.RF, iris[, -5], iris[, 5]) expect_equal(dim(iris.MDI), c(ncol(iris) - 1, nlevels(iris$Species))) expect_equal(dimnames(iris.MDI), list(names(iris[, -5]), levels(iris$Species))) expect_equal(as.vector(rowSums(iris.MDI)), as.vector(ranger::importance(rfobj)/sum(tidy.RF$inbag.counts[[1]])))})
     16: eval(code, test_env)
     17: eval(code, test_env)
     18: withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error)
     19: doTryCatch(return(expr), name, parentenv, handler)
     20: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     21: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     22: doTryCatch(return(expr), name, parentenv, handler)
     23: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), names[nh], parentenv, handlers[[nh]])
     24: tryCatchList(expr, classes, parentenv, handlers)
     25: tryCatch(withCallingHandlers({ eval(code, test_env) if (!handled && !is.null(test)) { skip_empty() }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error), error = handle_fatal, skip = function(e) { })
     26: test_code(NULL, exprs, env)
     27: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     28: force(code)
     29: doWithOneRestart(return(expr), restart)
     30: withOneRestart(expr, restarts[[1L]])
     31: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     32: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter, { reporter$start_file(basename(path)) lister$start_file(basename(path)) source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap) reporter$.end_context() reporter$end_file() })
     33: FUN(X[[i]], ...)
     34: lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     35: force(code)
     36: doWithOneRestart(return(expr), restart)
     37: withOneRestart(expr, restarts[[1L]])
     38: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     39: with_reporter(reporter = current_reporter, results <- lapply(paths, test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap))
     40: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     41: test_dir(path = test_path, reporter = reporter, env = env, filter = filter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     42: test_package_dir(package = package, test_path = test_path, filter = filter, reporter = reporter, ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, wrap = wrap)
     43: test_check("tree.interpreter")
     An irrecoverable exception occurred. R is aborting now ...
     Segmentation fault
Flavor: r-release-linux-x86_64

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error(s) in re-building vignettes:
     ...
    --- re-building ‘MDI.Rmd’ using rmarkdown
    
     *** caught segfault ***
    address 0x55f22dad9508, cause 'memory not mapped'
    
    Traceback:
     1: tidyRFCpp_ranger(rfobj, trainX, trainY, inbag.counts)
     2: tidyRF.ranger(rfobj, Boston[, -14], Boston[, 14])
     3: tidyRF(rfobj, Boston[, -14], Boston[, 14])
     4: eval(expr, envir, enclos)
     5: eval(expr, envir, enclos)
     6: withVisible(eval(expr, envir, enclos))
     7: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)
     8: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler))
     9: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
    10: evaluate_call(expr, parsed$src[[i]], envir = envir, enclos = enclos, debug = debug, last = i == length(out), use_try = stop_on_error != 2L, keep_warning = keep_warning, keep_message = keep_message, output_handler = output_handler, include_timing = include_timing)
    11: evaluate::evaluate(...)
    12: evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options))
    13: in_dir(input_dir(), evaluate(code, envir = env, new_device = FALSE, keep_warning = !isFALSE(options$warning), keep_message = !isFALSE(options$message), stop_on_error = if (options$error && options$include) 0L else 2L, output_handler = knit_handlers(options$render, options)))
    14: block_exec(params)
    15: call_block(x)
    16: process_group.block(group)
    17: process_group(group)
    18: withCallingHandlers(if (tangle) process_tangle(group) else process_group(group), error = function(e) { setwd(wd) cat(res, sep = "\n", file = output %n% "") message("Quitting from lines ", paste(current_lines(i), collapse = "-"), " (", knit_concord$get("infile"), ") ") })
    19: process_file(text, output)
    20: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
    21: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), output_dir = getwd(), ...)
    22: vweave_rmarkdown(...)
    23: engine$weave(file, quiet = quiet, encoding = enc)
    24: doTryCatch(return(expr), name, parentenv, handler)
    25: tryCatchOne(expr, names, parentenv, handlers[[1L]])
    26: tryCatchList(expr, classes, parentenv, handlers)
    27: 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) } outputs <- c(outputs, output)}, error = function(e) { thisOK <<- FALSE fails <<- c(fails, file) message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s", file, conditionMessage(e)))})
    28: tools:::buildVignettes(dir = "/home/hornik/tmp/R.check/r-release-gcc/Work/PKGS/tree.interpreter.Rcheck/vign_test/tree.interpreter", ser_elibs = "/tmp/RtmpoLOfmv/file5584f2ec0a1.rds")
    An irrecoverable exception occurred. R is aborting now ...
    Segmentation fault
Flavor: r-release-linux-x86_64

Version: 0.1.0
Check: running tests for arch ‘i386’
Result: ERROR
     Running 'testthat.R' [8s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDI(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDITree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoob(tidy.RF, iris[, -5], iris[, 5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::MDIoobTree(tidy.RF, tree, trainX, trainY)
     6. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     7. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10) ------
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDITree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.inbag)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54) ---
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::MDIoobTree(...)
     2. tree.interpreter::featureContribTree(tidy.RF, tree, X.oob)
     3. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 5. Error: featureContrib works for ranger & classification tree (@test-featur
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, iris[-trainID, -5])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 6. Error: featureContrib works for ranger & regression tree (@test-featureCon
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, mtcars[-trainID, -1])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
    
     error: Cube::subcube(): indices out of bounds or incorrectly used
     -- 7. Error: featureContrib retains order of features for ranger (@test-featureC
     Cube::subcube(): indices out of bounds or incorrectly used
     Backtrace:
     1. tree.interpreter::featureContrib(tidy.RF, dummy[, -(3:4)])
     3. base::lapply(...)
     4. tree.interpreter:::FUN(X[[i]], ...)
     5. tree.interpreter::featureContribTree(tidy.RF, tree, X)
     6. tree.interpreter:::featureContribTreeCpp(tidy.RF, tree - 1, X)
    
     -- 8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49) --
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     -- 10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#
     min(sapply(tidy.RF$node.sizes, min)) is not more than 1. Difference: -1
    
     == testthat results ===========================================================
     [ OK: 94 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 10 ]
     1. Error: MDI works for ranger & classification tree (@test-MDI-class.R#16)
     2. Error: MDIoob works for ranger & classification tree (@test-MDI-class.R#59)
     3. Error: MDI works for ranger & regression tree (@test-MDI-reg.R#10)
     4. Error: MDIoob works for ranger & regression tree (@test-MDI-reg.R#54)
     5. Error: featureContrib works for ranger & classification tree (@test-featureContrib-class.R#10)
     6. Error: featureContrib works for ranger & regression tree (@test-featureContrib-reg.R#10)
     7. Error: featureContrib retains order of features for ranger (@test-featureContrib-reg.R#40)
     8. Failure: tidyRF works for ranger & classification tree (@test-tidyRF.R#17)
     9. Failure: tidyRF works for ranger & regression tree (@test-tidyRF.R#49)
     10. Failure: tidyRF works for ranger when keep.inbag = FALSE (@test-tidyRF.R#82)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-release-windows-ix86+x86_64

Version: 0.1.0
Check: running tests for arch ‘x64’
Result: ERROR
     Running 'testthat.R' [4s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(testthat)
     > library(tree.interpreter)
     >
     > test_check("tree.interpreter")
Flavor: r-release-windows-ix86+x86_64

Version: 0.1.0
Check: re-building of vignette outputs
Result: WARN
    Error in re-building vignettes:
     ...
Flavor: r-oldrel-windows-ix86+x86_64