Error(s) in re-building vignettes:
  ...
--- re-building 'BacArena-Introduction.Rmd' using rmarkdown
Loading required package: sybil
Loading required package: Matrix
Loading required package: lattice
Loading required package: ReacTran
Loading required package: rootSolve
Loading required package: deSolve
Loading required package: shape
BacArena paper: https://doi.org/10.1371/journal.pcbi.1005544
 Tutorials: https://bacarena.github.io
 Model import from SBML: https://github.com/euba/BacArena/wiki/Model-import
 Development and help: https://github.com/euba/bacarena
Warning in simEnv(arena, time = 10) :
  If growth is limitted by maximum weight for an organism (max_weight=TRUE) it is recommended to use minimize total flux (sec_obj='mtf').
 ----------- FAILURE REPORT -------------- 
 --- failure: the condition has length > 1 ---
 --- srcref --- 
: 
 --- package (from environment) --- 
BacArena
 --- call from context --- 
findFeeding3(sihumi_test, time = 5, mets = c("EX_lac_D(e)", "EX_etoh(e)"))
 --- call from argument --- 
if (class(interact) == "character") {
    interact = t(as.matrix(interact))
}
 --- R stacktrace ---
where 1: findFeeding3(sihumi_test, time = 5, mets = c("EX_lac_D(e)", "EX_etoh(e)"))
where 2: findFeeding3(sihumi_test, time = 5, mets = c("EX_lac_D(e)", "EX_etoh(e)"))
where 3: eval(expr, envir, enclos)
where 4: eval(expr, envir, enclos)
where 5: withVisible(eval(expr, envir, enclos))
where 6: withCallingHandlers(withVisible(eval(expr, envir, enclos)), warning = wHandler, 
    error = eHandler, message = mHandler)
where 7: handle(ev <- withCallingHandlers(withVisible(eval(expr, envir, 
    enclos)), warning = wHandler, error = eHandler, message = mHandler))
where 8: timing_fn(handle(ev <- withCallingHandlers(withVisible(eval(expr, 
    envir, enclos)), warning = wHandler, error = eHandler, message = mHandler)))
where 9: 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)
where 10: evaluate::evaluate(...)
where 11: 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))
where 12: 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)))
where 13: block_exec(params)
where 14: call_block(x)
where 15: process_group.block(group)
where 16: process_group(group)
where 17: 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"), 
            ") ")
    })
where 18: process_file(text, output)
where 19: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet, 
    encoding = encoding)
where 20: rmarkdown::render(file, encoding = encoding, quiet = quiet, envir = globalenv(), 
    ...)
where 21: vweave_rmarkdown(...)
where 22: engine$weave(file, quiet = quiet, encoding = enc)
where 23: doTryCatch(return(expr), name, parentenv, handler)
where 24: tryCatchOne(expr, names, parentenv, handlers[[1L]])
where 25: tryCatchList(expr, classes, parentenv, handlers)
where 26: 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)))
})
where 27: tools:::buildVignettes(dir = "/home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/BacArena.Rcheck/vign_test/BacArena", 
    ser_elibs = "/tmp/Rtmpldn7st/file53ce4642ddf5.rds")

 --- value of length: 2 type: logical ---
[1] FALSE FALSE
 --- function from context --- 
Method Definition:

function (object, time, mets, plot = TRUE, cutoff = 1e-06) 
{
    mets = intersect(object@mediac, as.character(mets))
    time = time + 1
    mflux = object@mfluxlist[[time]]
    mfluxmat = do.call(cbind, lapply(mflux, function(x) {
        return(ifelse(is.na(x[mets]), 0, x[mets]))
    }))
    rownames(mfluxmat) = mets
    inter = data.frame()
    for (i in seq_along(rownames(mfluxmat))) {
        x = mfluxmat[i, ]
        interact = matrix(0, ncol = 2, nrow = 1)
        for (j in names(which(x < -cutoff))) {
            if (length(which(x > cutoff)) != 0) {
                interact = rbind(interact, cbind(names(which(x > 
                  cutoff)), j))
            }
        }
        if (!is.null(interact) & nrow(interact) > 1) {
            interact = interact[-1, , drop = FALSE]
            flux <- sapply(1:nrow(interact), function(k) {
                idx.flux <- match(interact[k, ], colnames(mfluxmat))
                mfluxmat[i, idx.flux]
            })
            if (class(interact) == "character") {
                interact = t(as.matrix(interact))
            }
            inter = rbind(inter, data.frame(prod = interact[, 
                1], cons = interact[, 2], met = rownames(mfluxmat)[i], 
                sim_step = time - 1, prod.flux = flux[1, ], cons.flux = flux[2, 
                  ]))
        }
    }
    if (any(dim(inter) == 0)) {
        warning(paste("sim_step", (time - 1), ":", "No crossfeeding found. Try other metaboites or time points."))
        return(inter)
    }
    inter$met <- factor(inter$met)
    if (plot) {
        g <- igraph::graph.data.frame(inter[, 1:2], directed = TRUE)
        l <- igraph::layout.kamada.kawai(g)
        plot(g, edge.color = grDevices::rainbow(length(levels(inter$met)))[as.numeric(inter$met)], 
            edge.label = round(apply(abs(inter[, c("prod.flux", 
                "cons.flux")]), 1, min), 1), edge.width = 3, 
            edge.arrow.size = 0.8, vertex.color = 1:length(igraph::V(g)), 
            layout = l)
        legend("bottomright", legend = levels(inter$met), col = grDevices::rainbow(length(levels(inter$met))), 
            pch = 19, cex = 0.7)
        return(invisible(list(inter, g)))
    }
    else return(inter)
}
<bytecode: 0x9353018>
<environment: namespace:BacArena>

Signatures:
        object
target  "Eval"
defined "Eval"
 --- function search by body ---
S4 Method findFeeding3:BacArena defined in namespace BacArena with signature Eval has this body.
 ----------- END OF FAILURE REPORT -------------- 
Quitting from lines 240-241 (BacArena-Introduction.Rmd) 
Error: processing vignette 'BacArena-Introduction.Rmd' failed with diagnostics:
the condition has length > 1
--- failed re-building 'BacArena-Introduction.Rmd'

SUMMARY: processing the following file failed:
  'BacArena-Introduction.Rmd'

Error: Vignette re-building failed.
Execution halted