Mahesh Binzer-Panchal
04/09/2025, 1:15 PM-resume, but it appears I didn't. The process itself won't cache because workflow.workDir is part of the cache and that of course changes because subsequent processes write in that directory. Even fiddling around with the inputs to make the cache_dir a string doesn't help because the process itself won't serialise:
com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor): java.lang.ProcessImpl
at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1228)
at nextflow.util.InstantiationStrategy.newInstantiatorOf(SerializationHelper.groovy:247)
at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1049)
at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1058)
at com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:547)
at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:523)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761)
at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:143)
at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:21)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at nextflow.util.KryoHelper.deserialize(SerializationHelper.groovy:181)
at nextflow.util.KryoHelper.deserialize(SerializationHelper.groovy)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at nextflow.processor.TaskContext.deserialize(TaskContext.groovy:208)
at nextflow.cache.CacheDB.getTaskEntry(CacheDB.groovy:88)
at nextflow.processor.TaskProcessor.checkCachedOrLaunchTask(TaskProcessor.groovy:807)
I don't have records of my tests so I don't know what I did back then, that made me think it worked correctly.