Microsoft KB Archive/195165

= SNA Print Server FMH5 ATTACH PIP data is corrupted =

Article ID: 195165

Article Last Modified on 10/28/2006

-

APPLIES TO


 * Microsoft SNA Server 3.0 Service Pack 2
 * Microsoft SNA Server 4.0 Service Pack 1

-



This article was previously published under Q195165





SYMPTOMS
In certain circumstances, especially under a high load, intermittent failure to establish SNA Print Server sessions configured to an AS/400 may occur.

The Print Server session appears in a Pending state when viewed in the SNA Manager console, and in the Windows NT application log, event ID 60 may be logged:

  Event ID 60 Source SNA Server Description: Failed to invoke APPC TP "value" (0003), sense data = 080F6051

EXPLANATION: An attempt to invoke the APPC TP shown has failed. The error will be  reported to the invoking TP on the remote system with the following primary return code:

AP_ALLOCATION_ERROR. The sense data shown is the secondary return code, which will be one of the following hexadecimal values: X'084B6031' AP_TRANS_PGM_NOT_AVAIL_RETRY X'084C0000' AP_TRANS_PGM_NOT_AVAIL_NO_RETRY X'10086021' AP_TP_NAME_NOT_RECOGNIZED X'10086031' AP_PIP_NOT_ALLOWED X'10086032' AP_PIP_NOT_SPECIFIED_CORRECTLY X'10086034' AP_CONVERSATION_TYPE_MISMATCH X'10086041' AP_SYNC_LEVEL_NOT_SUPPORTED X'080F6051' AP_SECURITY_NOT_VALID

ACTION Refer to the "Microsoft SNA Server APPC Programmer's Guide" for explanations.



CAUSE
A problem with the conversion of Advanced Program-to-Program Communications (APPC) Program Initialization Parameters (PIP) data from ASCII to EBCDIC resulted in the data being processed twice.

This caused the PIP data to be corrupted, which invalidated the security credentials necessary for successful Printer session establishment, subsequently causing the FMH5 ATTACH message to be rejected by the AS/400.



SNA Server 3.0
To resolve this problem, obtain the latest service pack for SNA Server version 3.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

184307 How to obtain the latest SNA Server Version 3.0 service pack

SNA Server 4.0
This problem was corrected in the latest SNA Server version 4.0 U.S. Service Pack. For information on obtaining this Service Pack, query on the following word in the Microsoft Knowledge Base: SERVPACK



STATUS
Microsoft has confirmed this to be a problem in SNA Server versions 3.0 Service Pack 2, 4.0, and 4.0 Service Pack 1. This problem was first corrected in SNA Server 3.0 Service Pack 4.



MORE INFORMATION
SNA Server supports ASCII-EBCDIC character conversion because IBM host systems and SNA-capable systems use the EBCDIC character set. An application such as Print Server using the APPC interface must be able to convert these characters to and from the ASCII character set. SNA Server supports this capability using either:
 * The Common Service Verb (CSV) CONVERT and GET_CP_CONVERT_TABLE functions


 * The SNANLS API function for Windows NT 4.0 (or later), and Windows 95 clients

The SNA Server Tracing tool is used to capture SNA Application API traces for the CSV API. By tracing the CSV API, the CSV functions used to perform the ASCII-EBCDIC conversions can be captured; the trace demonstrates the problem, as shown below: -  CSV   CONVERT request CSV   Verb Parameter Block at address 60E0F9A0 CSV  1A000000 00000000 00000000 00000A00     <................> CSV  94C0070C 94C0070C                         CSV    Data at address 0C07C094 CSV  5052494E 54455220 2020                   CSV -  CSV   CONVERT response, result = OK   CSV    Verb Parameter Block at address 60E0F9A0 CSV  1A000000 00000000 00000000 00000A00     <................> CSV  94C0070C 94C0070C                         CSV    Data at address 0C07C094 CSV  D7D9C9D5 E3C5D940 4040                   CSV -  CSV   CONVERT request CSV   Verb Parameter Block at address 60E0F9A0 CSV  1A000000 00000000 00000000 00000A00     <................> CSV  94C0070C 94C0070C                         CSV    Data at address 0C07C094 CSV  D7D9C9D5 E3C5D940 4040                   CSV -  CSV   CONVERT response, result = PARAMETER_CHECK CSV   Verb Parameter Block at address 60E0F9A0 CSV  1A000000 00010000 00000406 00000A00     <................> CSV  94C0070C 94C0070C                         CSV    Data at address 0C07C094 CSV  00000000 0000007C 7C7C                  <.......|||      > CSV - It can be seen that the 'PRINTER' ASCII data string is converted to EBCDIC. Then, when it's already in EBCDIC, it is inappropriately converted once more. This leads to corruption of the data string.

Keywords: kbbug kbfix KB195165

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.