I altready tried this, with this output.
expected to call Script4.exists but wound up catching sh; see:
https://jenkins.io/redirect/pipeline-cps-method-mismatches/
NOTE: if I use execute().text, instead of sh, it works fine.
El lunes, 8 de junio de 2020, 19:42:15 (UTC+2), Jérôme Godbout escribió:
>
> Yet another case of @NonCPS, this serializable requirements for functions
> is such a terrible idea, talk about tentacular requirements that destroy
> standard calls. They should have put recovery point function, where the
> context would have been saved and the script could add them as it please,
> this would have prevent all this @NonCPS nightmare and lead to a more
> standard code with standard groovy.
>
>
>
> Add @NonCPS decorator to your functions:
>
>
>
> @NonCPS
>
> def MyFct() {
>
> … do your stuff here
>
> }
>
>
>
> This prevent serialization of each actions into that functions.
>
>
>
> *From:* [email protected] <javascript:> <
> [email protected] <javascript:>> *On Behalf Of *chencho m-a
> *Sent:* June 8, 2020 5:19 AM
> *To:* Jenkins Users <[email protected] <javascript:>>
> *Subject:* java.io.NotSerializableException: java.lang.UNIXProcess
>
>
>
> Hi all,
>
>
>
> I have a (I hope) stupid issue that i am not able to solve
>
>
>
> I am calling to a method that only call a bash script like this.
>
>
>
>
> def exists(path) {
>
> try{
>
> sh(script:'ls -l',
>
> returnStdout: true).trim()
>
> return false
>
> } catch (err){ error "-E- Failed to run fs.exists(${path}),
> Exception err: ${err}"}
>
> }
>
>
>
>
>
> And I am always getting this exception
>
>
>
> *07**:**55**:**59* java.io.NotSerializableException: java.lang.UNIXProcess
> [Pipeline] End of Pipeline
> an exception which occurred:
> in field groovy.lang.Closure.delegate
> in object org.jenkinsci.plugins.workflow.cps.CpsClosure2@5ac3f4cc
> <javascript:>
> in field org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.closures
> in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@239d9620
> <javascript:>
> in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@239d9620
> <javascript:>
> Caused: java.io.NotSerializableException: java.lang.UNIXProcess
> at
> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:926)
> at
> org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
> at
> org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
> at
> org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
> at
> org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
> at
> java.util.LinkedHashMap.internalWriteEntries(LinkedHashMap.java:333)
> at java.util.HashMap.writeObject(HashMap.java:1363)
> at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
>
> ...
>
>
>
>
>
> Any clue?
>
> Jenkins 2.222.4
>
>
>
> --
> 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 [email protected] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/1c647bd5-c779-427a-bf98-1a61b5074b65o%40googlegroups.com
>
> <https://groups.google.com/d/msgid/jenkinsci-users/1c647bd5-c779-427a-bf98-1a61b5074b65o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/ffbb95d8-8fa2-4401-8a75-5480a10fce1do%40googlegroups.com.