[comp.sys.ibm.pc] dBase III+ bug?

gpoy@vax5.CCS.CORNELL.EDU (08/31/88)

   Has anyone had a problem with dBase III+ whereby the computer
completely freezes during an operation?  I have.  Aparently it
occurs during a SKIP operation.  It seems to have something to
do with the index file, since when I reboot the machine (usually
by turning it off and back on), the index file that was in use
contains 0 bytes, although a CHKDSK is able to recover the entire
thing as a chain of lost clusters.
   I have also gotten illegal opcode errors, presumably as a
result of the same problem.  I browsed through the database file
and it looks OK.
   What I'd like to know is, is there some kind of known dBase
bug that would cause this, or is this something no one's ever
seen before?
---------
DISCLAIMER:  I don't have a .sig file.

Sheldon Luberoff:  gpoy@vax5.ccs.cornell.edu, gpoy@crnlvax5.bitnet
                   {your favorite backbone}!cornell!vax5!gpoy

iesa002@discg1.UUCP (john boris) (09/01/88)

From article <16834@vax5.CCS.CORNELL.EDU>, by gpoy@vax5.CCS.CORNELL.EDU:
> 
>    Has anyone had a problem with dBase III+ whereby the computer
> completely freezes during an operation?  I have.  Aparently it
> occurs during a SKIP operation.  It seems to have something to
> do with the index file, since when I reboot the machine (usually
We use DBASE III+ extensively and problems of that sort have cropped up
from time to time. I have found that the event is usually preceded by a
system failure (an aborted reindex,sort or some other function accessing
the file). The only other time we have experienced a failure like this 
was using floppies.
-- 
 John J. Boris,Sr. Defense Industrial Supply Center-DISC-EE         
 Philadelphia,PA (AV)442-6382 COMM (215)697-6382                
 "These statements are my own... And usually I'm not that sane!"      
  "Beam me up Scotty!" :jboris%discg1.uucp@daitc.arpa

prime@druhi.ATT.COM (Anthony Davis) (09/03/88)

In article <16834@vax5.CCS.CORNELL.EDU>, gpoy@vax5.CCS.CORNELL.EDU writes:
>    Has anyone had a problem with dBase III+ whereby the computer
> completely freezes during an operation?  I have.  Aparently it
> occurs during a SKIP operation.  It seems to have something to
> do with the index file, since when I reboot the machine (usually
> by turning it off and back on), the index file that was in use
> contains 0 bytes, although a CHKDSK is able to recover the entire
> thing as a chain of lost clusters.

I have had a problem similar to this, but with dBASE II, and the computer did
not "freeze". What I have found to be effective, is to erase your index files
at the begining of your programs, and then re-create the index file. This
may take some time for large applications, but its better than having the
system lock-up on your customers. Do something like the following:

*** close all open index files - precautionary measure ***
close index	
*
* now see if the index file exists
*
if file('index_filename.ndx')
   erase index_filename.ndx
endif
*
use database_filename
index on field to index_filename
use database_filename index index_filename
*

This is done at the begining of each program that uses this index file.
This way guarantees that your pointers are current and correct, assuming,
of course, that the database is correct. Good luck!!

Tony Davis
AT&T Bell Labs, Denver Co.
local: druhi!prime
net:   att!druhi!prime

wag@hpindda.HP.COM (William Gilliam) (09/04/88)

I have been in similar situations where Dbase will simply hang.  Once, when
I called Ashton-Tate to describe the problem and explain what I was doing in
my procedure files, I was sure that they were going to tell me that it was
a bug in *their* code because it took them days to call me back.  But, when
they did call, they said that either (1) I had somehow arranged my index
files into a knot where they all ended up pointing to each other's addresses,
(2) I was exceeding the program capacity, or (3) my copy of Dbase was
corrupted.  I didn't accept any of those reasons (except for the possibility
of a bad version of Dbase), and after checking my code further, I found the
culprit:  One of my index files depended on a field that, in certain cases 
that I neglected, would have a null value.  Dbase seems to frown on things
like that, but I hear that Dbase IV contains routines to handle such things.
We shall see...


WG