community.borland.com

Article #25741: A Possible explanation for "Decompression overran buffer" errors

Problem:
I am getting 
"internal gds software consistency check (wrong record length (183))"
and
 "decompression overran buffer" errors when I try to gbak my database. 

Solution:
The "(183)"  means that the internal message table number for the
"wrong record length" message is 183, not that the record was, or should
have been, 183 bytes (or words or bits) long.  This does not help you to
figure out what could be causing the difficulty.   It just points out the internal
message number that this error triggered.

As you probably know, records are compressed before being stored on 
disk.  When they are read, they are decompressed into a fixed length
buffer that is the full size of the record.  It should fit exactly.
If the expanded data is too long, you see a message like "decompression
overran buffer".  If it's too short, you get the "wrong record length"
error. 

The most common reason was copying a database file between architectures -
different operating systems or different processor types.  For example,
copying a database from NT to Novell can cause errors like this.  That's
why a transportable backup is the preferred way to move databases.  The
underlying problem is that different architectures use different alignments
for different datatypes and if the alignments don't match, neither does
the data.


Source : Ann Harrison on the listserv










Last Modified: 23-OCT-00