Octopus is not happy when the Temp drive is not on a persistent disk

Hi,

We have move our CI build to Azure to take advantage of the new SSD based D drives. We redirected Windows Temp env variable to D:\Temp and this broke Octopus. Not a show stopper but it would be good if Ocotpus handled this scenario. And don’t worry. Asp.net did not like it either :slight_smile:


Unhandled error on request: https://build.pwcs.readifycustomer.com:8443/api/licenses/licenses-current : An exception was thrown while invoking the constructor 'Void .ctor()' on type 'LicenseVerificationCertificateProvider'. ---> The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. (See inner exception for details.)

Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor()' on type 'LicenseVerificationCertificateProvider'. ---> The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. (See inner exception for details.) ---> System.TypeInitializationException: The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\WINDOWSOS_TEMP\TEMP\Octo-289e0869-9f83-4ad3-8466-875812758a33'.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   at System.IO.File.InternalDelete(String path, Boolean checkHost)

   at Octopus.Platform.Security.Certificates.CertificateEncoder.FromBase64StringPublicKeyOnly(String certificateString) in y:\work\refs\heads\master\source\Octopus.Platform\Security\Certificates\CertificateEncoder.cs:line 196

   at Octopus.Shared.Licensing.LicenseVerificationCertificateProvider..cctor() in y:\work\refs\heads\master\source\Octopus.Shared\Licensing\LicenseVerificationCertificateProvider.cs:line 14

   --- End of inner exception stack trace ---

   at Octopus.Shared.Licensing.LicenseVerificationCertificateProvider..ctor()

   at lambda_method(Closure , Object[] )

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   --- End of inner exception stack trace ---

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)

   at Octopus.Server.Web.Api.OctopusRestApiModule.<>c__DisplayClass5.<.ctor>b__2(Object o) in y:\work\refs\heads\master\source\Octopus.Server\Web\Api\OctopusRestApiModule.cs:line 34

   at CallSite.Target(Closure , CallSite , Func`2 , Object )

   at Nancy.Routing.Route.<>c__DisplayClass4.<Wrap>b__3(Object parameters, CancellationToken context)


Error    2014-10-21 13:35:12

Error posting to: https://portalpocuat:10933/mx/v1

System.Net.Sockets.SocketException (0x80004005): This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server

   at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)

   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)

   at System.Net.Sockets.TcpClient.Connect(String hostname, Int32 port)

   at Pipefish.Transport.SecureTcp.Client.SecureTcpClient.Send(SecureTcpRequest request) in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\Client\SecureTcpClient.cs:line 39

   at Pipefish.Transport.SecureTcp.MessageExchange.Client.ClientWorker.PerformExchange() in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\MessageExchange\Client\ClientWorker.cs:line 312

   at Pipefish.Transport.SecureTcp.MessageExchange.Client.ClientWorker.Run() in y:\work\3cbe05672d69a231\source\Pipefish.Transport.SecureTcp\MessageExchange\Client\ClientWorker.cs:line 175


Error    2014-10-21 13:35:15

Unhandled error on request: https://build.pwcs.readifycustomer.com:8443/api/licenses/licenses-current : An exception was thrown while invoking the constructor 'Void .ctor()' on type 'LicenseVerificationCertificateProvider'. ---> The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. (See inner exception for details.)

Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor()' on type 'LicenseVerificationCertificateProvider'. ---> The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. (See inner exception for details.) ---> System.TypeInitializationException: The type initializer for 'Octopus.Shared.Licensing.LicenseVerificationCertificateProvider' threw an exception. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\WINDOWSOS_TEMP\TEMP\Octo-289e0869-9f83-4ad3-8466-875812758a33'.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   at System.IO.File.InternalDelete(String path, Boolean checkHost)

   at Octopus.Platform.Security.Certificates.CertificateEncoder.FromBase64StringPublicKeyOnly(String certificateString) in y:\work\refs\heads\master\source\Octopus.Platform\Security\Certificates\CertificateEncoder.cs:line 196

   at Octopus.Shared.Licensing.LicenseVerificationCertificateProvider..cctor() in y:\work\refs\heads\master\source\Octopus.Shared\Licensing\LicenseVerificationCertificateProvider.cs:line 14

   --- End of inner exception stack trace ---

   at Octopus.Shared.Licensing.LicenseVerificationCertificateProvider..ctor()

   at lambda_method(Closure , Object[] )

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   --- End of inner exception stack trace ---

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()

   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)

   at Autofac.Core.Resolving.InstanceLookup.Execute()

   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)

   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)

   at Octopus.Server.Web.Api.OctopusRestApiModule.<>c__DisplayClass5.<.ctor>b__2(Object o) in y:\work\refs\heads\master\source\Octopus.Server\Web\Api\OctopusRestApiModule.cs:line 34

   at CallSite.Target(Closure , CallSite , Func`2 , Object )

   at Nancy.Routing.Route.<>c__DisplayClass4.<Wrap>b__3(Object parameters, CancellationToken context)


Hi Pawel,

Thanks for reporting this. We will keep an eye on this issue and try to judge it’s impact.

Vanessa