SLI Application Fails With LUA_REQUIRED_FIELD_MISSING Error (287542)



The information in this article applies to:

  • Microsoft SNA Server 4.0 SP2
  • Microsoft SNA Server 4.0 SP3
  • Microsoft SNA Server 4.0 SP4
  • Microsoft Host Integration Server 2000

This article was previously published under Q287542

SYMPTOMS

When you are running a SLI (Session Level Interface) application on the SNA Server/Host Integration Server 2000 versions listed at the beginning of this article, the SLI application may fail unexpectedly when an outstanding SLI_SEND verb completes with the following return code:
Primary_rc = LUA_PARAMETER_CHECK (0x0001)
Secondary_rc = LUA_REQUIRED_FIELD_MISSING (0x00000019)
This problem does not occur on SNA Server versions prior to 4.0 Service Pack 2.

CAUSE

The SLI library is not saving the lua_data_length value specified in an SLI_SEND when sending non-function management data ( FMD) messages.

RESOLUTION

SNA Server 4.0

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 Microsoft SNA Server version 4.0 service pack that contains this hotfix.

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:

File nameDateTime
Winsli32.dll02/07/200111:30AM

NOTE: Because of file dependencies, the most recent fix that contains the preceding files may also contain additional files.

Host Integration Server 2000

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

328152 How to Obtain the Latest Host Integration Server 2000 Service Pack

The English version of this fix should have the following file attributes or later:

File nameDateTime
Winsli32.dll02/07/200111:02AM

NOTE: Because of file dependencies, the most recent fix that contains the preceding files may also contain additional files.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Host Integration Server 2000 Service Pack 1.

MORE INFORMATION

The following annotated SNA Server logical unit application (LUA) API trace (CLIAPIx.ATF) statements show an example of the problem described in this article.

NOTE: Please refer to the LUA Programmer's Guide in the SNA Server or Host Integration Server 2000 SDK for details on the format of the following SLI and Request Unit Interface (RUI) verbs.
SLI   SLI_SEND request
SLI   ---- Verb Parameter Block at address 02C69E7E ----
SLI   52004600 00000000 00000000 04000000     <R.F.............>
SLI   0A15C302 00000000 00000000 00000000     <..C.............>
SLI   D042DF0F 00000400 317D6201 70040000     <.B......1}b.p...>
                   ^^^^
SLI   00000000 0001CF90 00010200 00000000     <................>
                   **** **
SLI   00000000 0000                           <......          >
SLI   ---- Data at address 01627D31 ----
SLI   08130000                                <....            >
RUI   --------------------------------------------------------------------------------
RUI   RUI_WRITE request
RUI   ---- Verb Parameter Block at address 0FDF471C ----
RUI   52004400 00000000 00000000 04800000     <R.D.............>
RUI   02000000 44575430 33593243 00000000     <....DWT03Y2C....>
RUI   50052A00 00000000 317D6201 70323064     <P.*.....1}b.p20d>
                   ^^^^
RUI   00000000 0001CF90 00010000 00000000     <................>
                   **** **
RUI   00000000                                <....            >
RUI   --------------------------------------------------------------------------------
RUI   RUI_WRITE response
RUI   PARAMETER_CHECK - REQUIRED_FIELD_MISSING
RUI   ---- Verb Parameter Block at address 0FDF471C ----
RUI   52004400 00010000 00000019 04800000     <R.D.............>
RUI   02000000 44575430 33593243 00000000     <....DWT03Y2C....>
RUI   50052A00 00000000 317D6201 70323064     <P.*.....1}b.p20d>
RUI   2C000000 0001CF90 00010001 00000000     <,...............>
                   **** **
RUI   00000000                                <....            >
				
The SLI_SEND has correctly set the lua_data_length (denoted by ^^^^ in the trace above) to 4 bytes (0400) for the IBM Sense Code of 08130000 that the application is trying to send to the host. However, the subsequent RUI_WRITE has a lua_data_length of 0 (also denoted by ^^^^).

The message being sent by the application is a negative response (-RSP) and is a data flow control (DFC) message, which is determined by the response header (RH) (denoted by ****) set by the application. Since this is a -RSP, the lua_data_length in the RUI_WRITE should be at least 4 bytes. Because it is 0 (zero) in this case, the LUA_REQUIRED_FIELD_MISSING error is returned to the application.

Modification Type:MinorLast Reviewed:10/6/2005
Keywords:kbbug kbfix kbHostIntegServ2000preSP1fix kbHostIntegServ2000SP1fix KB287542