Hi Guys,

I have extended AbstractScmTagAction (TagAction) to provide my own labeling 
capabilities and have my own Notifier (TagNotifier).

I am trying to invoke a remote task, but get some serialization issues when 
trying to pass TaskListener listener.

{code=java}
public class TagAction extends AbstractScmTagAction implements Serializable 
{
private static final long serialVersionUID = 1L;
private final TaskListener listener;
...
public TagAction(Run<?, ?> run, TaskListener listener) throws IOException,
InterruptedException {
super(run);
this.listener = listener;
 ...
}
...
public void labelBuild(String name, String description) throws Exception {
 ...
TaggingTask task = new TaggingTask(name, description, buildChange);
 ...
task.setListener(listener);

// Invoke the Label Task (should I use build??? I can't find FilePath under 
run)
FilePath buildWorkspace = build.getWorkspace();
buildWorkspace.act(task);
 ...
}
}
{code}

Here is the error I see...


{code}
java.lang.RuntimeException: Failed to serialize 
hudson.model.Actionable#actions for class hudson.model.FreeStyleBuild
at 
hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:214)
at 
hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182)
at 
com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
at 
hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167)
at 
hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at 
com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
at 
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:1026)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:1015)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:988)
at hudson.XmlFile.write(XmlFile.java:178)
at hudson.model.Run.save(Run.java:1902)
at hudson.model.Run.execute(Run.java:1789)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:234)
Caused by: java.lang.RuntimeException: Failed to serialize 
org.jenkinsci.plugins.p4.tagging.TagAction#listener for class 
org.jenkinsci.plugins.p4.tagging.TagAction
at 
hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:214)
at 
hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182)
at 
com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
at 
hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167)
at 
hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at 
com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
at 
com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
at 
hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223)
at 
hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210)
... 18 more
Caused by: com.thoughtworks.xstream.converters.ConversionException: Could 
not call hudson.model.StreamBuildListener.writeObject() : Could not call 
hudson.remoting.RemoteOutputStream.writeObject() : null
---- Debugging information ----
message             : Could not call 
hudson.remoting.RemoteOutputStream.writeObject()
cause-exception     : java.lang.NullPointerException
cause-message       : null
-------------------------------
message             : Could not call 
hudson.model.StreamBuildListener.writeObject()
cause-exception     : 
com.thoughtworks.xstream.converters.ConversionException
cause-message       : Could not call 
hudson.remoting.RemoteOutputStream.writeObject() : null
-------------------------------
at 
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callWriteObject(SerializationMethodInvoker.java:141)
at 
com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:259)
at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:83)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
at 
hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223)
at 
hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210)
... 33 more
Caused by: com.thoughtworks.xstream.converters.ConversionException: Could 
not call hudson.remoting.RemoteOutputStream.writeObject() : null
---- Debugging information ----
message             : Could not call 
hudson.remoting.RemoteOutputStream.writeObject()
cause-exception     : java.lang.NullPointerException
cause-message       : null
-------------------------------
at 
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callWriteObject(SerializationMethodInvoker.java:141)
at 
com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:259)
at 
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:83)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at 
com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at 
com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
at 
com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:140)
at 
com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:84)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342)
at hudson.util.StreamTaskListener.writeObject(StreamTaskListener.java:161)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callWriteObject(SerializationMethodInvoker.java:135)
... 40 more
Caused by: java.lang.NullPointerException
at 
hudson.remoting.RemoteOutputStream.writeObject(RemoteOutputStream.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callWriteObject(SerializationMethodInvoker.java:135)
... 55 more

{code}

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" 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-dev/df28cf97-3786-4ccc-aa6a-3e788272b1b2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to