InfoPath may crash when you repeatedly click button controls that change form content (837013)



The information in this article applies to:

  • Microsoft Office InfoPath 2003
  • Microsoft Internet Explorer (Programming) 6.0

SYMPTOMS

When you fill out a Microsoft Office InfoPath 2003 form, the application may unexpectedly crash with an access violation. If the InfoPath 2003 form has several command buttons, and you repeatedly click the command buttons, the actions of the command buttons may cause the current view to update. When the current view updates, a crash may occur if a focus change occurs during the update. You may receive the following error message:
Microsoft InfoPath has encountered a problem and needs to close. We are sorry for the inconvenience.
The error message may report one of the following signatures:

Application  | Application Version | Module     | Module Version | Offset
---------------------------------------------------------------------------
InfoPath.exe   11.0.5531.0           Mshtml.dll   6.0.2800.1237    000b9562 
InfoPath.exe   11.0.5531.0           Mshtml.dll   6.0.2800.1276    000a21e3


You may also receive other signatures with other module versions and with other offsets.

CAUSE

The problem is caused by a bug in a shared-system component (Mshtml.dll) that is used by InfoPath 2003 to display a form. The problem is not unique to InfoPath 2003. This problem may occur in other applications that use this component, such as Microsoft Internet Explorer. The problem is sporadic. However, the problem may occur more frequently on complex forms that use buttons to change field data and to cause view updates. The problem occurs when Mshtml.dll is processing the button-focus events, and HTML is reloading the document that hosts the buttons at the same time.

WORKAROUND

To work around this problem, manually change the XSL that is used for your solution so that the HTML for your form is slightly modified. To do this, follow these steps:
  1. Locate the following line of code in the XSL:
    <input type="button" ... />
  2. Replace the previous line of code with the following line of code:
    <input type="button" unselectable="on" ... />
    Note When you use the UNSELECTABLE attribute, you cannot select the button in Design mode. Therefore, you must replace the line of code after the form layout is complete. At runtime, the button is updated with the correct InfoPath 2003 button element, and the button will work as you expect. Because Mshtml.dll does not interpret the item as selectable, Mshtml.dll does not switch focus to the item during the page update. Therefore, a crash does not occur.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

Modification Type:MinorLast Reviewed:5/4/2004
Keywords:kbMSHTML kbnofix kbbug KB837013 kbAudDeveloper