Versions / Builds Affected
20150218Status
OpenTT / JIRAID
2977How to Identify
Meeting requests fail to get indexed with GFI Archiver being installed on a Turkish OS / having a Turkish locale configured.
The following shows how it looks in debug logging:
SEARCH SIDE: NewMessageCollection.log in Search reads (let's remember the message ID for later: -2147260608):
2015-03-20,23:51:32,617,1,"#0000062C","#00000008","error ","NewMessageCollection","error: GetNextDoc failed on Message Id -2147260608: System.ServiceModel.FaultException: The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.
;
;Server stack trace:
; at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
; at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
; at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
; at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
; at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
;
;Exception rethrown at [0]:
; at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
; at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
; at Store.Core.ICalendarRetrieval.GetEventDetails(String dbGuid, Int32 msgId, Int32 eventId)
; at MArc.Search.Core.NewMessageCollection.GetNextDoc()"
IMPORTANT:
The 2nd to last line is important here! ; at Store.Core.ICalendarRetrieval.GetEventDetails(String dbGuid, Int32 msgId, Int32 eventId)
It points to the item being a meeting request (or a calender item) that fails - if this line is not present, it is unlikely a candicate for this situation!
STORE SIDE: CalendarRetrieval.log in Store reads the following for the very same msgId (-2147260608):
2015-03-20,23:51:31,766,1,"#00000674","#00000017","info ","CalendarRetrieval",">>GetEventDetails db: 6147c324-2722-4a4d-8908-1bd88a9a2bee;msgId: -2147260608;eventId: 0;"
2015-03-20,23:51:32,467,1,"#00000674","#00000017","error ","CalendarRetrieval","Error: GetEventDetails. GFI.Common.Calendar.CalendarException: ParseFailed ---> System.NullReferenceException: Object reference not set to an instance of an object.
; at GFI.Common.Calendar.ΙnetCalendar.LoadFromStream(Stream stream, Encoding encoding)
; --- End of inner exception stack trace ---
; at GFI.Common.Calendar.ΙnetCalendar.LoadFromStream(Stream stream, Encoding encoding)
; at Store.Core.CalendarRetrieval.GetVCalendarFromSource(Stream source)
; at Store.Core.CalendarRetrieval.GetEventDetails(String dbGuid, Int32 msgId, Int32 eventId)"Workaround / Fix Details
Patch:
http://ftp.gfisoftware.com/patches/ARC2015/20150218/ARC2015_SR1_PATCH_20150422_2977.zipRequired Actions
Apply patch