hello,I'm using oracle provider for workflow persistence it was working fine until i moved the application to production server, the problem is that persistence fails randomly when i tried to trace the error all i found was the exception you will find below, I'm stuck and any help would be much appreciated.
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/wi ... log/system">
<EventID>131075</EventID>
<Type>3</Type>
<SubType Name="Error">0</SubType>
<Level>2</Level>
<TimeCreated SystemTime="2015-06-25T07:42:29.4491734Z" />
<Source Name="System.ServiceModel" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="w3wp" ProcessID="9056" ThreadID="194" />
<Channel />
<Computer>PENTA-B-TEST</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2 ... raceRecord" Severity="Error">
<TraceIdentifier>http://msdn.microsoft.com/en-US/library ... Identifier>
<Description>Throwing an exception.</Description>
<AppDomain>/LM/W3SVC/1/ROOT/UrbanPlanningWF-5-130796916417447022</AppDomain>
<Source>System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel/9809214</Source>
<Exception>
<ExceptionType>System.ServiceModel.CommunicationObjectAbortedException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.</Message>
<StackTrace>
at System.ServiceModel.Channels.CommunicationObject.ThrowIfAborted()
at System.ServiceModel.Channels.InputQueueChannel`1.EndDequeue(IAsyncResult result, TDisposable& item)
at System.ServiceModel.Channels.ReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext& context)
at System.ServiceModel.Dispatcher.ReplyChannelBinder.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item)
at System.Runtime.InputQueue`1.Shutdown(Func`1 pendingExceptionGenerator)
at System.ServiceModel.Channels.InputQueueChannel`1.OnClosing()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.ReplyChannelBinder.Abort()
at System.ServiceModel.Channels.ServiceChannel.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.ListenerHandler.AbortChannels()
at System.ServiceModel.Dispatcher.ListenerHandler.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnAbort()
at System.ServiceModel.Channels.CommunicationObject.Abort()
at System.ServiceModel.ServiceHostBase.OnServiceHostFaulted(Object sender, EventArgs args)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.ServiceModel.Channels.CommunicationObject.OnFaulted()
at System.ServiceModel.Channels.CommunicationObject.Fault()
at System.ServiceModel.Channels.CommunicationObject.Fault(Exception exception)
at System.ServiceModel.Activities.Dispatcher.DurableInstanceManager.WaitAndHandleStoreEventsCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously, Exception exception)
at System.Runtime.DurableInstancing.InstanceHandle.WaitForEventsAsyncResult.Canceled()
at System.Runtime.DurableInstancing.InstanceHandle.Free()
at Devart.Data.Oracle.DurableInstancing.i.b(Int64 A_0)
at Devart.Data.Oracle.DurableInstancing.a4.a(Exception A_0)
at Devart.Data.Oracle.DurableInstancing.ax.a(IAsyncResult A_0)
at Devart.Data.Oracle.DurableInstancing.a5.b(Boolean A_0)
at Devart.Data.Oracle.DurableInstancing.a.c()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
</StackTrace>
<ExceptionString>System.ServiceModel.CommunicationObjectAbortedException: The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.</ExceptionString>
</Exception>
</TraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent>
Persistence problem
Re: Persistence problem
Please refer toelzamek wrote:<Message>The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.</Message>
- http://stackoverflow.com/questions/8660 ... -picked-up (increase maxReceivedMessageSize)
- http://fczaja.blogspot.com/2009/05/comm ... bject.html (implement logging to find out the inner exception)
Re: Persistence problem
thanks for your reply but i have already encountered these links and they do no solve my problem also i can't reproduce the problem as it happens on the production server only what I'm trying to figure out is how to get the database exception that causes the problem i should be able to do this :
<system.diagnostics>
<sources>
<source name="System.Activities.DurableInstancing" switchValue="Verbose">
<listeners>
<add name="textListener" />
<remove name="Default" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Log\persistenceproblem.txt" traceOutputOptions="ProcessId, DateTime" />
</sharedListeners>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="textListener" />
</listeners>
</trace>
</system.diagnostics>
but it is not working i assume because I'm using dotconnect 3rd party, so the question is : is there anyway to trace persistence errors while using the devart dll ?
<system.diagnostics>
<sources>
<source name="System.Activities.DurableInstancing" switchValue="Verbose">
<listeners>
<add name="textListener" />
<remove name="Default" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Log\persistenceproblem.txt" traceOutputOptions="ProcessId, DateTime" />
</sharedListeners>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="textListener" />
</listeners>
</trace>
</system.diagnostics>
but it is not working i assume because I'm using dotconnect 3rd party, so the question is : is there anyway to trace persistence errors while using the devart dll ?
Re: Persistence problem
1. Run the dbMonitor tool (documentation, download link) to enable tracing of the database activity. It also allows monitoring applications deployed remotely. Are there any errors when provider executes the generated SQL?
2. If your deployment environment allows debugging with Visual Studio, make the following settings before running the code in the debug mode: a) in the (Debug | Exceptions) window select Common Language Runtime Exceptions; b) in the (Tools | Options) window, Debugging | General clear Enable Just My Code (Managed Only). Are there any provider specific exceptions?
2. If your deployment environment allows debugging with Visual Studio, make the following settings before running the code in the debug mode: a) in the (Debug | Exceptions) window select Common Language Runtime Exceptions; b) in the (Tools | Options) window, Debugging | General clear Enable Just My Code (Managed Only). Are there any provider specific exceptions?
Re: Persistence problem
thanks a lot i will give it a try.
Re: Persistence problem
hello,
using dbmonitor tool didn't solve the problem,it didn't log anything when the exception was raiseded(even didn't log there was a connection to the database), also the exception settings you provided led to this exception :
System.ServiceModel.FaultException was caught
_HResult=-2146233087
_message=The execution of an InstancePersistenceCommand was interrupted by an error.
HResult=-2146233087
IsTransient=false
Message=The execution of an InstancePersistenceCommand was interrupted by an error.
RemoteStackTrace=
Server stack trace:
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]:
Source=mscorlib
StackTrace:
Server stack trace:
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 ConsoleApplication3.ServiceReference2.IUrbanPlanningWF.Submit(SubmitRequest request)
at ConsoleApplication3.ServiceReference2.UrbanPlanningWFClient.ConsoleApplication3.ServiceReference2.IUrbanPlanningWF.Submit(SubmitRequest request) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Service References\ServiceReference2\Reference.cs:line 150
at ConsoleApplication3.ServiceReference2.UrbanPlanningWFClient.Submit(REQUEST req) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Service References\ServiceReference2\Reference.cs:line 156
at ConsoleApplication3.Program.Main(String[] args) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Program.cs:line 80
InnerException:
but I'm still not able to solve the problem,any help will be appreciated also i can provide teamviewer access to production environment if needed.
thanks in advance
using dbmonitor tool didn't solve the problem,it didn't log anything when the exception was raiseded(even didn't log there was a connection to the database), also the exception settings you provided led to this exception :
System.ServiceModel.FaultException was caught
_HResult=-2146233087
_message=The execution of an InstancePersistenceCommand was interrupted by an error.
HResult=-2146233087
IsTransient=false
Message=The execution of an InstancePersistenceCommand was interrupted by an error.
RemoteStackTrace=
Server stack trace:
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]:
Source=mscorlib
StackTrace:
Server stack trace:
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 ConsoleApplication3.ServiceReference2.IUrbanPlanningWF.Submit(SubmitRequest request)
at ConsoleApplication3.ServiceReference2.UrbanPlanningWFClient.ConsoleApplication3.ServiceReference2.IUrbanPlanningWF.Submit(SubmitRequest request) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Service References\ServiceReference2\Reference.cs:line 150
at ConsoleApplication3.ServiceReference2.UrbanPlanningWFClient.Submit(REQUEST req) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Service References\ServiceReference2\Reference.cs:line 156
at ConsoleApplication3.Program.Main(String[] args) in c:\Users\Administrator\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3\Program.cs:line 80
InnerException:
but I'm still not able to solve the problem,any help will be appreciated also i can provide teamviewer access to production environment if needed.
thanks in advance
Re: Persistence problem
Thank you but this doesn't help to debug our code and investigate the issue. Our internal policy doesn't allow developers to upload sources to remote workstations, so we can debug the code only locally (in our network).elzamek wrote:i can provide teamviewer access to production environment if needed
Have you tried to skip (press the "Continue" button or F5) this and other non provider specific exceptions to get the provider specific one?elzamek wrote:also the exception settings you provided led to this exception
Looks like this is a configuration issue (not provider specific). If posssible, please try using System.Data.SqlClient in the same application. Does it work?elzamek wrote:using dbmonitor tool didn't solve the problem,it didn't log anything when the exception was raiseded(even didn't log there was a connection to the database)