-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Platform: All, OS: All
The current version 1.5.1 of the SCP plugin is broken for "password only"
authentication. The current implementation seems to always require a key file.
Assumption:
Check for keyfile entry fails or fallback if first try with key file does not
succeed is not implemented.
(switching back to 1.4 solved the issue for the moment)
---------------------------------------------------------------------------
Hudson console log:
[SCP] Connecting to <myscpserver>
ERROR: Failed to upload files
com.jcraft.jsch.JSchException: java.io.FileNotFoundException:
at com.jcraft.jsch.IdentityFile.<init>(Unknown Source)
at com.jcraft.jsch.JSch.addIdentity(Unknown Source)
at be.certipost.hudson.plugin.SCPSite.createSession(SCPSite.java:138)
at
be.certipost.hudson.plugin.SCPRepositoryPublisher.perform(SCPRepositoryPublisher.java:101)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:319)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:307)
at hudson.model.Build$RunnerImpl.post2(Build.java:126)
at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:292)
at hudson.model.Run.run(Run.java:837)
at hudson.model.Build.run(Build.java:88)
at hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:88)
The TOMCAT log reveals the real issue:
Nov 11, 2008 1:32:41 PM hudson.util.RobustReflectionConverter doUnmarshal
WARNING: Skipping a non-existent field keyfile
com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No
such field be.certipost.hudson.plugin.SCPSite.keyfile
at
com.thoughtworks.xstream.converters.reflection.FieldDictionary.field(FieldDictionary.java:106)
at
com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.getFieldType(PureJavaReflectionProvider.java:151)
at
hudson.util.RobustReflectionConverter.determineType(RobustReflectionConverter.java:299)
at
hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:190)
at
hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:145)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:55)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:75)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:59)
at
com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:77)
at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:152)
at hudson.util.CopyOnWriteList$ConverterImpl.unmarshal(CopyOnWriteList.java:131)
at hudson.util.XStream2$AssociatedConverterImpl.unmarshal(XStream2.java:117)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:55)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:75)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:59)
at
hudson.util.RobustReflectionConverter.unmarshallField(RobustReflectionConverter.java:234)
at
hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:194)
at
hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:145)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:81)
at
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:55)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:75)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:59)
at
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:142)
at
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:931)
at hudson.util.XStream2.unmarshal(XStream2.java:42)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:917)
at hudson.XmlFile.unmarshal(XmlFile.java:123)
at hudson.model.Descriptor.load(Descriptor.java:288)
at
be.certipost.hudson.plugin.SCPRepositoryPublisher$DescriptorImpl.<init>(SCPRepositoryPublisher.java:144)
at
be.certipost.hudson.plugin.SCPRepositoryPublisher.<clinit>(SCPRepositoryPublisher.java:138)
at be.certipost.hudson.plugin.PluginImpl.start(PluginImpl.java:18)
at hudson.ClassicPluginStrategy.startPlugin(ClassicPluginStrategy.java:198)
at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:187)
at hudson.PluginManager.<init>(PluginManager.java:118)
at hudson.model.Hudson.<init>(Hudson.java:369)
at hudson.WebAppMain$2.run(WebAppMain.java:156)