Skip to content

Copying sdata_processed.zarr to S3 yields java.nio.file.NoSuchFileException #94

@R3myG

Description

@R3myG

Description of the bug

Hello,

I'm running into a very weird issue with Nextflow + Tower + SpatialVi when publishing the sdata_processed.zarr to S3.
I tested with Nextflow 24.04.3 and 24.04.4. The version of Tower is 23.3.0.
The process fails suddenly, aborting all currently running processes and just reporting a java.nio.file.NoSuchFileException in the Error report.

The error is systematic for this folder. I've checked the sdata_processed.zarr in the temporary directory and all is valid, I've tried to manually copy the folder to S3 with an aws s3 cp --recursive command and all the files were copied to the S3 bucket without problems.

I've sanitized the logs which are below.

Thank you,

Command used and terminal output

No response

Relevant files

[3f/b1e1b8] Submitted process > NFCORE_SPATIALVI:SPATIALVI:DOWNSTREAM:SPATIALLY_VARIABLE_GENES (B123456)
Nov-03 08:48:10.525 [PublishDir-5] DEBUG n.cloud.aws.nio.S3FileSystemProvider - S3 upload file from=/my/path/dev/fd/1d03ec9a5058771f66189cef527764/clustering.qmd to=s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/clustering.qmd
Nov-03 08:48:10.560 [PublishDir-2] DEBUG n.cloud.aws.nio.S3FileSystemProvider - S3 upload file from=/my/path/dev/fd/1d03ec9a5058771f66189cef527764/params.yml to=s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/clustering.yml
Nov-03 08:48:10.578 [PublishDir-1] DEBUG n.cloud.aws.nio.S3FileSystemProvider - S3 upload file from=/my/path/dev/fd/1d03ec9a5058771f66189cef527764/clustering.html to=s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/clustering.html
Nov-03 08:48:10.852 [PublishDir-9] DEBUG n.cloud.aws.nio.S3FileSystemProvider - S3 upload file from=/my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/adata_processed.h5ad to=s3://mys3bucket/Output/Project_Tmp/results/B123456/data/adata_processed.h5ad
Nov-03 08:48:12.952 [PublishDir-8] DEBUG nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/_extensions; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/_extensions [copy] -- attempt: 1; reason: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/_extensions/nf-core does not exist
Nov-03 08:48:13.059 [PublishDir-8] DEBUG n.cloud.aws.nio.S3FileSystemProvider - S3 upload directory from=/my/path/dev/fd/1d03ec9a5058771f66189cef527764/_extensions to=s3://mys3bucket/Output/Project_Tmp/results/B123456/reports/_extensions
Nov-03 08:48:15.024 [PublishDir-7] DEBUG nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- attempt: 1; reason: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/pct_counts_in_top_50_genes does not exist
Nov-03 08:48:18.521 [PublishDir-7] DEBUG nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- attempt: 2; reason: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/pct_counts_mt does not exist
Nov-03 08:48:22.555 [PublishDir-7] DEBUG nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- attempt: 3; reason: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/pct_counts_ribo does not exist
Nov-03 08:48:29.014 [PublishDir-7] DEBUG nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- attempt: 4; reason: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/region/categories does not exist
Nov-03 08:48:33.155 [PublishDir-7] ERROR nextflow.processor.PublishDir - Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- See log file for details
dev.failsafe.FailsafeException: java.nio.file.NoSuchFileException: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/region/codes does not exist
	at dev.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:444)
	at dev.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:129)
	at nextflow.processor.PublishDir.retryableProcessFile(PublishDir.groovy:396)
	at nextflow.processor.PublishDir.safeProcessFile(PublishDir.groovy:367)
	at jdk.internal.reflect.GeneratedMethodAccessor240.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
	at groovy.lang.MetaClassImpl.doInvokeMethod(MetaClassImpl.java:1333)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1088)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:645)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:628)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:82)
	at nextflow.processor.PublishDir$_apply1_closure1.doCall(PublishDir.groovy:342)
	at nextflow.processor.PublishDir$_apply1_closure1.call(PublishDir.groovy)
	at groovy.lang.Closure.run(Closure.java:505)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.nio.file.NoSuchFileException: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/region/codes does not exist
	at nextflow.cloud.aws.nio.S3FileSystemProvider.delete(S3FileSystemProvider.java:499)
	at java.base/java.nio.file.Files.delete(Files.java:1142)
	at nextflow.file.FileHelper$3.postVisitDirectory(FileHelper.groovy:1038)
	at nextflow.file.FileHelper$3.postVisitDirectory(FileHelper.groovy)
	at java.base/java.nio.file.Files.walkFileTree(Files.java:2743)
	at java.base/java.nio.file.Files.walkFileTree(Files.java:2797)
	at nextflow.file.FileHelper.deleteDir0(FileHelper.groovy:1030)
	at nextflow.file.FileHelper.deletePath(FileHelper.groovy:1022)
	at nextflow.processor.PublishDir.processFile(PublishDir.groovy:419)
	at jdk.internal.reflect.GeneratedMethodAccessor242.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
	at groovy.lang.MetaClassImpl.doInvokeMethod(MetaClassImpl.java:1333)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1088)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:645)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:628)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:82)
	at nextflow.processor.PublishDir$_retryableProcessFile_closure2.doCall(PublishDir.groovy:397)
	at jdk.internal.reflect.GeneratedMethodAccessor241.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
	at groovy.lang.Closure.call(Closure.java:433)
	at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:52)
	at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:113)
	at com.sun.proxy.$Proxy43.get(Unknown Source)
	at dev.failsafe.Functions.lambda$get$0(Functions.java:46)
	at dev.failsafe.internal.RetryPolicyExecutor.lambda$apply$0(RetryPolicyExecutor.java:75)
	at dev.failsafe.SyncExecutionImpl.executeSync(SyncExecutionImpl.java:176)
	at dev.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:437)
	... 22 common frames omitted
ERROR ~ Failed to publish file: /my/path/dev/fd/1d03ec9a5058771f66189cef527764/artifacts/sdata_processed.zarr; to: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr [copy] -- See log file for details

 -- Check 'nf-2Aa5zlcwcMJE9j.log' file for details
Nov-03 08:48:33.187 [PublishDir-7] DEBUG nextflow.Session - Session aborted -- Cause: java.nio.file.NoSuchFileException: the path: s3://mys3bucket/Output/Project_Tmp/results/B123456/data/sdata_processed.zarr/tables/table/obs/region/codes does not exist

System information

Nextflow 24.04.3 and 24.04.4.
Tower / Sequera cloud enterprise 23.3.0

Tested with version currently on dev of SpatialVi.

Hardware: HPC
Executor Slurm

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions