FIX: BizTalk Fails Under Stress with HIPAA 1.0 and 2.0 (320994)



The information in this article applies to:

  • Microsoft BizTalk Server 2000
  • Microsoft BizTalk Server 2000 SP1
  • Microsoft BizTalk Server 2000 SP1a
  • Microsoft BizTalk Server 2000 SP2
  • Microsoft BizTalk Server 2002
  • Microsoft BizTalk Server 2002 SP1
  • Microsoft BizTalk Server Accelerator for HIPAA 1.0

This article was previously published under Q320994

SYMPTOMS

If the Health Insurance Portability and Accountability Act of 1996 (HIPAA) parser is under heavy stress, BizTalk Server may report the following access violation in the event log, which forces the parser to quit:
The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.

Component Prog ID:
Server Application ID: {6ECD95AC-3C06-4A9B-9D43-4565C1BD3319}
Server Application Name: BizTalk Server Internal Utilities
Exception: C0000005
Address: 0x78011601
Call Stack:
MSVCRT!wcslen + 0x4
Rest of call stack skipped

CAUSE

This behavior occurs because the BizTalk HIPAA parser fails when a single-thread-only method is called from multiple threads, which results in invalid reference counting.

RESOLUTION


Service Pack Information

To resolve this problem, obtain the latest service pack for Microsoft BizTalk Server 2002. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

815781 How to Obtain the Latest BizTalk Server 2002 Service Pack

Hotfix Information


A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next BizTalk 2002 service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix should have the following file attributes or later:
Date         Time   Size     File Name
----------------------------------------------
05-Apr-2002  19:20  127,248  Cisapi.dll
05-Apr-2002  19:52  504,080  Ciscore.dll
05-Apr-2002  19:18  401,680  Cisengine.dll
05-Apr-2002  19:32  676,112  Cisparser.dll
05-Apr-2002  19:30  450,832  Cisserializer.dll
05-Apr-2002  19:30  463,120  Validatedoc.dll
				

STATUS

Microsoft has confirmed that this is a problem in BizTalk Accelerator for HIPAA 1.0.
This problem was first corrected in Microsoft BizTalk Server 2002 Service Pack 1.

MORE INFORMATION

Steps to Reproduce the Problem

To reproduce the stress situation described in the "Symptoms" section of this article, follow these steps:
  1. Set up the platform as follows: BizTalk 2002 and BizTalk Accelerator for HIPAA 1.0.
  2. Set up a document specification, receive function, channel, and port so that an Electronic Data Interchange (EDI) file is picked up from a specific directory.
  3. Create another port to send one or more files in the same pickup directory.
  4. Drop a valid document instance into the pickup directory.
The output files are picked up again, and this creates an infinite pickup-drop loop.

Modification Type:MinorLast Reviewed:10/11/2005
Keywords:kbHotfixServer kbQFE kbbug kberrmsg kbfix kbQFE KB320994