[BUG] Plotting with pwd = -d ends with an infinite loop you cannot Ctrl+C out of #5863
Labels
bug
Something isn't working
stale-issue
flagged as stale and will be closed in 7 days if not updated
Describe the bug
At the end of the plotting process, the plotter attempts to copy the temporary plot file (*.plot.2.tmp) to the destination folder. If the destination folder is the same as the source folder, e.g. if you run
chia plots create [...] -d foo
from the foo directory, everything goes fine until the last part, where you getCould not copy "./plot-k32-[...].plot.2.tmp" to "/mnt/foo/plot-k32-[...].plot.2.tmp". Error File exists. Retrying in five minutes.
. The error repeats in a loop every 5 minutes and you cannot Ctrl+C out of it, because interrupting only shortens the waiting part and you get the same message again.The plot file itself seems to be fine after simply renaming it to
plot-k32-[...].plot
.To Reproduce
Steps to reproduce the behavior:
~/plots
folder, or wherever you're keeping your plotschia plots create -k32 -n1 -d $PWD -f [...] -p [...]
with the appropriate -f and -p keysExpected behavior
A plot should be created. Nowhere in the CLI plotting documentation it's stated that the temporary directory and the final directory have to be different. The copy should only take place if the final rename (from .plot.2.tmp to .plot) is across volumes, otherwise it should be just that (a rename).
Screenshots
Not a screenshot, but a log:
As you can see, Ctrl+C only made the script repeat the attempt, not actually stop them. In the end, I just pkilled the python process responsible.
Desktop (please complete the following information):
Additional context
If I'm reading this correctly, currently the plotting process requires full 269.321 GiB for the temporary files and 101.343 GiB for the final file resulting in 370.664 GiB total, even though it should actually only need the 269.321 GiB if the temporary and final file reside on the same volume and can be simply moved/renamed as an atomic operation. Whether the two paths reside on the same volume can be checked with
os.stat(path).st_dev
The text was updated successfully, but these errors were encountered: