Tentacle issue after Upgrading

Hi there,

We upgraded Octopus from 3.3.4 to 3.7.2 and one of our Tentacles got an issue at every deployment. It’a an old Tentacle (3.0.25) because the machine is a Win 2k3 R2, 32-bit server.
The package is copied to the Octopus\Files folder, but while extracting the package to the Applications folder, we got this message in the log:

Deploying package ‘C:\Octopus\Files\POFS.Lamprgs.V3Server.1.22.0.0.nupkg-871bbbb4-3ab8-4acb-b4a2-b405affdd285’ to machine ‘https://pt-v3-26:10933/
December 8th 2016 11:03:15Info
Deploying package: C:\Octopus\Files\POFS.Lamprgs.V3Server.1.22.0.0.nupkg-871bbbb4-3ab8-4acb-b4a2-b405affdd285
December 8th 2016 11:03:15Error
System.UriFormatException: Invalid URI: There is an invalid sequence in the string.
December 8th 2016 11:03:15Error
at System.Uri.UnescapeString(Char* pStr, Int32 start, Int32 end, Char[] dest, Int32& destPosition, Char rsvd1, Char rsvd2, Char rsvd3, UnescapeMode unescapeMode, UriParser syntax, Boolean isQuery, Boolean readOnlyConfig)
December 8th 2016 11:03:15Error
at System.Uri.UnescapeString(String input, Int32 start, Int32 end, Char[] dest, Int32& destPosition, Char rsvd1, Char rsvd2, Char rsvd3, UnescapeMode unescapeMode, UriParser syntax, Boolean isQuery, Boolean readOnlyConfig)
December 8th 2016 11:03:15Error
at System.Uri.UnescapeDataString(String stringToUnescape)
December 8th 2016 11:03:15Error
at Calamari.Integration.Packages.NuGet.NupkgExtractor.Extract(String packageFile, String directory, Boolean suppressNestedScriptWarning) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Integration\Packages\NuGet\NupkgExtractor.cs:line 34
December 8th 2016 11:03:15Error
at Calamari.Integration.Packages.GenericPackageExtractor.Extract(String packageFile, String directory, Boolean suppressNestedScriptWarning) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Integration\Packages\GenericPackageExtractor.cs:line 24
December 8th 2016 11:03:15Error
at Calamari.Deployment.Conventions.ExtractPackageConvention.Install(RunningDeployment deployment) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\Conventions\ExtractPackageConvention.cs:line 31
December 8th 2016 11:03:15Error
at Calamari.Deployment.ConventionProcessor.RunInstallConventions() in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\ConventionProcessor.cs:line 56
December 8th 2016 11:03:15Error
at Calamari.Deployment.ConventionProcessor.RunConventions() in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\ConventionProcessor.cs:line 25
December 8th 2016 11:03:15Error
Running rollback conventions…
December 8th 2016 11:03:16Error
System.ArgumentNullException: Value cannot be null.
December 8th 2016 11:03:16Error
Parameter name: path
December 8th 2016 11:03:16Error
at System.IO.DirectoryInfo…ctor(String path)
December 8th 2016 11:03:16Error
at Calamari.Integration.FileSystem.CalamariPhysicalFileSystem.EnumerateFiles(String parentDirectoryPath, String[] searchPatterns) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Integration\FileSystem\CalamariPhysicalFileSystem.cs:line 183
December 8th 2016 11:03:16Error
at Calamari.Integration.Scripting.PackagedScriptRunner.FindScripts(RunningDeployment deployment) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Integration\Scripting\PackagedScriptRunner.cs:line 55
December 8th 2016 11:03:16Error
at Calamari.Integration.Scripting.PackagedScriptRunner.RunScripts(RunningDeployment deployment) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Integration\Scripting\PackagedScriptRunner.cs:line 29
December 8th 2016 11:03:16Error
at Calamari.Deployment.Conventions.RollbackScriptConvention.Rollback(RunningDeployment deployment) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\Conventions\RollbackScriptConvention.cs:line 16
December 8th 2016 11:03:16Error
at Calamari.Deployment.ConventionProcessor.RunRollbackConventions() in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\ConventionProcessor.cs:line 69
December 8th 2016 11:03:16Error
at Calamari.Deployment.ConventionProcessor.RunConventions() in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Deployment\ConventionProcessor.cs:line 45
December 8th 2016 11:03:16Error
at Calamari.Commands.DeployPackageCommand.Execute(String[] commandLineArguments) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Commands\DeployPackageCommand.cs:line 116
December 8th 2016 11:03:16Error
at Calamari.Program.Execute(String[] args) in Z:\buildAgent\workDir\14ffc968155e4956\source\Calamari\Program.cs:line 45
December 8th 2016 11:03:19Fatal
The remote script failed with exit code 100
December 8th 2016 11:03:19Fatal
Deploy the V3 Lamprgs Folder on PT-V3-26

Could you please help us?

v3log.log (31 KB)

Hi Andre,

It looks like it is failing while extracting your POFS.Lamprgs.V3Server.1.22.0.0.nupkg package. The line it is failing on is where we do some processing of filenames within the package to handle unicode-releated issues we’ve seen in the past. Is there any chance we could get a copy of that package to help us with getting to the cause of this? You can securely share a file with us at this link: https://file.ac/PkVZd1-AXzQ/ Otherwise would you be able to send me a list of the filenames, with paths, of all the files in the package?

Mark

Hi Mark,

Thanks for the reply.
Unfortunately the package contains some sensitive data, so is that ok if I send a txt file with the file names as they are in the .nuspec file?

Thanks!

Andre

POFS.Lamprgs.V3Server.1.22.0.0.txt (34 KB)

Hi Andre,

The list of file names is fine. Once I got a Windows 2003 VM up and running this was easy to reproduce. I’ve created an issue in our tracker here: https://github.com/OctopusDeploy/Issues/issues/3008 which you can follow. We should have a fix out for this in our next release in the next few days.

Mark

Hi Mark,
Thanks for the fast update and opening the issue.
I believe we found the cause of this issue: we took off the files with ‘%’ in their filename and the deployment worked fine. The files we took off from the package are:

    <file src="7%CTLIFE.XLS" target="7%CTLIFE.XLS" />
    <file src="9%CAteq.xls" target="9%CAteq.xls" />
    <file src="9%CTLIFE.XLS" target="9%CTLIFE.XLS" />
    <file src="9%etheq.xls" target="9%etheq.xls" />
    <file src="9%NCLIFE.XLS" target="9%NCLIFE.XLS" />
    <file src="9%NCTEQ.XLS" target="9%NCTEQ.XLS" />  

Note that these files were been deployed before the upgrade without any issues.

Thanks again,

Andre Pimentel

Hi Andre,

We have just released Octopus 3.7.6 which should handle % in files on Windows Server 2003. Please let us know if you update and still have problems.

Mark

Thank you very much Mark!
Awesome job!

Cheers,

Andre Pimentel