home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
lan
/
bpt510.arj
/
BUGS.510
< prev
next >
Wrap
Text File
|
1991-02-26
|
24KB
|
580 lines
Bug descriptions for :
BTRIEVE (DOS, OS/2, Windows, & NLM)
BSERVER(VAP),
BUTIL,
BTRTOOLS
Requester (DOS & OS2)
1. Bserver (vap)
Note: Not a really a bug, but an improvement!
If a GET DIRECT operation would return a record which has a null value in
the key field specified by key number (and the key allows duplicates) then
status 82 returned. This is a correct status code. However, sometimes
the user is not interested in positioning by any of the keys, but he simply
just wants to retrieve the record. To achieve this, a new option is pro-
vided by this patch: the user can specify -1 in the key number and then
ONLY the data will be returned (and of course, no status 82 will be repor-
ted).
2. Bserver (vap)
Files with variable size records can become corrupted (on its variable
pages) if the page size is at least 1024 and the user stores a lot of
records with extremely short (1 or a few bytes long) variable parts.
3. Bserver (vap)
Files can be left open on a server if another connected server crashes
and Netware SQL has opened these files previously from the crashed
server.
4. Bserver (vap)
If 2 workstations hold record locks on the same file and then they both
start a transaction and attempt to get a record from this file (i.e. try
to lock the file), then both stations will be locked up, without getting
a status 78 ("deadlock detected") on one of the stations.
5. Bserver (vap)
Any file access (get,step,etc.) can return an erroneous status 85
(was previously documented here as an 84- "File in use") in a "no-wait"
transaction (op code 219) or can lock up in a regular transaction
(op code 19) if this station (say Station 1) is holding a record
lock on the file BEFORE it issues the BEGIN TRANSACTION and another
station (say Station 2) had opened the file earlier than Station 1.
6. Bserver (vap)
If the user passes Btrieve a file name in an illegal format (i.e. more than
8 characters as name or more than 3 characters as extension) then Brieve
stores it as it is given. However, Netware 286 drops the extra letters and
will open a file which matches the re-formatted name (e.g if given:
"abcdefghij.klmno" then file "abcdefgh.klm" is opened if it exists). This
can cause a status 94 for another open if that other open is not getting
the same, "miss-spelled" name. This patch will make sure that Btrieve
will always store internally the file name as it exists in reality.
7. Bserver (vap)
When all workstations are shut down on an ArcNet network, the VAP
operating system returns an error to all VAPs using the Service
Advertising Protocol. This causes Bserver to issue an Error-Log message
of "Send Failure in Advertiser". This patch is normally commented-out,
but may be enabled by users who find their error logs clogged up.
8. Bserver (vap)
The following scenario produces an erroneous status 14:
a. first a workstation opens a file read-only;
b. the same file is opened again in regular mode once or more times
(either by another or by the same workstation);
c. using the "regular-mode" handle(s) do some operations which involve
the preimage file of the file (insert, update, delete, or transact)
d. close the file on all handles so that the "read-only" handle does
the LAST close;
e. open the file again in regular mode and try to do any operation
which uses the pre-image file.
9. Brequest
This patch makes BRequest aware of a new error code #74, which results
when an END_TRANS function is internally changed to an ABORT_TRANS due
to a previous error within the transaction. Without this patch,
Brequest will stop broadcasting the END_TRANS to all servers when this
error is encountered. This can result in the transaction left open on
another server.
10. Brequest
This patch fixes BRequest so that it can reset another workstation by
connection number without also resetting itself and terminating its own
connection.
11. Brequest
This patch fixes a BRequest SPX input queueing problem which can result
in lost packets and even BRequest lock-up when overloaded. This problem
is generally seen only if a very slow workstation is talking to a very
fast (and lightly loaded) BServer. It may also appear when BRequest is
running in a DesqView window with other processes (such as copying from
a hard disk to a floppy), since that effectively slows the W.S.
12. BUTIL.EXE
Increased stack size to 22K bytes. Btrieve utilities for COPY and
BINDEX were crashing due to insufficient stack space to accommodate
local variables.
13. Brequest
This patch was made to satisfy a user request that BRequest should be able
to alternately attach, query, and detach to an indefinite number of
BServers. Currently, BRequest would have to be unloaded after the 8th
server is attached.
13/a Brequest
This patch is required in conjunction with patch #13 and ALSO fixes a
longstanding problem where a Begin_Transaction immediately after mapping
to a new server would fail to broadcast the transaction to that server.
14. Btrieve (nlm)
An incompetibility with the rest of the Btrieve products:
The Get Position operation following a Delete operation returns
status 43 instead of status 8.
15. OS/2 Requester
15.a Returning status 22 on extended inserts
15.b Version returned was 5.0
16. OS/2 Requester
Opening a file on a different server than previously opened
files could have resulted in a status 12 despite correct filename
and drive mappings.
17. OS/2 Requester
Apparently random status 12 or 91 returned when opening a file.
This occurs if two file servers in the LAN have identical internet
addresses except for the last byte, and if the desired server is
found after the other in the bindery scanned for BSERVER VAP's.
18. OS/2 Requester
Protection violation generated by the COBOL interface due to the
requester not restoring the caller's SI and DI registers on return.
This could, but hasn't yet, be caused in other languages as well.
19. Btrieve (nlm)
Without this patch various random error status can be returned when using
variable length pages or using truncation.
20. Btrieve (dos)
Btrieve might hang if another TSR program is using it.
21. Btrieve (nlm)
The Btrieve function to compare INTEGER keys will sometimes not
recognize a negative value, such as 8000h, as the lower value, treating
it as unsigned instead.
( This patch was originally buggy and had to be corrected on 29Oct90. )
22. Btrieve (nlm)
If 1. User1 and User2 have different files open ( A and B ) and
2. User3 also opens file A and
3. User4 also opens file B while
4. User2 is simultaneously CLOSING file B
a timing window may appear which causes a divide-by-0 GPI. This patch
corrects a semaphore to fix this.
( This patch was modified on 29Oct90 to allow correction to #21, above. )
23. Btrieve (only dos 5.10, not 5.10a!)
Btrieve might hang when loading in certain environments (hardware and/or
programs run before loading Btrieve)
24. Btrieve (nlm,dos)
Get Key-only operations are erroneously not updating the position block.
25. Btrieve (vap)
Logging to a different volume of the same server does not work properly.
26. Btrieve (nlm)
If a Btrieve file has a ZSTRING or LSTRING key using alternate collating
sequence then a key value of length 0 for that key can result in some
undeterministic error due to an uninitialized variable.
27. Btrieve (nlm, vap ) & Brequest (dos, os/2 )
For data-only files, Btrieve was returning data to the key buffer
after Get Direct, Update, Insert and Extended Insert.
*** THE PATCH MUST BE MADE BOTH TO THE VAP (OR NLM) AND THE REQUESTER ***
THE VAP (OR NLM) SENDS A FLAG TO THE REQUESTER- IF YOU DON'T PATCH
THE REQUESTER THE FLAG WILL NOT BE UNDERSTOOD AND THE PROBLEM WILL
STILL BE PRESENT.
28. Btrieve (dos)
A file can become corrupted if a work station opens a file as another
workstation closes the same file from an accelerated processing mode
(timing-related bug, which is corrected by this patch).
29. Btrieve (nlm)
This fixes a bug where a file opened by Btrieve on the server could
not be opened for read-only by a non-Btrieve application, even though
the file had the Shareable attribute set by the Netware FLAG utility.
30 Btrieve (vap, dos)
Btrieve will return an erroneous status 26 when adds a supplemental
index with 8 segments to a data only btrieve file of size 512 bytes.
31 Btrieve (dos)
Btrieve will return an erroneous status 83's when it does Insert Extended
operations within a transaction.
32 Btrieve (nlm)
This fixes a bug in an undocumented Btrieve function call, used by
Netware SQL. Only apply this patch after applying patch #27!
33 Btrieve (vap, nlm)
This fixes the following bug: after a Get Direct returns a status 22
(user's data buffer too small), the user's key buffer was being
overwritten with garbage. It also fixes a bug in which the nlm
was not returning a key value after a Get Direct returns a status 22
when the user's data buffer WAS long enough to at least receive the
fixed length portion (including the keys) of the record.
*** THIS PATCH WILL ONLY WORK IF PATCH #27 HAS BEEN APPLIED TO THE ***
VAP OR NLM AND BREQUEST.EXE !!!
34 Btrieve (vap)
Fixes a bug which caused a GPI crash on the vap's server when the
application used the Extended Insert function and passed a data buffer
larger than the "Largest record size" parameter configured by Bsetup.
35 Btrieve (dos)
Fixes a bug which causes btrieve to unnecessarily make a preimage
file if the very first operation requested after Btrieve is loaded
is a Create.
36 Btrieve (dos)
Fixes a bug by which btrieve crashes (or perhaps shows other
unpredictable symptoms) when updating a record retrieved with a
get direct or step (no key) operation if there has been no insert
nor get (using a key) since the file was open, and if the file's
position block array contained values other than binary zeros prior
to the file's open operation.
(Fixes problem where update to dataonly file after StepFirst
hangs the workstation)
37 Btrieve (nlm, dos, and vap)
Fixes a bug which caused Btrieve to return an incorrect status 2
when deleting a record from a file with a supplemental index.
This bug is most likely to occur only if few records have been inserted
since the creation of the supplemental index. The bug only occurs
on the VAP or DOS if the supplemental index was created with the NLM.
38 BTRTOOLS - (Windows Btrieve utilities)
This patch fixes the description file utility dropping the first
word of the comments from the description file.
39 Btrieve (OS/2)
Fixes a bug which would cause a segmentation violation during
re-initialization through BTRVINIT().
40 Btrieve ( vap )
Fixes an error in patch #34 for the vap. This error caused a status 39
to be returned to XQLI when that program starts-up.
41 Btrieve ( OS/2 & Windows )
Fixes the same problem described in patch 35.
42 Btrieve ( OS/2 & Windows )
Fixes the same problem described in patch 36.
43 Btrieve ( OS/2 & Windows )
Fixes the same problem described in patch 37. This bug will only
occur in Btrieve for Windows or OS/2 when using a file created by
the NLM Btrieve.
44 Btrieve ( dos & OS/2 )
Fixes this bug: A file is opened in exclusive mode. The application
then repeats the following sequence a several times, each time using a
different record: it retrieves a record using a multiple record lock
bias (300 or 400), then it updates or deletes that record (which should
clear the lock). Eventually, a status 81 (Lock Error) is returned.
The number of times it can repeat the sequence before the status 81
is determined the user's specification of the maximum number of multiple
locks (/L:). For DOS Btrieve, this bug will also appear if the file is
opened in other modes, provided that the file is on a non-network drive
and SHARE.EXE is not loaded.
45 BTRTOOLS (Windows)
Fixes bug which required File Information key count to match total
key/segment count in description file. This was for the description
file edit utility.
46 Btrieve (dos)
Btrieve does not return status code 83 when a record is updated but
not read inside a transaction.
47 Btrieve (NLM)
When many workstations are constantly updating the same file, a timing
window can appear which results in cache corruption. The effects can
range from file corruption to abends due to divide/by/zero or processor
exception interrupts.
48 Btrieve (NLM)
When ending a transaction on multiple files of different page sizes, the
cache can become corrupted, causing the next reader of a file in the
cache to get errors #15 and/or #52.
49 BROUTER (NLM {Netware 3.1})
This patch forces only one connection per server and serializes
client threads to avoid an as-yet-unexplained SPX hang.
50 BROUTER (NLM {Netware 3.1})
This patch fixes the SPX hang mentioned above and may be used instead
of patch #1. (using both patches is equivalent to using just #1) This
allows up to 3 BRouter-Btrieve conections to a given server and may
result in improved performance in some cases.
51 BUTIL.EXE
Clone is created incorrectly for a file which has at least one multi-
segmented supplemental key and one or more additional supplemental keys.
52 BROUTER (VAP)
This bug causes the server to GPI or ABEND if a Btrieve CREATE call
is made to a REMOTE server.
53 BROUTER (VAP)
If there are more than 100 file servers on the network(s), then BRouter
will sometimes crash when building it's server tables.
54 BROUTER (VAP)
This patch fixes a BRouter SPX input queueing problem which can result
in lost packets and even BRouter lock-up when overloaded.
55 Btrieve (VAP, DOS, Windows, OS/2)
If VAP Btrieve has a file open, and DOS or Windows Btrieve (running on
a workstation) tries to open a file in the Normal, Verify, or Exclusive
modes, DOS/Windows/OS2 Btrieve incorrectly returned a status 94. This
patch makes it return the correct status, 85. Similarly, if Btrieve
running on a workstation has a file open and VAP Btrieve tries to
open it (any mode), VAP Btrieve was returning a 94. Now it'll return
an 85. Also, if a workstation Btrieve tries to open a file in
Accelerated mode in a directory in which the user does not have Netware
Write permission, an incorrect status of 85 was being returned. Now
it returns a 94.
56 Btrieve (VAP)
This bug allowed a user to open and write to files in directories
in which the user has no Write permission.
57 Btrieve (NLM)
This bug caused a GET_NEXT to fail with a status 8 immediately after
an extended insert, but only if the insert followed an open call.
58 Btrieve (VAP)
This is not really a bug but it allows applications which "illegally"
change the key number when executing an update operation to operate
without getting a status 7. (Earlier versions did not catch the user
when changed the key number, so this fix makes 5.10 backward compatible
in this respect.)
59 Btrieve (NLM)
Multiple segmented null keys are not working; they either inserted into
the index (if duplicates are allowed) or the first occurance is inserted
into the index and status 5 is returned for the rest of the time (if
duplicates are not allowed).
60 Btrieve (NLM)
For a KEY-ONLY file which is small enough to fit on a single page, the
operations sequence OPEN-GET LAST(KEY)- GET PREVIOUS(KEY) [0-63-57] can
cause the server to hang in a loop.
61 Btrieve (NLM)
An Extended Insert called with a data buffer of all 0's (no data) would
return a random, uninitialized error value instead of the correct #63.
62 Btrieve (!!!! Only for IBM PC LAN users !!!!)
Changes executed on a file within a transaction are erroniously rolled
back if another station accesses the file before an End Transaction (op19)
executed on the first station.
63 Btrieve (NLM)
Btrieve may return a status 9 (End of File) prematurely when Step Direct
is used to retrieve records from a file with greater than 65,535 pages
(i.e., at least 32 megabytes, depending on page size).
64 Btrieve ( DOS )
If the user attempts to install Btrieve with the /F:nn parameter to
specify that Btrieve allow more than 20 open files, and for any reason
the attempted installation fails (e.g., Btrieve already loaded), then
this bug could cause unpredicatible symptoms, most likely hanging the
system.
65 Btrieve ( OS/2 )
Cntl-Break causes program to hang because OS/2 does not either clear
the Btrieve semaphore owned by the process, or does not let the process
finish the Btrieve operation before terminating. The ExitList routine
was waiting for the semaphore to clear. Cntl-C does not cause have
this problem.
66 Btrieve (nlm)
This fixes a bug in an undocumented Btrieve function call, used by
XQL and NetWare SQL. The bug caused Netware SQL/XQL to return a
status 25 when logging in.
67 Btrieve (vap)
This fixes a bug in an undocumented Btrieve function call which is
used by NetWare SQL in its "alter table" function. This bug was
introduced by patch #6.
68 BROUTER (NLM, VAP)
This fixes an interface problem between both BROUTERs and the Btrieve NLM
when doing an update operation on a key number other than 0. In some
cases this could result in over-writing the front of the record.
69 Btrieve ( DOS, Windows, OS/2 )
When the user attempts to use Btrieve's logging feature, and specifies
a log file on a different volume of the same server on which the
file-to-be-logged resides, logging does not happen. This patch fixes
the problem for DOS and Windows Btrieve. However, this problem is
not patchable for OS/2 Btrieve.
70 Brequest.exe
Brequest would not completely fill its data buffer, returning #97 for
a 4096-byte record, even with a /D=4096 parameter.
71 Btrieve ( DOS, Windows, OS/2, VAP, NLM )
When an application does a Step Next or Step Previous (or Extended
Step Next/Previous) after a Delete, Btrieve should return a status
8, Invalid Positioning. Instead, this bug causes it to go into an
endless loop. With the VAP & NLM, the workstation will appear to be
hung, too. This patch fixes that bug. (The bug only appears if the
record deleted has a physical position > 0xffff.) Also fixed is a
related symptom of this bug: DOS, Windows and OS/2 Btrieve incorrectly
return a status 0 if you do a Get Position after a Delete.
72 Btrieve (NLM)
If station #1 is doing GETEQUALs with a key and client #2 is doing
DELETES on the same file using a different key, the system can sometimes
get confused about which key was last used by #1, returning a status 7.
73 Btrieve (DOS, Windows, OS/2)
Fixes a bug which shows up in the following scenario: an application has
two files open, and file #2 is opened in accelerated mode. It closes
file #1. It does some updates/inserts to file #2. It closes file #1
again (an error which returns a status 3). Many of the recent changes
to file #2 will be lost.
74 Btrieve (DOS, Windows, OS/2)
Regarding the Btrieve logging feature: the Reset operation was not
being logged, and the log files were being left opened after a Reset.
75 Btrieve (NLM)
XQLP and SQL returned status 82 on a user-defined sort at the NLM due
to a bug in an undocumented Btrieve function.
76 Btrieve (DOS)
This corrects severe performance degradation on simple reads during
inserts by another WS with a transaction on the file. This was caused by
waiting in a loop for a lock instead of simply verifying a not-locked
state and returning.
77 Btrieve (DOS)
Btrieve 5.10 uses a new mechanism in order to keep more than 20 files
open to DOS at a time, instead of rotating the 20 available handles.
This can cause Btrieve to compete with the application for available DOS
or NetWare handles where it did not previously do so. One solution is
to set the NetWare shell configuration to allow more than the default 40
handles. A low-performance solution is to use this patch to disable the
new mechanism and keep the 20 handle rotaton limit. This allows 5.10 to
substitute for 5.00 without any environment changes, but at a cost.
78 Btrieve (DOS, Windows, OS/2, VAP) and BROLLFWD.
If the computer on which DOS, Windows, or OS/2 Btrieve is running is
turned off or rebooted during a transaction, Btrieve's implicit Abort
Transaction, which it performs when the files involved are next opened,
was not being logged properly. Also, with BSERVER.VAP, there is a small
timing window during which, if the server is turned off during an update,
delete, or insert, the VAP may improperly log an operation when the
involved files are reopen. In each of these cases, the improper logging
will confuse BROLLFWD. (Note: BROLLFWD is not being patched. You
must use version 5.15 of BROLLFWD to fix this bug.)
79 Btrieve (DOS, Windows, and OS/2)
If an End Transaction operation is interrupted (by a reboot, or power
down), Btrieve may not be able to use the transaction file. DOS Btrieve
displays "Unable to access btrieve file for transaction recovery" and
will not load. Windows and OS/2 Btrieve return a status 1002. This
patch is for DOS Btrieve only. Windows and OS/2 Btrieve will be fixed
in the next release.
80 Btrieve (NLM)
In certain cases when an UPDATE fails for Duplicate Key (Error 5) the
update operation may not be undone properly. This can result in
subsequent status 9s or 4s on a GET_EQUAL for a limited number of other
keys which may have been corrupted by this failure. This bug corrects
the preimaging call to fix this.
81 Btrieve (DOS)
The user's Filter_Reject_Count on GET_EXTENDED operations was limited
to 128 records, regardless of the length passed in, resulting in error
#60 when records should have been returned. This removes that limit.
***** Last Update - 2/22/91 - MH *****