Octopus deploy - ISerializable type 'Octopus.Shared.Tasks.ActivityFailedException' error

Octopus v3.1.5

I have looked at the other support messages and cannot see any similar issues. Whilst running an Octopus deploy of a project during a wait for Manual Intervention step the dashboard will no longer allow access to the project or release. All attempts to access project to continue or abandon throw the following error:

ISerializable type ‘Octopus.Shared.Tasks.ActivityFailedException’ does not have a valid constructor. To correctly implement ISerializable a constructor that takes SerializationInfo and StreamingContext parameters should be present. Path ‘StateObject.CurrentSteps[1].Error’, line 1, position 3276.
Newtonsoft.Json.JsonSerializationException: ISerializable type ‘Octopus.Shared.Tasks.ActivityFailedException’ does not have a valid constructor. To correctly implement ISerializable a constructor that takes SerializationInfo and StreamingContext parameters should be present. Path ‘StateObject.CurrentSteps[1].Error’, line 1, position 3276.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializable(JsonReader reader, JsonISerializableContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType, IDictionary2& extensionData) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor1 creator, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Octopus.Core.RelationalStorage.RelationalTransaction.d__231.MoveNext() in Y:\work\refs\tags\3.1.5\source\Octopus.Core\RelationalStorage\RelationalTransaction.cs:line 249 at System.Collections.Generic.List1…ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
at Octopus.Server.Web.Infrastructure.Api.ChildIndexResponseDescriptor4.Responder.Execute() in Y:\work\refs\tags\3.1.5\source\Octopus.Server\Web\Infrastructure\Api\ChildIndexResponseDescriptor.cs:line 58 at Octopus.Server.Web.Infrastructure.Api.Responder1.Respond(TDescriptor options, NancyContext context) in Y:\work\refs\tags\3.1.5\source\Octopus.Server\Web\Infrastructure\Api\Responder.cs:line 162
at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at Octopus.Server.Web.Api.OctopusRestApiModule.<>c__DisplayClass0_0.<.ctor>b__0(Object o) in Y:\work\refs\tags\3.1.5\source\Octopus.Server\Web\Api\OctopusRestApiModule.cs:line 46
at Nancy.Routing.Route.<>c__DisplayClass4.b__3(Object parameters, CancellationToken context)

Access to the project process is still available so I can amend processes, but cannot redeploy due to above. As the timeout on manual intervention has now been removed, I have attempted to delete the release using the Octo command but this fails with the same error. My next step is to attempt to delete the whole project. Just raising in case this is a new issue or there are any other suggestions.

Hi Glynn,

Thanks for getting in touch. We fixed that problem in 3.2.11, the relevant issue is 2226.

If you are unable to upgrade at this time, try creating a new release and deploying it.

Hope that helps.

Robert W

Hi Robert,

Thanks for the reply, apologies I did not check Git issues but had exactly this scenario.

Would a delete of the project be OK (the release would not delete using the Octo commands) to remove it? Or should I wait until we upgrade?

Regards Glynn

Hi Glynn,

You can give it a go, but we may need to read that record to clean up the project.

Robert W

Upgraded to 3.4.9, project stopped and deleted. Thanks.

Notice:

This issue has been closed due to inactivity. If you encounter the same or a similar issue and require help, please open a new discussion. If you are the creator of this thread and believe it should not be closed let us know via our support email.