Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: When TN3270 Server is running on a Windows Server 2003-based computer, event 902 is logged after a TN3270 session times out


View products that this article applies to.

Symptoms

Consider the following scenario:
  • You are running a Windows Server 2003-based computer.
  • The TN3270 Server service that is included with Microsoft Host Integration Server is running on this computer.
  • A client user's TN3270 session is idle for longer than the TCP/IP keepalive time-out period.
In this scenario, the TN3270 session is disconnected by the TN3270 Server, and the following event is logged in the Application log:
Event ID: 902
Source: TN3270 Server
Description:
Logic error in module CompletionRoutineRead identified by: CompletionRoutineErrorNotZero
 EXPLANATION
 An unexpected logic error has occurred.
Note This problem typically occurs when the idle time-out period for TN3270 Server is set to infinite. In this situation, an idle TN3270 session never times out. Therefore, it becomes more likely that the underlying TCP/IP keepalive time-out period will expire when TN3270 sessions are left idle for long periods.

↑ Back to the top


Cause

When a TN3270 session is disconnected because of inactivity, the TN3270 server expects to receive one of the following error messages when the TN3270 server calls the GetQueuedCompletionStatus function:
  • ERROR_NETNAME_DELETED (error 64)
  • ERROR_UNEXP_NET_ERR (error 59)
  • ERROR_CONNECTION_ABORTED (error 1236)

    The check for ERROR_CONNECTION_ABORTED was added to resolve the issue that is described in the following Microsoft Knowledge Base article:
    908232 FIX: TN3270 emulators may not reconnect automatically if the session ends because of inactivity when Host Integration Server 2004 is running on Windows Server 2003
When TN3270 Server is running on a Windows Server 2003-based computer, it receives the following error message in response to the GetQueuedCompletionStatus function call when the TN3270 session times out:
ERROR_SEM_TIMEOUT (error 121)
TN3270 Server does not expect to receive error 121 when the call to the GetQueuedCompletionStatus function returns. Therefore, TN3270 Server logs an event 902 error.

↑ Back to the top


Resolution

Host Integration Server 2004

There is currently no hotfix available for Microsoft Host Integration Server 2004.

Host Integration Server 2004 Service Pack 1 (SP1)

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Host Integration Server 2004 Service Pack 1 (SP1) installed.

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
File nameFile versionFile sizeDateTimePlatform
Tn3servr.exe6.0.2426.0251,39205-Jun-200821:18x86

Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

Host Integration Server 2006

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

↑ Back to the top


Status

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

↑ Back to the top


More information

This hotfix enables TN3270 Server to search for the "ERROR_SEM_TIMEOUT" error that the GetQueuedCompletionStatus function returns when TN3270 Server is running on a Windows Server 2003-based system.

The following is an excerpt of a TN3270 Server internal trace (Tn3int1.atf) that was captured when the problem occurred. This trace was captured by using the SNA Trace utility (Snatrace.exe).
GetQueuedCompletionStatus failed : error 121
Client IO failed : error 121
Entry {
Entry {
Entered TCP Recv Completion Routine
Read completed for DEMO1   , state 5, bytes 0, address 0xbe824
Read 0 bytes (as read)
Error on completion: 0x79
Entry {
Regular data (not security handshake)
No bytes returned, terminate
Entry {
Add Queue Delete Session LU(DEMO1) IP()
The default TCP/IP keepalive time-out period is set to two hours (7,200,000 milliseconds). However, you can change this time-out period by adding the KeepAliveTime registry parameter, as described on the following Microsoft Web site: For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

↑ Back to the top


Keywords: kbautohotfix, kberrmsg, kbexpertiseadvanced, kbbug, kbfix, kbqfe, KB953904

↑ Back to the top

Article Info
Article ID : 953904
Revision : 3
Created on : 10/8/2011
Published on : 10/8/2011
Exists online : False
Views : 524