We encountered an issue when tried to consume a an object with serialized exception from rabbitmq.
Masstransit throws a serialization exception related to newtonsoft , and message is returned to queue , only to fail again on next consume.
mscorlib.dll!System.Runtime.Serialization.SafeSerializationManager.CompleteDeserialization(object deserializedObject) Unknown
[Native to Managed Transition]
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonContract.InvokeOnDeserialized(object o, System.Runtime.Serialization.StreamingContext context) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.OnDeserialized(Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, object value) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializable(Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonISerializableContract contract, Newtonsoft.Json.Serialization.JsonProperty member, string id) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializableItem(Newtonsoft.Json.Linq.JToken token, System.Type type, Newtonsoft.Json.Serialization.JsonISerializableContract contract, Newtonsoft.Json.Serialization.JsonProperty member) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonFormatterConverter.Convert(object value, System.Type type) Unknown
mscorlib.dll!System.Runtime.Serialization.SerializationInfo.GetValue(string name, System.Type type) Unknown
mscorlib.dll!System.Exception.Exception(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) Unknown
[Lightweight Function]
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializable(Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonISerializableContract contract, Newtonsoft.Json.Serialization.JsonProperty member, string id) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, object target) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, string id) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, object target) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, string id) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, object existingValue) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(Newtonsoft.Json.JsonReader reader, System.Type objectType, bool checkAdditionalContent) Unknown
Newtonsoft.Json.dll!Newtonsoft.Json.JsonSerializer.DeserializeInternal(Newtonsoft.Json.JsonReader reader, System.Type objectType) Unknown
> MassTransit.dll!MassTransit.Serialization.JsonConsumeContext.TryGetMessage<com.Core2.Messaging.ILogEntryEvent>(out MassTransit.ConsumeContext<com.Core2.Messaging.ILogEntryEvent> message) Unknown
MassTransit.dll!MassTransit.Context.ConsumeContextProxy.TryGetMessage<com.Core2.Messaging.ILogEntryEvent>(out MassTransit.ConsumeContext<com.Core2.Messaging.ILogEntryEvent> consumeContext) Unknown
MassTransit.dll!MassTransit.Pipeline.Filters.MessageConsumeFilter<com.Core2.Messaging.ILogEntryEvent>.MassTransit-Pipeline-IFilter<MassTransit-ConsumeContext>-Send() Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MassTransit.Pipeline.Filters.MessageConsumeFilter<com.Core2.Messaging.ILogEntryEvent>.MassTransit-Pipeline-IFilter<MassTransit-ConsumeContext>-Send>(ref MassTransit.Pipeline.Filters.MessageConsumeFilter<com.Core2.Messaging.ILogEntryEvent>.MassTransit-Pipeline-IFilter<MassTransit-ConsumeContext>-Send stateMachine) Unknown
MassTransit.dll!MassTransit.Pipeline.Filters.MessageConsumeFilter<com.Core2.Messaging.ILogEntryEvent>.MassTransit.Pipeline.IFilter<MassTransit.ConsumeContext>.Send(MassTransit.ConsumeContext context, MassTransit.Pipeline.IPipe<MassTransit.ConsumeContext> next) Unknown
System.Core.dll!System.Linq.Enumerable.WhereSelectEnumerableIterator<MassTransit.Pipeline.Filters.MessageTypeConsumeFilter.IMessagePipe,System.Threading.Tasks.Task>.MoveNext() Unknown
mscorlib.dll!System.Threading.Tasks.Task.WhenAll(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task> tasks) Unknown
MassTransit.dll!MassTransit.Pipeline.Filters.RetryFilter.Attempt() Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<MassTransit.Pipeline.Filters.RetryFilter.Attempt>(ref MassTransit.Pipeline.Filters.RetryFilter.Attempt stateMachine) Unknown
MassTransit.dll!MassTransit.Pipeline.Filters.RetryFilter.Attempt() Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() Unknown
mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask) Unknown
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Unknown
mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetResult(System.Threading.Tasks.VoidTaskResult result) Unknown
mscorlib.dll!System.Threading.Tasks.Task.DelayPromise.Complete() Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown
mscorlib.dll!System.Threading.TimerQueueTimer.CallCallback() Unknown
mscorlib.dll!System.Threading.TimerQueueTimer.Fire() Unknown
mscorlib.dll!System.Threading.TimerQueue.FireNextTimers() Unknown
{
"messageId": "19a30000-1c95-a048-29cc-08d3d003865e",
"conversationId": "19a30000-1c95-a048-2a7b-08d3d003865e",
"sourceAddress": "rabbitmq://localhost:5672/Com/bus-XXYY-Com.HttpGateway.Service-dgtoyyyh1sorty4jbdj7yy4iy5?durable=false&autodelete=true&prefetch=16",
"destinationAddress": "rabbitmq://localhost:5672/Com/Com.Core2.Messaging:ILogEntryEvent",
"messageType": [
"urn:message:Com.Core2.Messaging:ILogEntryEvent",
"urn:message:Com.Core2.Messaging:ICommandMessage",
"urn:message:Com.Core2.Messaging:IMessage",
"urn:message:Com.Core2:INonCachableKey"
],
"message": {
"logEntryInfo": {
"eventDate": "2016-08-29T11:56:34.7171609Z",
"serviceName": "Com.HttpGateway.Service",
"machineName": "XXYY",
"logLevel": "ERROR",
"title": "ERROR in MicroService Com.HttpGateway.Service ",
"assemblyFileVersion": "1.0.1.82",
"dataJson": "\"[\\r\\n {\\r\\n \\\"Name\\\": \\\"JObject\\\",\\r\\n \\\"Value\\\": {\\r\\n \\\"message\\\": \\\"XX\\\",\\r\\n \\\"request_id\\\": \\\"ea477f0532cc4727bb4acab6a5d5bd80\\\",\\r\\n \\\"date_created_utc\\\": \\\"8/29/2016 10:24:28 AM\\\",\\r\\n \\\"customer_tag\\\": \\\"476afa6e-1038-4808-8bbf-86d9d857b8c4\\\",\\r\\n \\\"callback_url\\\": \\\"
http://mock.Com/X123/audit\\\",\\r\\n \\\"confirm_id\\\": \\\"\\\",\\r\\n \\\"result_code\\\": \\\"1009\\\",\\r\\n \\\"result_description\\\": \\\"YY\\\"\\r\\n }\\r\\n }\\r\\n]\"",
"exception": {
"ClassName": "System.AggregateException",
"Message": "One or more errors occurred.",
"Data": null,
"InnerException": {
"ClassName": "System.Net.Http.HttpRequestException",
"Message": "An error occurred while sending the request.",
"Data": null,
"InnerException": {
"ClassName": "System.Net.WebException",
"Message": "The remote name could not be resolved: 'mock.Com'",
"Data": null,
"InnerException": null,
"HelpURL": null,
"StackTraceString": " at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)\r\n at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": "8\nEndGetRequestStream\nSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Net.HttpWebRequest\nSystem.IO.Stream EndGetRequestStream(System.IAsyncResult, System.Net.TransportContext ByRef)",
"Source": "System",
"WatsonBuckets": null
},
"HelpURL": null,
"StackTraceString": " at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Com.Core2.HttpRequestSender.<PostJsonAsync>d__0.MoveNext() in c:\\Agent1\\_work\\22\\s\\Core\\Com.Core\\Src\\Web\\HttpPostRequestSender.cs:line 36\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Com.HttpGateway.Service.HttpSenderClient.<>c__DisplayClass10.<<Post>b__e>d__12.MoveNext() in c:\\Net-Bet\\Workspace2015\\ComV2\\HttpGateway\\1.0.0.0\\Com.HttpGateway.Service\\Src\\Common\\HttpSenderClient.cs:line 139",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": "8\nThrowForNonSuccess\nmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Runtime.CompilerServices.TaskAwaiter\nVoid ThrowForNonSuccess(System.Threading.Tasks.Task)",
"Source": "mscorlib",
"WatsonBuckets": null,
"SafeSerializationManager": {
"m_serializedStates": [
{}
]
},
"CLR_SafeSerializationManager_RealType": "System.Net.Http.HttpRequestException, System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
},
"HelpURL": null,
"StackTraceString": " at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n at System.Threading.Tasks.Task.Wait(TimeSpan timeout)\r\n at
Com.HttpGateway.Service.HttpSenderClient.Post(IHttpPostCommand httpCommand) in c:\\Net-Bet\\Workspace2015\\ComV2\\HttpGateway\\1.0.0.0\\Com.HttpGateway.Service\\Src\\Common\\HttpSenderClient.cs:line 137",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": "8\nWait\nmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Threading.Tasks.Task\nBoolean Wait(Int32, System.Threading.CancellationToken)",
"Source": "mscorlib",
"WatsonBuckets": null,
"InnerExceptions": [
{
"ClassName": "System.Net.Http.HttpRequestException",
"Message": "An error occurred while sending the request.",
"Data": null,
"InnerException": {
"ClassName": "System.Net.WebException",
"Message": "The remote name could not be resolved: 'mock.Com'",
"Data": null,
"InnerException": null,
"HelpURL": null,
"StackTraceString": " at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)\r\n at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": "8\nEndGetRequestStream\nSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Net.HttpWebRequest\nSystem.IO.Stream EndGetRequestStream(System.IAsyncResult, System.Net.TransportContext ByRef)",
"Source": "System",
"WatsonBuckets": null
},
"HelpURL": null,
"StackTraceString": " at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Com.Core2.HttpRequestSender.<PostJsonAsync>d__0.MoveNext() in c:\\Agent1\\_work\\22\\s\\Core\\Com.Core\\Src\\Web\\HttpPostRequestSender.cs:line 36\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Com.HttpGateway.Service.HttpSenderClient.<>c__DisplayClass10.<<Post>b__e>d__12.MoveNext() in c:\\Net-Bet\\Workspace2015\\ComV2\\HttpGateway\\1.0.0.0\\Com.HttpGateway.Service\\Src\\Common\\HttpSenderClient.cs:line 139",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": "8\nThrowForNonSuccess\nmscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Runtime.CompilerServices.TaskAwaiter\nVoid ThrowForNonSuccess(System.Threading.Tasks.Task)",
"Source": "mscorlib",
"WatsonBuckets": null,
"SafeSerializationManager": {
"m_serializedStates": [
{}
]
},
"CLR_SafeSerializationManager_RealType": "System.Net.Http.HttpRequestException, System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
}
]
}
},
"senderTimeoutInMiliseconds": 30000.0
},
"expirationTime": "2016-08-29T12:56:34.7171609Z",
"headers": {},
"host": {
"machineName": "XXYY",
"processName": "Com.HttpGateway.Service",
"processId": 58532,
"assembly": "Com.HttpGateway.Service",
"assemblyVersion": "1.0.1.11",
"frameworkVersion": "4.0.30319.34014",
"massTransitVersion": "3.2.4.557",
"operatingSystemVersion": "Microsoft Windows NT 6.2.9200.0"
}
}