XADM: Multipart MIME Message with TNEF Causes Store Failure

Last reviewed: February 13, 1998
Article ID: Q152937
The information in this article applies to:
  • Microsoft Exchange Server, version 5.0

SYMPTOMS

Receiving a multipart MIME message from a foreign SMTP system can cause the Microsoft Exchange Server information store to fail with an access violation. The Windows NT Event Viewer Application log may show the following information:

   Event ID: 4097
   Source: DrWatson
   Description:
   The application, store.dbg, generated an application error The error
   occurred on  8/27/1997 @ 13:42:45.955 The exception generated was
   c0000005 at address 004727e0 (CmnBptMessage::cleanTNEF)

Specific information about the failure is contained in the "More Information" section of this article.

CAUSE

A MIME Content-Type: application/ms-tnef bodypart was returned from a foreign SMTP mail system in a manner that caused the information store to fail during inbound processing.

WORKAROUND

One way to work around this issue is to prevent the sending of the MIME Content-Type application/ms-tnef bodyparts (Rich-Text Information) to Internet e-mail domains that do not have systems that handle it. This would prevent the foreign system from returning ms-tnef bodyparts to a Microsoft Exchange environment on forwarded mail.

This can be accomplished by using Microsoft Exchange Administrator program and configuring the Microsoft Exchange Server Internet Mail Service by performing the following steps:

  1. Open the Internet Mail property page.

  2. Under Specify Message Content by E-Mail Domain:, click the E-Mail Domain button.

  3. Click Add and the Add E-Mail Domain dialog box appears.

  4. In the E-Mail Domain edit window, add the Internet E-Mail Domain you do not want send Rich-Text Format to. For example, foreign.system.com.

  5. In the Send Attachments Using pane, click Interoperability.

  6. In the Send Microsoft Exchange Rich Text Formatting list, select Never.

  7. Click OK until all the open dialog boxes are closed. This accepts your changes.

For additional information about the purpose of the Content-Type: application/ms-tnef message body, please refer to the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q136204
   TITLE     : XCLN: Sending Messages In Rich-Text Format

STATUS

Microsoft has confirmed this to be a problem in Microsoft Exchange Server version 5.0. This problem has been corrected in the latest U.S. Service Pack for Microsoft Exchange Server version 5.0. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

   S E R V P A C K

MORE INFORMATION

Looking in the Drwtsn32.log file may reveal failure information as follows:

   Application exception occurred:
   App: store.dbg (pid=370)
   When: 8/27/1997 @ 13:42:45.955
   Exception number: c0000005 (access violation)

   State Dump for Thread Id 0x1b6

   eax=000000b0 ebx=036b500c ecx=036be934 edx=ffffffff esi=036be934
   edi=011ff9cc
   eip=004727e0 esp=06edb73c ebp=011ffafc iopl=0 nv up ei pl nz na po nc
   cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000     efl=00000206

   function: CmnBptMessage::cleanTNEF
           004727d0 56               push    esi
           004727d1 8b81c4000000     mov     eax,[ecx+0xc4]
ds:036be9f8=011e0000
           004727d7 8bf1             mov     esi,ecx
           004727d9 85c0             test    eax,eax
           004727db 7410             jz      CmnBptMessage::cleanTNEF+0x1d
(004727ed)
           004727dd 50               push    eax
           004727de 8b00             mov     eax,[eax]
ds:000000b0=????????
   FAULT ->004727e0 ff5008           call    dword ptr [eax+0x8]
ds:00f2eab6=????????
           004727e3 c786c400000000000000
ds:036be9f8=011e0000
                                     mov     dword ptr [esi+0xc4],0x0
           004727ed 8b86c8000000     mov     eax,[esi+0xc8]
ds:036be9fc=00405298
           004727f3 85c0             test    eax,eax
           004727f5 7410             jz      CmnBptMessage::cleanTNEF+0x37
(00472807)
           004727f7 50               push    eax
           004727f8 8b00             mov     eax,[eax]
ds:000000b0=????????
           004727fa ff5008           call    dword ptr [eax+0x8]
ds:00f2eab6=????????
           004727fd c786c800000000000000
ds:036be9fc=00405298
                                     mov     dword ptr [esi+0xc8],0x0
           00472807 8b86cc000000     mov     eax,[esi+0xcc]
ds:036bea00=011ace8c
           0047280d 85c0             test    eax,eax
           0047280f 7410             jz      CmnBptMessage::cleanTNEF+0x51
(00472821)

   *----> Stack Back Trace <----*

   FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
   06edb740 004e66c6 00000000 00405e08 036b500c 00001feb
store!CmnBptMessage::cleanTNEF
   06edb75c 004d6d27 036b500c 011ff9cc 036bbd7e 0000028e
store!CmcvtrBptEnd::hrExtract
   06edb78c 004e4be1 06edb828 00001feb 06edb7ac 00000000
store!CINETextr::hrExtract
   06edb7cc 004e4a1c 036b1c6c 06edb828 00001feb 06edb824
store!CConvertStream::Write
   06edb7f4 005679c1 06edb828 00001feb 06edb824 00000001
store!CSTREAM::HrWrite
   06edf824 004e4a92 00005feb 00000000 011ee4bc 00000000
store!CSTREAM::EcRewriteAfterRewindError
   06edf83c 00471604 03705844 00005feb 06edf89c 00000000
store!CSTREAM::HrWrite
   06edf874 00471515 00005feb 03705844 06edf89c 00000000
store!EcWriteStreamOp
   06edf89c 0040f3eb 00000000 00000031 00000000 06edf948
store!EcWriteStream
   06edf90c 0040ec1e 06edf928 00006400 06edf92c 06edfb38 store!EcRpc
   06edf928 77e11841 0016a708 037056e4 001802d0 00006400 store!EcDoRpc
   06edf948 77e52265 0040ebe0 06edfb3c 00000004 06edfb50
rpcrt4!I_RpcFreeBuffer
   06edf964 77e52236 0040ebe0 06edfb3c 00000004 ffffffff rpcrt4!NdrStubCall
   06edfc28 77e51f9e 00000000 00000000 06edfe08 06edfc40 rpcrt4!NdrStubCall
   06edfc7c 77e11122 00410230 06edfe08 06edfdc4 00000000
rpcrt4!NdrServerCall
   06edfcd0 77e112fb 06edfe08 00000000 06edfdc4 00153418 rpcrt4!<nosymbols>
   06edfcf0 77e119cf 06edfe08 00000000 06edfdc4 06edfe68
rpcrt4!I_RpcGetBuffer
   06edfdc8 77e12b98 00143a08 06edfe68 06edfe08 06edfe3c
rpcrt4!I_RpcFreeBuffer
   06edfe40 77e15fff 00143a08 06edfe68 00000000 001693e8
rpcrt4!NdrPointerFree
   06edff90 77e162f0 77e163e5 00152268 06edffec 00000000
rpcrt4!NdrOleAllocate
   00003a98 00000000 00000000 00000000 00000000 00000000
rpcrt4!NdrOleAllocate


Additional query words: crash access violation failure store msexchangeis
Keywords : kbbug5.00 kbfix5.00.sp2 XADM
Version : WinNT:5.0
Platform : winnt
Issue type : kbbug
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 13, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.