Possible Network Data Corruption If Locking Not Used

ID: Q152186


The information in this article applies to:
  • Microsoft Windows 95

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

When you use certain programs to access a common data file over the network from multiple workstations, the data may be read incorrectly or may become damaged.


CAUSE

The Microsoft Client for Microsoft Networks and Microsoft Client for NetWare Networks cache some network data on the client computer for enhanced network performance. If the program does not use locking calls to guarantee data synchronization and integrity, this cached data may not be kept in synchronization with the data on the network server.

If an opened file is not locked, it may be cached by the client. If the file is then modified by a second client, the first client may read incorrect file data from the cache, instead of reading the current file data from the network server. Subequent writes by the first client may result in incorrect data being written to the file, and damage to the file data.


RESOLUTION

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).
Contact the program's manufacturer for additional information about using the program with Windows 95.

When you create a multiple-user program that allows for multiple users concurrently accessing and modifying a common data source, use locking calls when reading and writing data to ensure data integrity.

For existing programs that do not employ locking to ensure data integrity, this issue can be resolved by one of the following updated files for Windows 95, and later versions of these files:

  • For the Bindery (non-NDS) version of the Microsoft Client for NetWare Networks:
    
          NWREDIR.VXD  version 4.00.954  dated 5/20/96  123,987 bytes 


  • For the NDS version of the Microsoft Client for NetWare Networks (Microsoft Service for NetWare Directory Services):
    
          NWREDIR.VXD  version 4.00.969  dated 7/30/96  174,618 bytes 


  • For the Microsoft Client for Microsoft Networks:
    
          VREDIR.VXD  version 4.00.957  dated 4/26/96  140,403 bytes 



These updates address this issue by modifying the caching algorithm to better handle situations in which a program may cause data corruption by not implementing locking.
NOTE: As a possible test, read caching by NWRedir can be disabled by using Registry Editor to add the following one-byte BINARY value to the registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWREDIR\ReadCaching=00


STATUS

Microsoft has confirmed this to be a problem in Microsoft Windows 95 and OEM Service Release 2 (OSR2). An update to address this problem is now available, but is not fully regression tested and should be applied only to computers experiencing this specific problem. Unless you are severely impacted by this specific problem, Microsoft does not recommend implementing this update at this time. Contact Microsoft Technical Support for additional information about the availability of this update.

This issue is resolved in Microsoft Windows 98.


MORE INFORMATION

When locking calls are not used, the integrity of data cannot be guaranteed by a network client that employs caching for enhanced performance. Such network clients include the Microsoft Client for NetWare Networks and the Microsoft Client for Microsoft Networks included in Windows 95.

If a program locks the file or range of bytes that it intends to read from or write to, the server locks that file, or that range of the file. This denies access to that data to other users, and forces the client to read the current data from the server instead of from the cache. This technique is advised for maintaining data integrity when required, while providing the performance benefits of caching when it is safe to do so.

For additional information about issues resolved by updates to the NWREDIR.VXD component, please see the following articles in the Microsoft Knowledge Base:

Q177222 NetWare Printers or Volumes Unavailable in Windows 95

Q165402 Windows 95 Update to Encrypt Passwords in Memory

Q163673 "Exception 0E" Using MSNDS Over Dial-Up Connection

Q160897 NWRedir Reports Incorrect Free Space If Limited by Admin

Q160824 MSNDS Drops Connections to More Than Eight Servers

Q158058 MSNDS Client Does Not Prompt to Log On

Q153470 Incorrect Error Code Returned for Locked Files

Q151912 NWRedir Returns Cached File Size Information

Q149606 Fatal Exception 0E in VNETBIOS Using NetWare Login Script

Q147838 Cannot Access Folders with Long File Names on NetWare Servers

Q143282 No Documents Appear in the File Open Dialog Box

Q139747 MS-DOS-Based Program Reports Not Enough NetWare Server Space

Q136303 Connecting to Schedule+ 1.0 Calendar File Drops Connections

Q132786 Known Issues with MS Print Agent for NetWare (MSPSRV)

For additional information about issues resolved by updates to the VREDIR.VXD component, please see the following articles in the Microsoft Knowledge Base:
Q183493 Batch File Calling CD Command May Not Run on HPFS

Q174371 Possible Database File Damage When Data Is Appended

Q172594 Cannot Connect to Server with 15 Characters and Period in Name

Q167712 Fatal Exception Error in VREDIR with DCOM Program

Q165403 Windows 95 Update Prevents Sending Clear-Text Password Over Net

Q165402 Windows 95 Update to Encrypt Passwords in Memory

Q161100 File May Be Truncated When Copied to a Full Network Drive

Q160807 Cannot Connect to Windows NT Server with Many Shares

Q157114 "Access Denied" Attempting to Run File on LM/X Server

Q156497 Duplicate Print Output on PC-LAN Server from Windows 95 Client

Q150215 Disabling Automatic Network Shortcut Resolution

Q148367 Possible Network File Corruption with Redirector Caching

Q142803 Locking Error or Computer Hangs Accessing Network Database Files

Q140558 Deleting Files on Samba Servers May Delete Local Files Instead

Q138249 Updated Vredir.vxd Corrects Errors Running Files on LMX

Q138014 File May Be Truncated to Zero Bytes When Copied Onto Itself

Q136834 Error Copying Read-Only Files to Core SMB Server

For additional information about Windows 95 updates, please see the following article in the Microsoft Knowledge Base:
Q161020 Implementing Windows 95 Updates

Additional query words:

Keywords : win95
Version : WINDOWS:95
Platform : WINDOWS
Issue type :


Last Reviewed: October 5, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.