- 
    Bug 
- 
    Resolution: Fixed
- 
    Major 
- 
    None
- 
    Jenkins 1.429 (and several previous), build-publisher 1.11-SNAPSHOT (current master)
The current build-publisher throws an error when trying to re-load its configuration during Jenkins start up:
WARNING: Failed to load /home/hudson/master/hudson.plugins.build_publisher.BuildPublisher.xml
hudson.util.IOException2: Unable to read /home/hudson/master/hudson.plugins.build_publisher.BuildPublisher.xml
        at hudson.XmlFile.unmarshal(XmlFile.java:160)
        at hudson.model.Descriptor.load(Descriptor.java:753)
        at hudson.plugins.build_publisher.BuildPublisher$BuildPublisherDescriptor.<init>(BuildPublisher.java:118)
        at hudson.plugins.build_publisher.BuildPublisher.<clinit>(BuildPublisher.java:108)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:936)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:917)
        at java.lang.reflect.Field.get(Field.java:376)
        at net.java.sezpoz.IndexItem.instance(IndexItem.java:185)
        at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:180)
        at hudson.ExtensionFinder._find(ExtensionFinder.java:94)
        at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:281)
        at hudson.ExtensionList.load(ExtensionList.java:258)
        at hudson.ExtensionList.ensureLoaded(ExtensionList.java:229)
        at hudson.ExtensionList.iterator(ExtensionList.java:136)
        at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:1083)
        at hudson.plugins.copyartifact.BuildSelectorParameter.initAliases(BuildSelectorParameter.java:100)
        at hudson.plugins.copyartifact.CopyArtifactPlugin.postInitialize(CopyArtifactPlugin.java:35)
        at hudson.PluginManager$2$1$2.run(PluginManager.java:301)
        at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
        at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
        at jenkins.model.Jenkins$5.runTask(Jenkins.java:796)
        at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
        at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)
Caused by: com.thoughtworks.xstream.converters.ConversionException: Could not call hudson.plugins.build_publisher.HudsonInstance.readResolve() : null : Could not call hudson.plugins.build_publisher.HudsonInstance.readResolve() : null
---- Debugging information ----
message             : Could not call hudson.plugins.build_publisher.HudsonInstance.readResolve() : null
cause-exception     : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message       : Could not call hudson.plugins.build_publisher.HudsonInstance.readResolve() : null
class               : hudson.plugins.build_publisher.BuildPublisher$BuildPublisherDescriptor
required-type       : hudson.plugins.build_publisher.HudsonInstance
path                : /hudson.plugins.build_publisher.BuildPublisher$BuildPublisherDescriptor/publicInstances/hudson.plugins.build_publisher.HudsonInstance
line number         : 9
-------------------------------
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
        at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:290)
        at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:233)
        at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:180)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
        at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:926)
        at hudson.util.XStream2.unmarshal(XStream2.java:89)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:912)
        at hudson.XmlFile.unmarshal(XmlFile.java:156)
        ... 28 more
Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Could not call hudson.plugins.build_publisher.HudsonInstance.readResolve() : null
        at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:50)
        at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:181)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        ... 50 more
Caused by: java.lang.NullPointerException
        at hudson.plugins.build_publisher.HudsonInstance.readResolve(HudsonInstance.java:121)
        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:616)
        at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadResolve(SerializationMethodInvoker.java:46)
        ... 52 more
The net effect is that the Build Publisher silently "forgets" the remote site configuration every time Jenkins is restarted. This only appears to affect instances that have a remote Jenkins installation configured.