pins-r
pins-r copied to clipboard
Error: C stack usage xxx is too close to the limit, with certain input to pin_write metadata parameter
The following code causes Error: C stack usage xxx is too close to the limit:
mbm %>% pin_write(wfset_fits1,
name = wfset_s1_name,
description = glue::glue("{prod_name} meanlog prediction workflowsets {transf_msg} {this_rev}"),
metadata = list(dataset_name = DS1_df_name,
dataset_version = DS1vers$version[nrow(DS1vers)],
comment = fit_pin_comment,
tuning_metric = opt_metric,
tidymodels_version = packageVersion("tidymodels"),
R_version = R.version['version.string'][[1]]),
versioned = T)
Guessing `type = 'rds'`Creating new version '20240412T095624Z-d6b98'Error: C stack usage 15909096 is too close to the limit
As a result no data is written to the pin, only the enclosing folder is created.
mbm
is a board_folder board, located on local disk.
The problem is triggered by tidymodels_version = packageVersion("tidymodels")
. I've narrowed down the issue to write_meta
function (it may be in write_yaml or below).
Workaround consists in casting packageVersion
result to character.
I'd suggest adding some input sanity checks before writing yaml, or casting to character user-provided input, as default.
BTW, incredibly useful package, using it all the time in my modeling workflows.
BRs,
Mariusz