LucyMcGowan opened a new issue, #14826:
URL: https://github.com/apache/arrow/issues/14826
### Describe the bug, including details regarding any error messages,
version, and platform.
When I run the following example from the documentation, it seems to crash.
```
library(arrow)
one_level_tree <- tempfile()
write_dataset(mtcars, one_level_tree, partitioning = "cyl")
```
This reprex appears to crash R.
See standard output and standard error for more details.
#### Standard output and error
``` sh
✖ Install the styler package in order to use `style = TRUE`.
*** caught illegal operation ***
address 0x11746ec1f, cause 'illegal opcode'
Traceback:
1: ExecPlan_Write(self, node,
prepare_key_value_metadata(node$final_metadata()), ...)
2: plan$Write(final_node, options, path_and_fs$fs, path_and_fs$path,
partitioning, basename_template, existing_data_behavior, max_partitions,
max_open_files, max_rows_per_file, min_rows_per_group, max_rows_per_group)
3: write_dataset(mtcars, one_level_tree, partitioning = "cyl")
4: eval(expr, envir, enclos)
5: eval(expr, envir, enclos)
6: eval_with_user_handlers(expr, envir, enclos, user_handlers)
7: withVisible(eval_with_user_handlers(expr, envir, enclos, user_handlers))
8: withCallingHandlers(withVisible(eval_with_user_handlers(expr, envir,
enclos, user_handlers)), warning = wHandler, error = eHandler, message =
mHandler)
9: doTryCatch(return(expr), name, parentenv, handler)
10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
11: tryCatchList(expr, classes, parentenv, handlers)
12: 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))})
13: try(f, silent = TRUE)
14: handle(ev <-
withCallingHandlers(withVisible(eval_with_user_handlers(expr, envir,
enclos, user_handlers)), warning = wHandler, error = eHandler, message =
mHandler))
15: timing_fn(handle(ev <-
withCallingHandlers(withVisible(eval_with_user_handlers(expr, envir,
enclos, user_handlers)), warning = wHandler, error = eHandler, message =
mHandler)))
16: 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)
17: evaluate::evaluate(...)
18: evaluate(code, envir = env, new_device = FALSE, keep_warning =
!isFALSE(options$warning), keep_message = !isFALSE(options$message),
stop_on_error = if (is.numeric(options$error)) options$error else { if
(options$error && options$include) 0L else 2L },
output_handler = knit_handlers(options$render, options))
19: 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 (is.numeric(options$error))
options$error else { if (options$error && options$include)
0L else 2L }, output_handler = knit_handlers(options$render,
options)))
20: eng_r(options)
21: block_exec(params)
22: call_block(x)
23: process_group.block(group)
24: process_group(group)
25: 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"), ") ") })
26: process_file(text, output)
27: knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
28: rmarkdown::render(input, quiet = TRUE, envir = globalenv(), encoding =
"UTF-8")
29: (function (input) { rmarkdown::render(input, quiet = TRUE, envir =
globalenv(), encoding = "UTF-8")})(input =
base::quote("front-ray_reprex.R"))
30: (function (what, args, quote = FALSE, envir = parent.frame()) { if
(!is.list(args)) stop("second argument must be a list") if (quote)
args <- lapply(args, enquote) .Internal(do.call(what, args,
envir))})(base::quote(function (input) { rmarkdown::render(input, quiet =
TRUE, envir = globalenv(), encoding = "UTF-8")}),
base::quote(list(input = "front-ray_reprex.R")), envir =
base::quote(<environment>), quote = base::quote(TRUE))
31: do.call(do.call,
c(readRDS("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-fun-826a2a4df8"),
list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv, quote =
TRUE)
32: saveRDS(do.call(do.call,
c(readRDS("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-fun-826a2a4df8"),
list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv, quote =
TRUE), file =
"/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b")
33: withCallingHandlers({ NULL saveRDS(do.call(do.call,
c(readRDS("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-fun-826a2a4df8"),
list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv,
quote = TRUE), file =
"/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b")
flush(stdout()) flush(stderr()) NULL invisible()}, error =
function(e) { { callr_data <-
as.environment("tools:callr")$`__callr_data__` err <- callr_data$err
assign(".Traceback", .traceback(4), envir = callr_data)
dump.frames("__callr_dump__") assign(".Last.dump",
.GlobalEnv$`__callr_dump__`, envir = callr_data) rm("__callr_dump__",
envir = .GlobalEnv) e$call <- deparse(conditionCall(e), nlines = 6)
e2 <- err$new_error(conditionMessage(e), call. = conditionCall(e))
class(e2) <- c("callr_remote_error", class(e2)) e2$error <- e
calls <- sys.calls() d
cframe <- which(vapply(calls, function(x) length(x) >= 1 &&
identical(x[[1]], quote(do.call)), logical(1)))[1] if (!is.na(dcframe))
e2$`_ignore` <- list(c(1, dcframe + 1L)) e2$`_pid` <-
Sys.getpid() e2$`_timestamp` <- Sys.time() if (inherits(e,
"rlib_error_2_0")) e2$parent <- e$parent e2 <-
err$add_trace_back(e2, embed = FALSE) saveRDS(list("error", e2), file =
paste0("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b",
".error")) }}, interrupt = function(e) { { callr_data
<- as.environment("tools:callr")$`__callr_data__` err <- callr_data$err
assign(".Traceback", .traceback(4), envir = callr_data)
dump.frames("__callr_dump__") assign(".Last.dump",
.GlobalEnv$`__callr_dump__`, envir = callr_data) rm("__callr_dump__",
envir = .GlobalEnv) e$call <- deparse(conditionCall(e), nlines = 6)
e2 <- err$new_erro
r(conditionMessage(e), call. = conditionCall(e)) class(e2) <-
c("callr_remote_error", class(e2)) e2$error <- e calls <-
sys.calls() dcframe <- which(vapply(calls, function(x) length(x) >=
1 && identical(x[[1]], quote(do.call)), logical(1)))[1] if
(!is.na(dcframe)) e2$`_ignore` <- list(c(1, dcframe + 1L))
e2$`_pid` <- Sys.getpid() e2$`_timestamp` <- Sys.time() if
(inherits(e, "rlib_error_2_0")) e2$parent <- e$parent e2 <-
err$add_trace_back(e2, embed = FALSE) saveRDS(list("error", e2), file =
paste0("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b",
".error")) }}, callr_message = function(e) {
try(signalCondition(e))})
34: doTryCatch(return(expr), name, parentenv, handler)
35: tryCatchOne(expr, names, parentenv, handlers[[1L]])
36: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
37: doTryCatch(return(expr), name, parentenv, handler)
38: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
names[nh], parentenv, handlers[[nh]])
39: tryCatchList(expr, classes, parentenv, handlers)
40: tryCatch(withCallingHandlers({ NULL saveRDS(do.call(do.call,
c(readRDS("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-fun-826a2a4df8"),
list(envir = .GlobalEnv, quote = TRUE)), envir = .GlobalEnv,
quote = TRUE), file =
"/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b")
flush(stdout()) flush(stderr()) NULL invisible()}, error =
function(e) { { callr_data <-
as.environment("tools:callr")$`__callr_data__` err <- callr_data$err
assign(".Traceback", .traceback(4), envir = callr_data)
dump.frames("__callr_dump__") assign(".Last.dump",
.GlobalEnv$`__callr_dump__`, envir = callr_data) rm("__callr_dump__",
envir = .GlobalEnv) e$call <- deparse(conditionCall(e), nlines = 6)
e2 <- err$new_error(conditionMessage(e), call. = conditionCall(e))
class(e2) <- c("callr_remote_error", class(e2)) e2$error <- e
calls <- sys.calls()
dcframe <- which(vapply(calls, function(x) length(x) >= 1
&& identical(x[[1]], quote(do.call)), logical(1)))[1] if
(!is.na(dcframe)) e2$`_ignore` <- list(c(1, dcframe + 1L))
e2$`_pid` <- Sys.getpid() e2$`_timestamp` <- Sys.time() if
(inherits(e, "rlib_error_2_0")) e2$parent <- e$parent e2 <-
err$add_trace_back(e2, embed = FALSE) saveRDS(list("error", e2), file =
paste0("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b",
".error")) }}, interrupt = function(e) { { callr_data
<- as.environment("tools:callr")$`__callr_data__` err <- callr_data$err
assign(".Traceback", .traceback(4), envir = callr_data)
dump.frames("__callr_dump__") assign(".Last.dump",
.GlobalEnv$`__callr_dump__`, envir = callr_data) rm("__callr_dump__",
envir = .GlobalEnv) e$call <- deparse(conditionCall(e), nlines = 6)
e2 <- err
$new_error(conditionMessage(e), call. = conditionCall(e)) class(e2) <-
c("callr_remote_error", class(e2)) e2$error <- e calls <-
sys.calls() dcframe <- which(vapply(calls, function(x) length(x) >=
1 && identical(x[[1]], quote(do.call)), logical(1)))[1] if
(!is.na(dcframe)) e2$`_ignore` <- list(c(1, dcframe + 1L))
e2$`_pid` <- Sys.getpid() e2$`_timestamp` <- Sys.time() if
(inherits(e, "rlib_error_2_0")) e2$parent <- e$parent e2 <-
err$add_trace_back(e2, embed = FALSE) saveRDS(list("error", e2), file =
paste0("/var/folders/mr/lk15_b411zb85y6q_wwbd_k00000gn/T//Rtmpxx5I9t/callr-res-827f650b3b",
".error")) }}, callr_message = function(e) {
try(signalCondition(e))}), error = function(e) { NULL try(stop(e))},
interrupt = function(e) { NULL e})
An irrecoverable exception occurred. R is aborting now ...
```
```
devtools::session_info()
─ Session info
─────────────────────────────────────────────────────────────────
setting value
version R version 4.1.2 (2021-11-01)
os macOS Monterey 12.6
system x86_64, darwin17.0
ui RStudio
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz America/New_York
date 2022-12-02
rstudio 2022.07.1+554 Spotted Wakerobin (desktop)
pandoc 2.18 @ /Applications/RStudio.app/Contents/MacOS/quarto/bin/tools/
(via rmarkdown)
─ Packages
─────────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
arrow * 10.0.0 2022-10-26 [1] CRAN (R 4.1.2)
assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.1.0)
backports 1.4.1 2021-12-13 [1] CRAN (R 4.1.0)
base64url 1.4 2018-05-14 [1] CRAN (R 4.1.0)
bit 4.0.5 2022-11-15 [1] CRAN (R 4.1.2)
bit64 4.0.5 2020-08-30 [1] CRAN (R 4.1.0)
brio 1.1.3 2021-11-30 [1] CRAN (R 4.1.0)
cachem 1.0.6 2021-08-19 [1] CRAN (R 4.1.0)
callr 3.7.0 2021-04-20 [1] CRAN (R 4.1.0)
cli 3.4.1 2022-09-23 [1] CRAN (R 4.1.2)
clipr 0.7.1 2020-10-08 [1] CRAN (R 4.1.0)
codetools 0.2-18 2020-11-04 [1] CRAN (R 4.1.2)
crayon 1.4.2 2021-10-29 [1] CRAN (R 4.1.0)
data.table 1.14.2 2021-09-27 [1] CRAN (R 4.1.0)
desc 1.4.0 2021-09-28 [1] CRAN (R 4.1.0)
devtools 2.4.3 2021-11-30 [1] CRAN (R 4.1.0)
digest 0.6.29 2021-12-01 [1] CRAN (R 4.1.0)
ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.1.0)
evaluate 0.15 2022-02-18 [1] CRAN (R 4.1.2)
fansi 1.0.2 2022-01-14 [1] CRAN (R 4.1.2)
fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.0)
fs 1.5.2 2021-12-08 [1] CRAN (R 4.1.0)
future 1.29.0 2022-11-06 [1] CRAN (R 4.1.2)
globals 0.16.2 2022-11-21 [1] CRAN (R 4.1.2)
glue 1.6.2 2022-02-24 [1] CRAN (R 4.1.2)
highr 0.9 2021-04-16 [1] CRAN (R 4.1.0)
htmltools 0.5.2 2021-08-25 [1] CRAN (R 4.1.0)
igraph 1.2.11 2022-01-04 [1] CRAN (R 4.1.2)
knitr 1.37 2021-12-16 [1] CRAN (R 4.1.0)
lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.1.2)
listenv 0.8.0 2019-12-05 [1] CRAN (R 4.1.0)
magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.1.2)
memoise 2.0.1 2021-11-26 [1] CRAN (R 4.1.0)
parallelly 1.32.1 2022-07-21 [1] CRAN (R 4.1.2)
pillar 1.7.0 2022-02-01 [1] CRAN (R 4.1.2)
pkgbuild 1.3.1 2021-12-20 [1] CRAN (R 4.1.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.1.0)
pkgload 1.2.4 2021-11-30 [1] CRAN (R 4.1.0)
prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.1.0)
processx 3.5.2 2021-04-30 [1] CRAN (R 4.1.0)
ps 1.6.0 2021-02-28 [1] CRAN (R 4.1.0)
purrr 0.3.5 2022-10-06 [1] CRAN (R 4.1.2)
R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.0)
remotes 2.4.2 2021-11-30 [1] CRAN (R 4.1.0)
reprex 2.0.1 2021-08-05 [1] CRAN (R 4.1.0)
rlang 1.0.6 2022-09-24 [1] CRAN (R 4.1.2)
rmarkdown 2.11 2021-09-14 [1] CRAN (R 4.1.0)
rprojroot 2.0.2 2020-11-15 [1] CRAN (R 4.1.0)
rstudioapi 0.13 2020-11-12 [1] CRAN (R 4.1.0)
sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.0)
targets 0.14.1 2022-11-29 [1] CRAN (R 4.1.2)
testthat 3.1.2 2022-01-20 [1] CRAN (R 4.1.2)
tibble 3.1.8 2022-07-22 [1] CRAN (R 4.1.2)
tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.1.2)
usethis 2.1.5 2021-12-09 [1] CRAN (R 4.1.0)
utf8 1.2.2 2021-07-24 [1] CRAN (R 4.1.0)
vctrs 0.5.1 2022-11-16 [1] CRAN (R 4.1.2)
withr 2.5.0 2022-03-03 [1] CRAN (R 4.1.2)
xfun 0.29 2021-12-14 [1] CRAN (R 4.1.0)
yaml 2.3.4 2022-02-17 [1] CRAN (R 4.1.2)
[1] /Library/Frameworks/R.framework/Versions/4.1/Resources/library
```
### Component(s)
R
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]