RAS Workstation Hangs During ODBC SQL Query (109226)



The information in this article applies to:

  • Microsoft LAN Manager 2.1
  • Microsoft LAN Manager 2.1a
  • Microsoft LAN Manager 2.2
  • Microsoft LAN Manager 2.2a

This article was previously published under Q109226

SYMPTOMS

Under Windows 386 Enhanced mode a workstation can crash or lock up during an SQL query using RAS, most frequently when Microsoft Access uses ODBC to get data from an SQL Server over a RAS connection with links 9600 baud or faster. Front-end database applications including Microsoft Access can be used to perform such queries. These symptoms are seen:

  • Windows hangs until the system is restarted
  • Windows drops the user to an MS-DOS prompt
  • the RAS protocol stack and asynch driver hang; rasdial fails

CAUSE

The redirector, netwksta.*, requires a larger internal stack. Commonly these failures occur under stress and are worsened by long distance or slow links, resulting in serial port data overruns. The real-mode LAN Manager redirector acts as a catalyst.

Note: The Windows for Workgroups virtual mode redirector, a vxd, does not exhibit these symptoms when operating with RAS and performing the same operations.

RESOLUTION



The fix for this problem is included in LAN Manager 2.2b.

Also, the following tuning may be required to accommodate delays in slow or long distance dialup connections:
Protocol.ini
[Asybeui_Xif]

   ncbs = 15
   datagrampackets = 4
   packets = 75
   stacksize = 4096
				
Note: Many internal modems avoid this problem because they have a UART chip that acts as a buffer to prevent serial device data overruns.

STATUS

Resolved.

MORE INFORMATION

Configuration

LAN Manager 2.2
RAS 1.1
MS-DOS 5.0, 6.0
Microsoft Access 1.1

RAS Debug Trace

The following trace was obtained using Net Start Raserver /debug:FILE

The two commands listed below are completed continuously until the session hangs as a result of workstation problems. Rc 18h indicates that a NetBIOS session ended abnormally.
VCRecvSmallBuffComplete: net = 2 rc = 0x0, rcvlen = 65
   VCSendPeerSessionComplete: net = 1 rc = 0x18, sendlen = 65


I_VCCloseSignal: Entered
VCRecvSmallBuffComplete: net = 1 rc = 0x18, rcvlen = 4400

  VCLANSessClosed: LAN session hanged with rc = 0x0
  VCLANSessClosed: Async session hanged with rc = 0x8
				
At this point, the RAS server disconnects the session between the asynch clint and the LAN Sql server, but the asynch client session hangup completes with rc 8h indicating an invalid local session number.

VCCloseComplete: Entered
VCRecvSmallBuffComplete: net = 2 rc = 0xa, rcvlen = 4400
GatewayStop: Entered
CCCloseSignal: Entered


Modification Type:MajorLast Reviewed:9/30/2003
Keywords:KB109226