Microsoft KB Archive/152186
Possible Network Data Corruption If Locking Not Used
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.
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.
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.
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 or Windows 2000, 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:
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.
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
Issue type :
Technology : kbWin95search kbWin95
Last Reviewed: December 15, 2000