none
XLANG Engine Error

    Question

  • Since last month our BizTalk 2006 servers have been looging a lot of these errors. When they happen BizTalk stops processing the affected Orchestrations until the host instance is restarted.

    ¿Any clue on what could be going on? I've searched for similar references in Bing and Google and nothing useful has came up. 

    Event Type: Error
    Event Source: XLANG/s
    Event Category: None
    Event ID: 10034
    Date:  8/9/2010
    Time:  10:23:28 AM
    User:  N/A
    Computer: ODIN
    Description:
    Unexpected exception (see the 'inner exception' below) has occurred while executing an instance of service 'QualityCertificate.Orchestrations.ProcessPDF(fd2185d1-3d22-4daf-2ebd-cea7b7bf7e47)'.
    InstanceId: b21739c3-b040-4256-bda9-6c5131503cf3
    Shape name:
    ShapeId: 00000000-0000-0000-0000-000000000000
    Exception thrown from: segment 1, progress 53
    Inner exception: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.BizTalk.Agent.Interop.IBTMessageBatchEx'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{6C90EC04-4918-11D3-A242-00C04F60A533}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
           
    Exception type: InvalidCastException
    Source: Microsoft.BizTalk.Interop.Agent
    Target Site: Void ClearBatch()
    The following is a stack trace that identifies the location where the exception occured

       at Microsoft.BizTalk.Agent.Interop.IBTMessageBatchEx.ClearBatch()
       at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.Clear()
       at Microsoft.XLANGs.Core.ServiceContext.ExceptionRaised(Exception e)
       at Microsoft.XLANGs.Core.SegmentScheduler._RunSomeSegments(StopConditions stopOn)

     

     

    Monday, August 09, 2010 5:33 PM

All replies

  • I haven't seen this before. 

    Are you suggesting that this is actually correctly by a host restart, and then starts happening again? does BizTalk work at all between the restart and this occuring? 

    If not I would suggest repairing the BizTalk installation, as this looks like a corrupt installation, but won't be the case of intermittent. 

    Can you tell whether instances of this particular orchestration ('QualityCertificate.Orchestrations.ProcessPDF') are running successfully? could it be something related to this process in particular (or any component it uses, or send port it invokes?)

     


    Yossi Dahan http://www.sabratech.co.uk/blogs/yossidahan [To help others please mark replies as answers if you found them helpful]
    Monday, August 09, 2010 7:04 PM
    Moderator
  • I have seen this error before.....

    See :http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/2a509733-705f-4718-b743-304a674a3027

    I had exactly the same behaviour as you. Needed to restart the hosts to get stuff going again.

    Your Error :

    Inner exception: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.BizTalk.Agent.Interop.IBTMessageBatchEx'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{6C90EC04-4918-11D3-A242-00C04F60A533}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

    Mine

    Inner exception: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.BizTalk.Agent.Interop.IBTMessageSpaceEx'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{6C90EC05-4918-11D3-A242-00C04F60A533}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
           
    I could add this only happened after several days of inactivity of the BizTalk Machine. (or it was easies to reproduce when we started to flood the system after three days of zero activity)

    We were using the SQL (Classic) Adapter to receive and send data. Several SQL receives and Sends would be active if the system was tested. BAM was used.

     


    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread
    Tuesday, August 10, 2010 2:14 PM
  • We don't use the SQL Adapter or BAM at all. The process described receives an XML from de HTTP adapter and uses it to generate a PDF file that is sent to a network printer defined in the message itself.

    The problem happens a two or three times a day and started to show up a month ago.

    Did you manage to correct the problem in your server?

    Tuesday, August 10, 2010 2:31 PM
  • Yes we did. We added a dedicated BizTalk host for the receive adapter and a dedicated host for the send adapter.

    After we did that we ended up with 5 Biztalk hosts, Generic receive(1) / SQL receive(2), OrchestrationHost(3), Sybase Send(4) / Generic Send (5).

    After we did this we could not reproduce the issue anymore. 
    Although this was a case with MS-Support we never really got a real answer.

    I still suspect that some of those KB%&*%* updates has broken something but i really cannot say when or what. What i do know that it happened all of a sudden on orchestrations that have been depoyed for months..

     


    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread
    Wednesday, August 11, 2010 12:30 PM
  • From a COM+ point of view, this just means a call was made to a COM+ application and the call did not match the available interfaces of that COM+ application. You may search the registry for the IID to see which interface for which COM+
    application it is. This may give us an idea of what's going on.
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Monday, August 16, 2010 9:11 AM
    Moderator
  • From a COM+ point of view, this just means a call was made to a COM+ application and the call did not match the available interfaces of that COM+ application. You may search the registry for the IID to see which interface for which COM+
    application it is. This may give us an idea of what's going on.
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.


    I already did some time ago :

    6C90EC05-4918-11D3-A242-00C04F60A533 = a guid used by BizTalk Com Components. So it's a guid of BizTalk.

     


    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread
    Monday, August 16, 2010 9:15 AM
  • I can't find this GUID against a 2006 or 2006 R2 installation.  What COM components are these?

    Does the Orchestration link to any external assemblies, or custom COM objects?  Do you make much use of transactions?

    Tuesday, August 17, 2010 9:38 AM
  • I can't find this GUID against a 2006 or 2006 R2 installation.  What COM components are these?

    Does the Orchestration link to any external assemblies, or custom COM objects?  Do you make much use of transactions?

    Luckily for you I have the mail conversation still in my hotmail. this is a response I wrote to the MS Employee assigned to this case:

     

    I have done a search on my computer, and this value is not found in my registry.
    Then i did a file search on my system and the only occurence i could find was in the file :
     
    Microsoft.Biztalk.Interop.Agent.dll

    see attached screenshot .
     
    I have searched the entire pc and could not find any other references.
    Sure enough when i use reflector and a take a look at this dll i see plenty of references to :
    "6C90EC01-4918-11d3-A242-00C04F60A533
     
    for example :
     
     [
    ComImport, Guid("6C90EC06-4918-11d3-A242-00C04F60A533"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
       
    public interface IBTInstanceState
        {
           
    Guid InstanceStateID { get; }
           
    Guid InstanceID { get; }
           
    Guid SessionID { get; }
           
    Guid DatabaseID { get; }
           
    Stream Data { [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType="", MarshalTypeRef=typeof(StreamToIStreamMarshaler), MarshalCookie="")] get; [param: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType="", MarshalTypeRef=typeof(StreamToIStreamMarshaler), MarshalCookie="")] set; }
           
    void AddRefMessage(ref Guid msgID);
           
    void ReleaseMessage(ref Guid msgID);
           
    void ReadReferencedMessage(int msgsExpected, ref IntPtr msg, out int msgsReturned);
           
    IBTMessage ReadReferencedMessageByID([In] ref Guid msgID);
           
    IBTInstanceState CreateChildState();
           
    void PrepareForActivationComplete([MarshalAs(UnmanagedType.Bool)] bool fBlockOnDeliveryCompletion);
           
    void AddFragmentForMessageConstruction([In] int nFragmentIndex, [In] int cTotalFragments, [In, MarshalAs(UnmanagedType.CustomMarshaler, MarshalType="", MarshalTypeRef=typeof(StreamToIStreamMarshaler), MarshalCookie="")] Stream data, [In, MarshalAs(UnmanagedType.CustomMarshaler, MarshalType="", MarshalTypeRef=typeof(MessageContextMarshaler), MarshalCookie="propbag")] IBasePropertyBag PropertyBag, [In, MarshalAs(UnmanagedType.CustomMarshaler, MarshalType="", MarshalTypeRef=typeof(MessageContextMarshaler), MarshalCookie="msgctx")] IBaseMessageContext context);
           
    IBTMessage GetConstructedMessage([In] ITransaction transaction);
           
    string UserState { get; set; }
           
    void AddRefMessageByObject([In] IBTMessage msg);
        }

        [
    ComImport, Guid("6C90EC1e-4918-11d3-A242-00C04F60A533"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
       
    public interface IBTItemStatus
        {
           
    ItemOperationType OperationType { get; }
           
    Guid ItemID { get; }
           
    object ItemPtr { [return: MarshalAs(UnmanagedType.IUnknown)] get; }
           
    int Status { get; }
           
    IErrorInfo ErrorInfo { get; }
        }

        [
    ComImport, Guid("6C90EC24-4918-11d3-A242-00C04F60A533"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
       
    public interface IBTItemSuspendInfo
        {
           
    DateTime SuspendTime { get; }
           
    string ErrorCode { get; }
           
    int ErrorCategory { get; }
           
    string ErrorDescription { get; }
           
    string LastProcessingServer { get; }
           
    bool IsResumable { [return: MarshalAs(UnmanagedType.Bool)] get; }
        }


    Well0549, Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread
    Wednesday, August 18, 2010 11:38 AM