Consultor Eletrônico



Kbase 21090: WebSpeed: VBScript using wsisa.dll causes hang & GPF
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/10/2007
Status: Unverified

FACT(s) (Environment):

WebSpeed 3.x

SYMPTOM(s):

IIS hangs with GPF when running a VB application

Using ISAPI messenger, wsisa.dll

Passing large number characters to the URL

WAM error displayed

The problem is not seen with the CGI messenger

VB POST (of data) is being performed

HTML POST (of data) is performed with no problems

CAUSE:

The problem resides in how a VBScript invokes ISAPI memory space within IIS. Since both wsisa.dll and VBScript use ISAPI, the memory space allocated within IIS either becomes overlapped and/or corrupted. This will cause the symptoms of IIS freezing and the GPF.

IIS 4.0 architecture is based on a new component called the Web Application Manager (WAM). Think of WAM as a simple COM wrapper around existing ISAPI functionality. Each IIS application has an associated WAM object responsible for its ISAPI. In essence, WAM is invoked when any ISAPI application is run.

There are many components that use ISAPI architecture. One obvious example is the wsisa.dll, however another unknown example is ASP.

ASP (Active Server Pages) were introduced as high efficiency alternatives because web developers did not want to use complex APIs directly. When an ASP request comes in, IIS makes sure that the ASP runtime is loaded and used to process the page.

ASP pages can contain both HTML and script from any scripting language that supports the ActiveX scripting interfaces, such as VBScript or JScript. Since all VBScripts use ASP, all will use the ISAPI architecture.

FIX:

Workaround to this problem is to:

1. Use the CGI-messenger when VBScript is used
2. If CGI messenger cannot be used, then use HTML format for these types of queries.