locked
MSDTC Client generates strange info in event viewer (CSO::Maintain_SSTATE_UP session Failed)

    Question

  • Hi readers!

    Can anyone interpret following log in the event viewer. We are trying to have oracle DB and SQL in single MSDTC transaction.

    Best regards, DVidem

     

    Log Name:      Application

    Source:        Microsoft-Windows-MSDTC Client

    Date:          17.11.2010 7:37:02

    Event ID:      4156

    Task Category: CM

    Level:         Information

    Keywords:      Classic

    User:          N/A

    Computer:      XXXXXXX

    Description:

    String message: INFORMATIONAL : CSO::Maintain_SSTATE_UP session Failed Error =0x80004005 RpcStatus = 164 .

     

    Thursday, November 18, 2010 11:00 AM

Answers

  • Looks like you no longer need any help with this problem, I am going to close this thread for now. Please repost this problem with the above link in it if you still need some help. Thanks
    Nikhil Shah - MSFT
    Tuesday, April 05, 2011 6:42 PM

All replies

  • Can you provide more details about your scenario. If you can provide the configuration/topology and stacktrace, it'd be very helpful.

    If you look at the Task Category: CM in the event, it indicates that it is a connection manager error throw when trying to maintain connection. As DTC needs RPC for communication the first thing you should check here is if the network dtc settings and firewall settings. See below for some pointers that can help.

    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306843

    http://support.microsoft.com/kb/926099/en-us

    Thanks,

    Srini

    • Proposed as answer by Srini BanalaModerator Saturday, November 20, 2010 2:36 AM
    • Unproposed as answer by DVidem Saturday, November 27, 2010 6:49 PM
    Saturday, November 20, 2010 2:36 AM
  • Hi Srini!

    Network-wise we have several segments that hold different parts of the system. I was told that all ports are open. Segments are implemented as VLANs.

    Setup consists of several windows 2008 servers running SQL cluster (2 machines), standalone BizTalk server (Std), couple of application servers running ASP.NET front-ends, active directory service machine and Oracle running RAC on two Linux machines. Main application of the setup is web-frontend connecting to Oracle while BizTalk and SQL server are used to connect the system with the outside world.

    The problem is that at some unspecified moment the part of the system processing just halts. Until then everything works just fine. Restart of either BizTalk service or our application services or front-ends is required. Note that some operations require DTC with SQL server and Oracle as resources.

    We are trying to look into several possible directions to fix this:

    1. Network has problems transient in nature - if anyone has some suggestions here we would really appreciate this.
    2. Systems setup. One of the things to check is the DTC. Any other suggestions are welcome.
    3. We need to check DTC if for some reason machines were not installed correctly (for instance ghosted with DTC CID not re-created). I will send more details later on.
    4. Our applications. Tested on system test and pre-production environments. These work ok but as you know the HW setup usually cannot be replicated (no RAC, virtual machines for system test, etc).
    To complicate matter more, the access to the system is very restricted and we need a sound list of actions before committing changes to the environment.

    As I said, suggestion are welcome.

    Here are some messages that occour in the event viewer:
                                                                                                                                  
    Log Name:   Application
    Source:    BizTalk Server 2009
    Date:     20.11.2010 12:38:41
    Event ID:   5740
    Task Category: BizTalk Server 2009
    Level:     Warning
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    The adapter "WCF-OracleDB" raised an error message. Details "Microsoft.ServiceModel.Channels.Common.ConnectionException: Unable to enlist in a distributed transaction ---> Oracle.DataAccess.Client.OracleException Unable to enlist in a distributed transaction  at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
      at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
      at Oracle.DataAccess.Client.OracleConnection.Open()
      at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
      at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)
      --- End of inner exception stack trace ---
      at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)
      at Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_TryReceive_SpFuncPackageSP(OracleCommonExecutionHelper executionHelper, Message& wcfMessage)
      at Microsoft.Adapters.OracleDB.OracleDBInboundContract.TryReceive(TimeSpan timeout, Message& message, IInboundReply& reply)
      at Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive(TimeSpan timeout, Message& message)
      at System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive(TimeSpan timeout, RequestContext& requestContext)
      at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive(TimeSpan timeout, RequestContext& requestContext)".
    
    
    
    Log Name:   Application
    Source:    Microsoft-Windows-MSDTC Client
    Date:     20.11.2010 12:38:41
    Event ID:   4156
    Task Category: CM
    Level:     Information
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    String message: INFORMATIONAL : CSO::Maintain_SSTATE_UP session Failed Error =0x80000128 RpcStatus = 0 .
    
    
    
    Log Name:   Application
    Source:    Microsoft-Windows-MSDTC Client
    Date:     20.11.2010 12:38:33
    Event ID:   4156
    Task Category: CM
    Level:     Information
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    String message: ProcId = 0xaa8 CSO: Maintain session; Received E_CM_SERVER_NOT_READY. 
    .
    
    
    
    Log Name:   Application
    Source:    Microsoft-Windows-MSDTC Client
    Date:     20.11.2010 12:38:23
    Event ID:   4156
    Task Category: CM
    Level:     Information
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    String message: INFORMATIONAL : CSO::Maintain_SSTATE_UP session Failed Error =0x80004005 RpcStatus = 164 .
    
    
    
    Log Name:   Application
    Source:    BizTalk Server 2009
    Date:     20.11.2010 3:38:25
    Event ID:   5740
    Task Category: BizTalk Server 2009
    Level:     Warning
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    The adapter "WCF-OracleDB" raised an error message. Details "System.Transactions.TransactionException: The operation is not valid for the state of the transaction. ---> System.TimeoutException: Transaction Timeout
      --- End of inner exception stack trace ---
      at System.Transactions.TransactionState.EnlistVolatile(InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
      at System.Transactions.Transaction.EnlistVolatile(IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions)
      at Microsoft.BizTalk.Adapter.Wcf.Runtime.TxnBatch2..ctor(IBTTransportProxy transportProxy, ControlledTermination control, Transaction transaction, ManualResetEvent orderedEvent, Boolean makeSuccessCall)
      at Microsoft.BizTalk.Adapter.Wcf.Runtime.SingleMessageReceiveTxnBatch2.StartProcessFailures()".
    
    
    Log Name:   Application
    Source:    BizTalk Server 2009
    Date:     20.11.2010 3:38:25
    Event ID:   5740
    Task Category: BizTalk Server 2009
    Level:     Warning
    Keywords:   Classic
    User:     N/A
    Computer:   biztalkserver
    Description:
    The adapter "WCF-OracleDB" raised an error message. Details "System.ObjectDisposedException: Cannot access a disposed object.
    Object name: 'TransactionScope'.
      at System.Transactions.TransactionScope.Complete()
      at System.ServiceModel.Dispatcher.TransactionRpcFacet.ThreadLeave()
      at System.ServiceModel.Dispatcher.TransactionBehavior.ClearCallContext(MessageRpc& rpc)
      at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc& rpc)
      at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)".

    Monday, November 22, 2010 3:51 PM
  • It seems like your question is still open but before I jump onto it I want to double check if you are still having any problems or if you have figured out some solution? Please update me on the status of this issue and I will follow up
    Nikhil Shah - MSFT
    Friday, April 01, 2011 5:01 PM
  • Looks like you no longer need any help with this problem, I am going to close this thread for now. Please repost this problem with the above link in it if you still need some help. Thanks
    Nikhil Shah - MSFT
    Tuesday, April 05, 2011 6:42 PM