enough-analyst-54434
12/27/2021, 7:21 PMwitty-crayon-22786
12/27/2021, 7:52 PMenough-analyst-54434
12/27/2021, 7:53 PMwitty-crayon-22786
12/27/2021, 7:59 PMIs there any objection to moving the 2 coursier scripts out of bin/ and into a scripts/ dir to make them independent of the immutable input digest for the coursier binary itself? That would stop the bleeding in CI and buy time for someone to solve the overlap issue.it’s not clear to me that this would resolve it, since they’re currently part of the same digest, which means they should be materialized together in one call to
materialize_directoy
enough-analyst-54434
12/27/2021, 7:59 PMwitty-crayon-22786
12/27/2021, 8:00 PMsetup_jdk
seems relevant… it’s something that that @rule
invokes that is causing the trouble.enough-analyst-54434
12/27/2021, 8:00 PMwitty-crayon-22786
12/27/2021, 8:01 PMenough-analyst-54434
12/27/2021, 8:01 PMwitty-crayon-22786
12/27/2021, 8:02 PMenough-analyst-54434
12/27/2021, 8:02 PMwitty-crayon-22786
12/27/2021, 8:13 PM__coursier/*
, it fails. it’s not clear to me that moving those two files out won’t expose this same thing happening to the coursier binary (since as mentioned above: they’re all part of one digest, and one call to materialize_directory
)enough-analyst-54434
12/27/2021, 8:14 PMwitty-crayon-22786
12/27/2021, 8:15 PMenough-analyst-54434
12/27/2021, 8:15 PMwitty-crayon-22786
12/27/2021, 8:15 PMIf its actions aren;’t memoized, which it doesn’t seem they are, you write same paths twice to tmp dirthey are memoized by the
ImmutableInputs
structenough-analyst-54434
12/27/2021, 8:16 PMwitty-crayon-22786
12/27/2021, 8:17 PMenough-analyst-54434
12/27/2021, 8:18 PMwitty-crayon-22786
12/27/2021, 8:18 PM$tmp/${digest1}/foo/*
and $tmp/${digest2}/foo/*
enough-analyst-54434
12/27/2021, 8:19 PMwitty-crayon-22786
12/27/2021, 8:19 PMenough-analyst-54434
12/27/2021, 8:19 PMwitty-crayon-22786
12/27/2021, 8:21 PMenough-analyst-54434
12/27/2021, 8:22 PMwitty-crayon-22786
12/27/2021, 8:22 PMImmutableInputs
fails to materialize a directory: we don’t currently clean up after a failed attempt, and so the next attempt to materialize will encounter a readonly layout. but i don’t see a failed attempt to materialize hereenough-analyst-54434
12/27/2021, 8:23 PMwitty-crayon-22786
12/27/2021, 9:40 PMenough-analyst-54434
12/27/2021, 9:41 PMwitty-crayon-22786
12/27/2021, 9:55 PMenough-analyst-54434
12/27/2021, 9:56 PMwitty-crayon-22786
12/27/2021, 9:56 PMtokio
folks have a library/framework to check all interleavings though: https://tokio.rs/blog/2019-10-scheduler#fearless-unsafe-concurrency-with-loomenough-analyst-54434
12/27/2021, 9:57 PMwitty-crayon-22786
12/27/2021, 10:06 PMenough-analyst-54434
12/27/2021, 10:08 PMwitty-crayon-22786
12/27/2021, 10:09 PMenough-analyst-54434
12/28/2021, 3:34 AMwitty-crayon-22786
12/28/2021, 5:31 PMenough-analyst-54434
12/28/2021, 5:47 PMwitty-crayon-22786
12/28/2021, 5:50 PMenough-analyst-54434
12/28/2021, 5:53 PMwitty-crayon-22786
12/28/2021, 5:56 PMenough-analyst-54434
12/28/2021, 5:58 PMwitty-crayon-22786
12/28/2021, 6:00 PMenough-analyst-54434
12/28/2021, 9:23 PM~/.cache/pants/...
dir: https://github.com/pantsbuild/pants/pull/14016witty-crayon-22786
01/07/2022, 11:55 PMenough-analyst-54434
01/08/2022, 12:26 AMwitty-crayon-22786
01/08/2022, 12:26 AM