crew_clean() errors with default settings on Windows?
Closed this issue · 1 comments
luwidmer commented
Prework
- [ x ] Read and agree to the Contributor Code of Conduct and contributing guidelines.
- [ x ] Confirm that your issue is a genuine bug in the
crew
package itself and not a user error, known limitation, or issue from another package thatcrew
depends on. For example, if you get errors runningtar_make_clustermq()
, try isolating the problem in a reproducible example that runsclustermq
and notcrew
. And for miscellaneous troubleshooting, please post to discussions instead of issues. - [ x ] If there is already a relevant issue, whether open or closed, comment on the existing thread instead of posting a new issue.
- [ x ] Post a minimal reproducible example like this one so the maintainer can troubleshoot the problems you identify. A reproducible example is:
- [ x ] Runnable: post enough R code and data so any onlooker can create the error on their own computer.
- [ x ] Minimal: reduce runtime wherever possible and remove complicated details that are irrelevant to the issue at hand.
- [ x ] Readable: format your code according to the tidyverse style guide.
Description
crew_clean()
errors with default settings on Windows?
Reproducible example
library(crew)
controller <- crew_controller_local(
name = "example",
workers = 2,
seconds_idle = 10
)
controller$start()
controller$push(name = "get pid", command = ps::ps_pid())
controller$wait(mode = "all")
task <- controller$pop() # Worker started, task complete.
controller$client$summary()
#> # A tibble: 2 × 6
#> worker online instances assigned complete socket
#> <int> <lgl> <int> <int> <int> <chr>
#> 1 1 TRUE 1 1 1 ws://127.0.0.1:63702/1/a796a35f29e1…
#> 2 2 FALSE 0 0 0 ws://127.0.0.1:63702/2/1ee184122aaa…
controller$terminate()
crew_clean()
#> Error:
#> ! all(is.character(.)) && all(length(.) == 1L) && all(nzchar(.)) && all(!anyNA(.)) is not true on . = user
#> Backtrace:
#> ▆
#> 1. └─crew::crew_clean()
#> 2. └─crew::crew_assert(...)
#> 3. └─crew:::crew_error(message %|||% out)
#> 4. └─crew:::crew_stop(message = message, class = c("crew_error", "crew"))
#> 5. └─rlang::abort(message = message, class = class, call = emptyenv())
Created on 2023-10-17 with reprex v2.0.2
Session info
sessionInfo()
#> R version 4.3.1 (2023-06-16 ucrt)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 11 x64 (build 22621)
#>
#> Matrix products: default
#>
#>
#> locale:
#> [1] LC_COLLATE=English_Switzerland.utf8 LC_CTYPE=English_Switzerland.utf8
#> [3] LC_MONETARY=English_Switzerland.utf8 LC_NUMERIC=C
#> [5] LC_TIME=English_Switzerland.utf8
#>
#> time zone: Europe/Zurich
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] crew_0.6.0
#>
#> loaded via a namespace (and not attached):
#> [1] vctrs_0.6.4 cli_3.6.1 knitr_1.44 rlang_1.1.1
#> [5] xfun_0.40 processx_3.8.2 purrr_1.0.2 styler_1.10.2
#> [9] data.table_1.14.8 nanonext_0.10.2 glue_1.6.2 mirai_0.11.0
#> [13] htmltools_0.5.6.1 ps_1.7.5 fansi_1.0.5 rmarkdown_2.25
#> [17] R.cache_0.16.0 tibble_3.2.1 evaluate_0.22 fastmap_1.1.1
#> [21] yaml_2.3.7 lifecycle_1.0.3 compiler_4.3.1 fs_1.6.3
#> [25] pkgconfig_2.0.3 rstudioapi_0.15.0 getip_0.1-3 R.oo_1.25.0
#> [29] R.utils_2.12.2 digest_0.6.33 R6_2.5.1 tidyselect_1.2.0
#> [33] utf8_1.2.3 reprex_2.0.2 pillar_1.9.0 parallel_4.3.1
#> [37] magrittr_2.0.3 R.methodsS3_1.8.2 tools_4.3.1 withr_2.5.1
Expected result
crew_clean()
should not error with default settings on Windows? On Windows, the username is contained in the environment variable USERNAME
- @wlandau a cross-platform solution such as Sys.info()[["user"]]
as a default might preferable?