ABSTRACT:
AsyncRead() / AsyncRelease() file access Page fault in AsyncRelease() NetWare 4.x Suballocation enabled Can be difficult to reproduce
DETAILED DESCRIPTION
SYMPTOM
A developer is using AsyncRead() / AsyncRelease() for file transfers to a client. This has been working fine for the developer under 3.x and 4.x until it was used on a Compaq Prosignia machine (using NetWare 4.x). Certain files cause a page fault in the AsyncRelease call. This behavior has been duplicated on different machines with different files but can be difficult to reproduce at will. The problem only occurs when suballocation is enabled.
REASON
The problem occurs when there is a suballocation misalignment which requires an additional cache read. AsyncRead() was not allocating enough buffer space for the last read resulting in a buffer overflow. Example A shows the results of reading a file which would not cause the abend, Example B shows the results of reading the file when there was misalignment which required the extra read.
A: cache buffer reads B: cache buffer reads
1E0 1E0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 B9B 400 79B
SOLUTION
This problem has been fixed in NLMLIB.NLM dated later than 7-22-96. This NLM is due to be released in LIBUP9.EXE
| iadv1.exe | 19.2 K | 2005-04-06 |
© 2009 Novell, Inc. All Rights Reserved.