RTC zufälliger Disconnect

12. Juni 2014 15:15

Hallo,

wir habe bei einer Niederlassung extreme Probleme mit Disconnects des RTC Clients. Dies tritt scheinbar zufällig auf.
Es kann jeden User betreffen, sowohl beim arbeiten im RTC als auch wenn die Maus gerade nicht bewegt wird. Auch gibt es Tage ohne Disconnect, dann wieder mehrere an einem Tag.

Build Version ist 34462.

Wir haben schon testweise die Clients per LAN statt WLAN verbunden und auch den SQL Server samt Windows Server neu aufgesetzt (!).
Anbei das Event Log vom Client PC, auf dem Server ist kein Fehler im Event Log zu exakt dem Zeitpunkt zu finden. Kann man daraus schliessen dass es sich um einen Netzwerkfehler handeln muss?



Log Name: Application
Source: MicrosoftDynamicsNAVClient
Date: 6/11/2014 9:46:27 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: User-PC.xxxxxxx.in
Description:
Type: Microsoft.Dynamics.Nav.Client.NavClientClosingException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoExecute(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoRethrowWithCatchException(Exception exception)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.Application_ThreadException(Object sender, ThreadExceptionEventArgs e)
at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
at System.Windows.Forms.Control.WndProcException(Exception e)
at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at Microsoft.Dynamics.Nav.Client.WinClient.RunCore()
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.ExecuteAndCatchExceptions(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoExecute(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.WinClient.Run()
Source: Microsoft.Dynamics.Nav.Client
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.NavConnectionLostException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.<>c__DisplayClass2.<DoRethrowWithCatchException>b__0()
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.ExecuteAndCatchExceptions(Func`1 execute)
Source: Microsoft.Dynamics.Nav.Client
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.NavConnectionLostException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.HandleCommunicationFailure[T](CallServerMethod`1 callServerMethod, Exception e, Int32 messageNumber, String sessionId)
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServerInvocationHandler.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServiceConnectionBase.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServiceConnection.OpenForm(NavOpenFormArguments& mainForm, NavOpenFormArguments[]& subForms)
at Microsoft.Dynamics.Nav.Client.DataBinder.NstDataAccess.OpenForm(LogicalForm mainForm, Collection`1 subForms)
at Microsoft.Dynamics.Nav.Client.UIPatterns.OnFormOpeningPattern.OpenForm(LogicalForm form)
at Microsoft.Dynamics.Nav.Client.UIPatterns.OnFormOpeningPattern.FormBuilt(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Microsoft.Dynamics.Framework.UI.LogicalForm.OnFormBuilt(EventArgs e)
at Microsoft.Dynamics.Framework.UI.LogicalForm.BuildForm()
at Microsoft.Dynamics.Nav.Client.Builder.NavSessionHelper.BuildForm(LogicalForm form)
at Microsoft.Dynamics.Nav.Client.FormBuilder.PageBuilder.Build(MasterPage definition, UIBuilderContext context)
at Microsoft.Dynamics.Nav.Client.FormBuilder.UIBuildManager.BuildPage(MasterPage pageDef, UIBuilderContext context)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(MasterPage metadata, FormState formState)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState, Int32 retryCounter)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState)
at Microsoft.Dynamics.Nav.Client.Actions.NavOpenTaskPageAction.InvokeCore(Boolean async, LogicalControl logicalControl, Object state, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.InvokeCoreWithErrorHandling(Boolean async, LogicalControl logicalControl, Object state, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.DoInvoke(LogicalControl logicalControl, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.Invoke(LogicalControl logicalControl)
at Microsoft.Dynamics.Framework.UI.WinForms.RepeaterControlAdapter.DataGrid_PerformCellAction(Object sender, DataGridViewCellEventArgs e)
at Microsoft.Dynamics.Framework.UI.WinForms.Controls.BusinessGridView.OnPerformCellAction(DataGridViewCellEventArgs e)
at Microsoft.Dynamics.Framework.UI.WinForms.Controls.BusinessGridView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Source: Microsoft.Dynamics.Nav.Client.ServiceConnection
----------------------------------
Type: System.ServiceModel.CommunicationObjectFaultedException
Message: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
StackTrace:

Server stack trace:
at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
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 Microsoft.Dynamics.Nav.Types.INavService.OpenForm(OpenFormRequest form)
at Microsoft.Dynamics.Nav.Client.ServiceConnection.<>c__DisplayClass2d.<OpenForm>b__2c()
at Microsoft.Dynamics.Nav.Client.ServerCallContext`1.InvokeCall(Object instance)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [1]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at System.Threading.WaitCallback.EndInvoke(IAsyncResult result)
at Microsoft.Dynamics.Nav.Client.ServerInvocationManager.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServerInvocationHandler.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.CallServer[T](CallServerMethod`1 callServerMethod)
Source: mscorlib

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="MicrosoftDynamicsNAVClient" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2014-06-11T04:16:27.000000000Z" />
<EventRecordID>73314</EventRecordID>
<Channel>Application</Channel>
<Computer>User-PC.xxxxxxx.in</Computer>
<Security />
</System>
<EventData>
<Data>Type: Microsoft.Dynamics.Nav.Client.NavClientClosingException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoExecute(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoRethrowWithCatchException(Exception exception)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.Application_ThreadException(Object sender, ThreadExceptionEventArgs e)
at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
at System.Windows.Forms.Control.WndProcException(Exception e)
at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp; msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at Microsoft.Dynamics.Nav.Client.WinClient.RunCore()
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.ExecuteAndCatchExceptions(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.DoExecute(Func`1 execute)
at Microsoft.Dynamics.Nav.Client.WinClient.Run()
Source: Microsoft.Dynamics.Nav.Client
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.NavConnectionLostException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.&lt;&gt;c__DisplayClass2.&lt;DoRethrowWithCatchException&gt;b__0()
at Microsoft.Dynamics.Nav.Client.ExceptionHandler.ExecuteAndCatchExceptions(Func`1 execute)
Source: Microsoft.Dynamics.Nav.Client
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.NavConnectionLostException
Message: The connection to the server has been lost. The application will close.
StackTrace:
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.HandleCommunicationFailure[T](CallServerMethod`1 callServerMethod, Exception e, Int32 messageNumber, String sessionId)
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServerInvocationHandler.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServiceConnectionBase.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServiceConnection.OpenForm(NavOpenFormArguments&amp; mainForm, NavOpenFormArguments[]&amp; subForms)
at Microsoft.Dynamics.Nav.Client.DataBinder.NstDataAccess.OpenForm(LogicalForm mainForm, Collection`1 subForms)
at Microsoft.Dynamics.Nav.Client.UIPatterns.OnFormOpeningPattern.OpenForm(LogicalForm form)
at Microsoft.Dynamics.Nav.Client.UIPatterns.OnFormOpeningPattern.FormBuilt(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Microsoft.Dynamics.Framework.UI.LogicalForm.OnFormBuilt(EventArgs e)
at Microsoft.Dynamics.Framework.UI.LogicalForm.BuildForm()
at Microsoft.Dynamics.Nav.Client.Builder.NavSessionHelper.BuildForm(LogicalForm form)
at Microsoft.Dynamics.Nav.Client.FormBuilder.PageBuilder.Build(MasterPage definition, UIBuilderContext context)
at Microsoft.Dynamics.Nav.Client.FormBuilder.UIBuildManager.BuildPage(MasterPage pageDef, UIBuilderContext context)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(MasterPage metadata, FormState formState)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState, Int32 retryCounter)
at Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState)
at Microsoft.Dynamics.Nav.Client.Actions.NavOpenTaskPageAction.InvokeCore(Boolean async, LogicalControl logicalControl, Object state, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.InvokeCoreWithErrorHandling(Boolean async, LogicalControl logicalControl, Object state, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.DoInvoke(LogicalControl logicalControl, UISession uiSession)
at Microsoft.Dynamics.Framework.UI.Action.Invoke(LogicalControl logicalControl)
at Microsoft.Dynamics.Framework.UI.WinForms.RepeaterControlAdapter.DataGrid_PerformCellAction(Object sender, DataGridViewCellEventArgs e)
at Microsoft.Dynamics.Framework.UI.WinForms.Controls.BusinessGridView.OnPerformCellAction(DataGridViewCellEventArgs e)
at Microsoft.Dynamics.Framework.UI.WinForms.Controls.BusinessGridView.WndProc(Message&amp; m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Source: Microsoft.Dynamics.Nav.Client.ServiceConnection
----------------------------------
Type: System.ServiceModel.CommunicationObjectFaultedException
Message: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
StackTrace:

Server stack trace:
at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
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&amp; msgData, Int32 type)
at Microsoft.Dynamics.Nav.Types.INavService.OpenForm(OpenFormRequest form)
at Microsoft.Dynamics.Nav.Client.ServiceConnection.&lt;&gt;c__DisplayClass2d.&lt;OpenForm&gt;b__2c()
at Microsoft.Dynamics.Nav.Client.ServerCallContext`1.InvokeCall(Object instance)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]&amp; outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]&amp; outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [1]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData&amp; msgData)
at System.Threading.WaitCallback.EndInvoke(IAsyncResult result)
at Microsoft.Dynamics.Nav.Client.ServerInvocationManager.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ServerInvocationHandler.CallServer[T](CallServerMethod`1 callServerMethod)
at Microsoft.Dynamics.Nav.Client.ConnectionStateManager.CallServer[T](CallServerMethod`1 callServerMethod)
Source: mscorlib
</Data>
</EventData>
</Event>

Re: RTC zufälliger Disconnect

12. Juni 2014 16:03

tentacle hat geschrieben:wir habe bei einer Niederlassung extreme Probleme mit Disconnects des RTC Clients. [...]
Anbei das Event Log vom Client PC, auf dem Server ist kein Fehler im Event Log zu exakt dem Zeitpunkt zu finden. Kann man daraus schliessen dass es sich um einen Netzwerkfehler handeln muss?

Allein schon die Tatsache, dass nur diese eine NL von diesem Problem betroffen ist, legt die Vermutung nahe, dass dort Netzwerkprobleme vorhanden sind.

Re: RTC zufälliger Disconnect

12. Juni 2014 16:08

Hallo,

benutzt du den RTC über eine WAN- Verbindung, oder arbeitest du mit einem lokalen SQL- und NAV- Server

Gruß Fiddi

Re: RTC zufälliger Disconnect

12. Juni 2014 17:14

Es handelt sich hier um einen lokalen Zugriff mit SQL Server und NAV Server auf der selben Maschine.