Q162147: TN3270 Server Loses Client Session
Article: Q162147
Product(s): Microsoft SNA Server
Version(s): WINDOWS:2.0,2.1,2.11,2.11 SP1
Operating System(s):
Keyword(s): kbnetwork
Last Modified: 12-JUN-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft SNA Server, versions 2.0, 2.1, 2.11, 2.11 SP1
-------------------------------------------------------------------------------
SYMPTOMS
========
When you press the ENTER key repeatedly in the Attachmate EPC 6.1 TN3270
emulator, a TN3270/E session may be dropped. There may also be many other ways
to manifest the underlying problem.
See the CAUSE section of this article for trace symptoms.
CAUSE
=====
The problem has to do with direction (which half-session has permission to send
data). A host may give the emulator permission to send by setting the change
direction (CD) bit in the Request Header. It is up to the application to
acknowledge this CD message before any emulator data flows to the host. However,
a TN3270 or TN3270E emulator cannot tell whether the host has given it
direction, and may send data out of order. In the failing case, by the time the
data from the emulator reaches the TN3270 server, the host has in fact sent a CD
on a Request Definite Response (RQD) message to the computer running SNA Server.
The TN3270 server then forwards the message to the client, requesting a positive
response. So, when the TN3270 Server gets the data from the emulator, it thinks
that the emulator sent the data correctly, because it now has a direction to
send. Therefore, it sends the data on to the computer running SNA Server, which
rejects the data because it has not yet received a response to the CD message
from the TN3270 Server.
The following is the message from the host with the CD bit set:
DLC ---------------------------------------------- 09:59:44.35
DLC 05160000->01020101 DLC DATA
DLC DAF:05 OAF:01 ODAI:off Normal
DLC RQD FMD BC EC DR1 CD
DLC
DLC ---- Header at address 00DA43B0, 1 elements ----
DLC 04050100 00002C00 05010018 0100BD00 <......,.........>
DLC
DLC ---- Element at address 0129AB70, start 10, end 12 ----
DLC 038020 <.. >
FMI ---------------------------------------------- 09:59:44.35
FMI 01020202->0B1D0001 FMI DATA
FMI ACK reqd Key:25 Seq:24 BCI ECI CDI CEI BBIUI
FMI EBIUI
FMI
FMI ---- Header at address 00DA43B0, 1 elements ----
FMI 01050019 620E2C00 05010018 0100BD00 <....b.,.........>
FMI
FMI ---- Element at address 0129AB70, start 4, end 12 ----
FMI 2C000501 00180380 20 <,....... >
FMI ---------------------------------------------- 09:59:44.35
FMI 0B1D0001->01020202 FMIST RSRC
FMI Credit:1
FMI
FMI ---- Header at address 00DA43B0, 0 elements ----
FMI 04050001 620E2C00 05010018 0100CF00 <....b.,.........>
The following is the message sent from the client emulator:
>10/24 09:59:44.365 (+ smidgen ) Event=TEV_DataToSNA
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
VCB address=0x00267FB8
verb_length=0x0044 verb=0x0052 (RUI) opcode=0x8004 (WRITE)
sid=0x00000003 correlator=0x00267DA8 post_handle=0x000001EC
prim_rc=LUA_OK sec_rc=LUA_SEC_RC_OK
lu_norm lua_data_length=0x00000003
RH REQ FMD fi=0 sdi=0 bci=1 eci=1 (Only)
03 90 20 dr1=1 dr2=0 ri=1 qri=0 pi=0
bbi=0 ebi=0 cdi=1 csi=0 edi=0 pdi=0
000000 f8c37e *8C= *
The following is where the TN3270 Server sends the client emulator message to the
SNA Server Service:
FMI ---------------------------------------------- 09:59:44.36
FMI 0B1D0001->01020202 FMI DATA
FMI NO ACK reqd Key:1 Seq:24 BCI ECI CDI CEI
FMI BBIUI EBIUI
FMI
FMI ---- Header at address 00DA43B0, 1 elements ----
FMI 00050001 620E2C00 05010018 0100CF00 <....b.,.........>
FMI
FMI ---- Element at address 0129AB70, start 4, end 15 ----
FMI 2C000000 00000390 20F8C37E <,....... 8C~ >
FMI ---------------------------------------------- 09:59:44.36
FMI 01020202->0B1D0001 FMIST RSRC
FMI Credit:1
FMI
FMI ---- Header at address 00DA44B4, 0 elements ----
FMI 04050001 00002C00 05010018 0100CF00 <......,.........>
The server rejects this incoming data from the client because the client does not
have a direction to send.
FMI ---------------------------------------------- 09:59:44.36
FMI 01020202->0B1D0001 FMIST NACK-2
FMI Msg key:1 Fail: NONCRIT Err1:200D Err2:0000
FMI
FMI ---- Header at address 00DA43B0, 0 elements ----
FMI 01040001 6200200D 00000100 0100CF00 <....b. .........>
>10/24 09:59:44.365 (+ smidgen ) Event=TEV_DataFromSNA
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
VCB address=0x00267FB8
verb in progress -- opcode=0x8004 (WRITE)
>10/24 09:59:44.365 (+ smidgen ) Event=TEV_CRTInboundDataSent
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
State = OPER InputState = COLLECT OutputState = SNARESP
Toggle = LU-LU LU State = SNDXMT CanQueue = NO
Bracket = INB DTActive
>10/24 09:59:44.375 (+ 10 msecs) Event=TEV_DataFromSNAAsync
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
VCB address=0x00267FB8
verb_length=0x0044 verb=0x0052 (RUI) opcode=0x8004 (WRITE)
sid=0x00000003 correlator=0x00267DA8 post_handle=0x000001EC
prim_rc=0x1400 (LUA_UNSUCCESSFUL)
sec_rc=0x00000D20 (LUA_RSP_BEFORE_SENDING_REQ)
lu_norm lua_data_length=0x00000003
RH REQ FMD fi=0 sdi=0 bci=1 eci=1 (Only)
03 90 20 dr1=1 dr2=0 ri=1 qri=0 pi=0
bbi=0 ebi=0 cdi=1 csi=0 edi=0 pdi=0
>10/24 09:59:44.375 (+ smidgen ) Event=TEV_DataToClient
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
NEG RSP
Number of bytes = 8
>10/24 09:59:44.375 (+ smidgen ) Event=TEV_TCPSendIssued
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
Number of bytes = 8
000000 0200 0100 0000 ffef |........ |
>10/24 09:59:44.385 (+ 10 msecs) Event=TEV_SessionTerminationScheduled
Thread = 0x00000049 Session = 0x00267DA8 Socket = 0x000001D0
SNAError
RESOLUTION
==========
To resolve this problem, obtain the hotfix mentioned below. The fix involved
changing the TN3270E server so that it does not let a TN3270E client send data
to the host until it has sent to the host a response to any CD message it has
received. Previously, the TN3270e server would let the TN3270E client send data
once the TN3270 server had received a CD message from the host.
STATUS
======
Microsoft has confirmed this to be a problem in SNA Server versions 2.0, 2.1,
2.11, and 2.11 Service Pack 1. This problem was corrected in the latest SNA
Server version 2.11 U.S. Service Pack. For information on obtaining this Service
Pack, query on the following word in the Microsoft Knowledge Base (without the
spaces):
S E R V P A C K
Additional query words: prodsna SP1 RH
======================================================================
Keywords : kbnetwork
Technology : kbAudDeveloper kbSNAServSearch kbSNAServ200 kbSNAServ211 kbSNAServ210 kbSNAServ211SP1
Version : WINDOWS:2.0,2.1,2.11,2.11 SP1
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.