While testing, I accidentally sent a batch of messages to the bus as a Lookup[T, T]. The serialized result looked like so:
- <linq.grouping:Grouping xmlns:linq.grouping="System.Linq.Lookup`2+Grouping[[System.Type, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">WHATEFVER</ System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">6c013dc8-9a18-4559-bf23-9db500af4df2</ System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">505e1f7b-776d-48f3-846e-9dba00b61dd4</ System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">WHATEFVER</ System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">4d693e3c-7f3a-480c-8800-9db500b03d6b</ System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">5a623348-e25c-4765- b52d-9dba00b61de2</System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">BLAHBLAH</ System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">4351d5ba-371f-4f4e-9c72-9db500b3c2bd</ System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">bc6ad279-1e92-4ebd-85b0-9dba00b61de3</ System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">BLAHBLAH12</System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">f6acd28a- fead-409b-8fc8-9db500b45b1d</System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">38a344bb- bb78-4159-87e2-9dba00b61de4</System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">WHA</ System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">45851274-36da-4795-ad0f-9db500b5e77e</ System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">6597b074-444c-40ae- abf5-9dba00b61de6</System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> - <events.ruledefinedforcolumnevent:value xmlns:events.ruledefinedforcolumnevent="CSG.Domain.Events.RuleDefinedForColumnEvent, CSG.Domain"> <System.String:Column xmlns:System.String="System.String">BUILDING_AGE</ System.String:Column> <System.String:Script xmlns:System.String="System.String">max_length 12</System.String:Script> <System.Guid:AggregateId xmlns:System.Guid="System.Guid">5c4f59f0- db68-47cc-b924-9db500c427d2</System.Guid:AggregateId> <System.Guid:Id xmlns:System.Guid="System.Guid">be945395-516d-46e0- a9f7-9dba00b61de6</System.Guid:Id> <System.Int32:EventVersion xmlns:System.Int32="System.Int32">1</ System.Int32:EventVersion> </events.ruledefinedforcolumnevent:value> </linq.grouping:Grouping> Now the queue is stuck in a loop. Here is the log: 2010-07-21 11:19:21,900 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Error when serializing message System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.Impl.DefaultReflection.InvokeAdd(Object instance, Object item) in C:\projects\rhino-esb\Rhino.ServiceBus\Impl \DefaultReflection.cs:line 86 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadList(Type type, XContainer element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 419 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadObject(Type type, XElement element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 347 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.Deserialize(Stream message) in C:\projects\rhino-esb\Rhino.ServiceBus\Serializers \XmlMessageSerializer.cs:line 313 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 340 2010-07-21 11:19:21,914 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Error when notifying about serialization exception System.ArgumentNullException: Value cannot be null. Parameter name: uriString at System.Uri..ctor(String uriString) at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 350 2010-07-21 11:19:21,916 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Failed to deserialize message System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.Impl.DefaultReflection.InvokeAdd(Object instance, Object item) in C:\projects\rhino-esb\Rhino.ServiceBus\Impl \DefaultReflection.cs:line 86 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadList(Type type, XContainer element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 419 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadObject(Type type, XElement element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 347 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.Deserialize(Stream message) in C:\projects\rhino-esb\Rhino.ServiceBus\Serializers \XmlMessageSerializer.cs:line 313 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 363 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.ProcessMessage(Message message, TransactionScope tx, Func`2 messageRecieved, Action`2 messageCompleted, Action`1 beforeTransactionCommit) in C:\projects \rhino-esb\Rhino.ServiceBus\RhinoQueues\RhinoQueuesTransport.cs:line 286 2010-07-21 11:19:21,919 [Rhino Service Bus Worker Thread #0] WARN Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Disposing transaction in error mode 2010-07-21 11:19:21,935 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Module failed to process message failure: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.RhinoQueues.ErrorAction.<>c__DisplayClassf.<Transport_OnMessageProcessingFailure>b__e(Writer writer) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \ErrorAction.cs:line 88 at Rhino.ServiceBus.DataStructures.Hashtable`2.Write(Action`1 action) in C:\projects\rhino-esb\Rhino.ServiceBus\DataStructures \Hashtable.cs:line 52 at Rhino.ServiceBus.RhinoQueues.ErrorAction.Transport_OnMessageProcessingFailure(CurrentMessageInformation information, Exception exception) in C:\projects\rhino-esb \Rhino.ServiceBus\RhinoQueues\ErrorAction.cs:line 85 at Rhino.ServiceBus.Transport.MessageHandlingCompletion.NotifyAboutMessageProcessingFailure() in C:\projects\rhino-esb\Rhino.ServiceBus\Transport \MessageHandlingCompletion.cs:line 80 2010-07-21 11:19:21,999 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Error when serializing message System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.Impl.DefaultReflection.InvokeAdd(Object instance, Object item) in C:\projects\rhino-esb\Rhino.ServiceBus\Impl \DefaultReflection.cs:line 86 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadList(Type type, XContainer element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 419 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadObject(Type type, XElement element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 347 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.Deserialize(Stream message) in C:\projects\rhino-esb\Rhino.ServiceBus\Serializers \XmlMessageSerializer.cs:line 313 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 340 2010-07-21 11:19:22,001 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Error when notifying about serialization exception System.ArgumentNullException: Value cannot be null. Parameter name: uriString at System.Uri..ctor(String uriString) at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 350 2010-07-21 11:19:22,001 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Failed to deserialize message System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.Impl.DefaultReflection.InvokeAdd(Object instance, Object item) in C:\projects\rhino-esb\Rhino.ServiceBus\Impl \DefaultReflection.cs:line 86 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadList(Type type, XContainer element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 419 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.ReadObject(Type type, XElement element) in C:\projects\rhino-esb\Rhino.ServiceBus \Serializers\XmlMessageSerializer.cs:line 347 at Rhino.ServiceBus.Serializers.XmlMessageSerializer.Deserialize(Stream message) in C:\projects\rhino-esb\Rhino.ServiceBus\Serializers \XmlMessageSerializer.cs:line 313 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.DeserializeMessages(Message message) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \RhinoQueuesTransport.cs:line 363 at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.ProcessMessage(Message message, TransactionScope tx, Func`2 messageRecieved, Action`2 messageCompleted, Action`1 beforeTransactionCommit) in C:\projects \rhino-esb\Rhino.ServiceBus\RhinoQueues\RhinoQueuesTransport.cs:line 286 2010-07-21 11:19:22,003 [Rhino Service Bus Worker Thread #0] WARN Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Disposing transaction in error mode 2010-07-21 11:19:22,020 [Rhino Service Bus Worker Thread #0] ERROR Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport - Module failed to process message failure: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at Rhino.ServiceBus.RhinoQueues.ErrorAction.<>c__DisplayClassf.<Transport_OnMessageProcessingFailure>b__e(Writer writer) in C:\projects\rhino-esb\Rhino.ServiceBus\RhinoQueues \ErrorAction.cs:line 88 at Rhino.ServiceBus.DataStructures.Hashtable`2.Write(Action`1 action) in C:\projects\rhino-esb\Rhino.ServiceBus\DataStructures \Hashtable.cs:line 52 at Rhino.ServiceBus.RhinoQueues.ErrorAction.Transport_OnMessageProcessingFailure(CurrentMessageInformation information, Exception exception) in C:\projects\rhino-esb \Rhino.ServiceBus\RhinoQueues\ErrorAction.cs:line 85 at Rhino.ServiceBus.Transport.MessageHandlingCompletion.NotifyAboutMessageProcessingFailure() in C:\projects\rhino-esb\Rhino.ServiceBus\Transport \MessageHandlingCompletion.cs:line 80 I guess NotifyAboutMessageProcessingFailure is expecting currentMessageInformation to be there. A temporary workaround is to stop the bus and delete the esent database. -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
