TopLTopMTopR
MiddleL
spacer
spacer
searchMinimize
spacer
spacer
spacer
spacer
commentsMinimize
  1. Re: Playing & converting VVF files with Vx4SLPlayer

    Thanks for tracking this down - I had exactly the scenario you outlined, including all the false lea...

    --johnbull

  2. Re: Revisiting Visual Studio 2008's integration with System i Access 6.1

    Outstanding. I found your post from your response to Craig Pelkie's article on System iNet. The IB...

    --Keith

spacer
spacer
spacer
spacer
2009 and the 4 GB Hard DriveMinimize

2009 and the 4 GB Hard Drive

Posted in [delphi] By Dave
Ok, I will admit that this particular application is using some fairly (really, really) outdated database access tools -- specifically the Borland Database Engine or BDE.  But it falls into the "if it ain't broke, then why fix it" category.
 
Today was a particularly rough day.  My normal desktop support team is in Vegas setting up for a show, so help desk calls fall back to me.  I would normally rather brave the help desk than bake in Las Vegas in August.  Besides, with most of the office out of town it should be quiet - right?
 
Starting at about 6:30 am I had the warehouse calling with problems, nothing too major - but a little time-consuming to resolve.  Then Internet Sales started calling with errors.  The Point Of Sale software was complaining about "Insufficient Disk Space".  A quick look verified plenty of space free on both the local machines and the server they run the actual application.  In fact, the server had 56 GB of free space.  Should be plenty for an application whose entire historical database is less than 500 megs.
 
So off I go, rebooting this, rebooting that.  Rebuilding indexes, checking permissions, checking event logs.  Google was not really helping either, primarily because I got off on a tangent.  I noticed that right before the program would fail it was creating a temporary DBT file of exactly 120 megs in the applications folder.  This was coincidently the exact size of one of the files in the applications database folder.  I thought our years of history in this file might have exceeded the limits of the old dbase files.
 
After a couple hours of digging, testing, etc I finally stumbled across this page from 2004:
 
Essentially, the page is talking about a bug in the Borland Database Engine that has existed since 2000 or before.  In 2004 they came up with a hack to bypass the bug, but according to other respondents the hack has issues of its own.  The bug only surfaces when the free space of the drive approaches a 4 GB threshold -- like 56 GB.  When you are close to a 4 GB multiple on your free space, then you get random 'out of space' errors.  Brilliant.
 
My fix is not a whole lot better than theirs, but at least it does not break anything else.  I just copied a folder of random files - about 500 MB worth - to that drive to reduce free space to 55.5 GB.  Everything seems fine now and should remain that way for another 3.5 GB of growth. 
 
Admittedly a sloppy workaround, but is it any sloppier than Borland letting this thing exist for at least nine years?  I just bought the 2009 version of Delphi (which is great, BTW) -- and it still ships with the 2000 version of the BDE.  I know they want us to move on, but how hard would it be to correct the free space calculation for those of us with products that cannot be updated to newer technologies?
 
 
 
 
Popular tags: , , ,
Previous Entry: Resolved: 'Our applications don't support 64-bit operating systems'
Next Entry: Revisiting Visual Studio 2008's integration with System i Access 6.1

Comments

Was it good for you, too? Join the discussion »

    leave a reply

     [Quick Submit with Ctrl+Enter]
      
    spacer
    spacer
    spacer
    spacer
     Minimize
    spacer
    spacer
    spacer
    spacer
    cloudMinimize
    spacer
    spacer
    MiddleR
    BottomLBottomMBottomR