We have workaround the issue by using a semaphore to call the GCP storage step
import groovy.transform.Field @Field def lock = false @NonCPS def setLock(){ synchronized(lock) { lock = true } } @NonCPS def setUnlock(){ synchronized(lock) { lock = false } } @NonCPS def isLock(){ synchronized(lock) { return lock } } def waitForUnlock(){ while(isLock()){ sleep 10 } } def uploadPackages(bucketUri, baseDir){ waitForUnlock() setLock() googleStorageUpload(bucket: bucketUri, credentialsId: "${JOB_GCS_CREDENTIALS}", pathPrefix: "${baseDir}/build/distributions/", pattern: "${baseDir}/build/distributions/**/*", sharedPublicly: true, showInline: true ) setUnlock() } El miércoles, 28 de octubre de 2020 a las 22:34:59 UTC+1, Ivan Fernandez Calvo escribió: > Hi, > > We are facing some issues with a job that has about 100 stages in > parallel, we track down the issue and it happens when we storage artifacts > on GCP in parallel, the thing is that I am not sure it is related to the > plugin directly, Could someone take a look to this stack trace and confirm > that it is not related to the Core? BTW we are using Jenkins 2.252 > > *19:12:54* java.util.ConcurrentModificationException*19:12:54* at > java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)*19:12:54* > at java.util.HashMap$KeyIterator.next(HashMap.java:1469)*19:12:54* at > com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:73)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)*19:12:54* > at > hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:264)*19:12:54* > at > hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:251)*19:12:54* > Caused: java.lang.RuntimeException: Failed to serialize > com.google.jenkins.plugins.storage.reports.BuildGcsUploadReport#files for > class > com.google.jenkins.plugins.storage.reports.BuildGcsUploadReport*19:12:54* > at > hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:255)*19:12:54* > at > hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:223)*19:12:54* > at > com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)*19:12:54* > at > hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:209)*19:12:54* > at > hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:150)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)*19:12:54* > at > com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)*19:12:54* > at > com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)*19:12:54* > at > hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:264)*19:12:54* > at > hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:251)*19:12:54* > Caused: java.lang.RuntimeException: Failed to serialize > hudson.model.Actionable#actions for class > org.jenkinsci.plugins.workflow.job.WorkflowRun*19:12:54* at > hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:255)*19:12:54* > at > hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:223)*19:12:54* > at > com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)*19:12:54* > at > hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:209)*19:12:54* > at > hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:150)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)*19:12:54* > at > com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)*19:12:54* > at > com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)*19:12:54* > at com.thoughtworks.xstream.XStream.marshal(XStream.java:1026)*19:12:54* > at > com.thoughtworks.xstream.XStream.marshal(XStream.java:1015)*19:12:54* > at com.thoughtworks.xstream.XStream.toXML(XStream.java:988)*19:12:54* at > hudson.util.XStream2.toXMLUTF8(XStream2.java:313)*19:12:54* at > org.jenkinsci.plugins.workflow.support.PipelineIOUtils.writeByXStream(PipelineIOUtils.java:34)*19:12:54* > at > org.jenkinsci.plugins.workflow.job.WorkflowRun.save(WorkflowRun.java:1199)*19:12:54* > at hudson.BulkChange.commit(BulkChange.java:98)*19:12:54* at > org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.notifyListeners(CpsFlowExecution.java:1475)*19:12:54* > at > org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$3.run(CpsThreadGroup.java:489)*19:12:54* > at > org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:38)*19:12:54* > at > hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:136)*19:12:54* > at > jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)*19:12:54* > at > jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)*19:12:54* > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)*19:12:54* > at java.util.concurrent.FutureTask.run(FutureTask.java:266)*19:12:54* > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)*19:12:54* > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)*19:12:54* > at java.lang.Thread.run(Thread.java:748) > > > Thanks > Ivan Fernandez > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/fb671cbd-7ffd-4fb8-a05c-99bbf100151fn%40googlegroups.com.