TIP: Click on subject to list as thread! ANSI
echo: locsysop
to: Jeff Green
from: Paul Edwards
date: 1996-12-12 23:41:58
subject: OS/2 4.0

PE> Well, enough of the P.S.'s, I just got some mail scanned.  I got a CRC 
PE> error in one of my zip files.  This zip file was one that MY system 
PE> (3:711/934) packed up to go MY point (.9), ie there is no-one else to blame 
PE> other than my system.  I have put the disk cache back down to what it used 
PE> to be with Warp 3 (8 meg) in the hope that the problems (two data integrity 
PE> loss situations in just a few hours) are due to that and will go away.

Well, I managed to reconstruct the original file, and I found out that all
I lost was a 0x00 was converted into a 0x20.  With the correct input file
(ie 0x00), I did the compression again, and the CRC came out to be the same
as the corrupt archive stated, ie I am sure that I have the input file
correct.  HOWEVER, the two archives were different sizes, specifically...

This is the corrupt one...

Archive:  0000fff7.th0
 Length  Method   Size  Ratio   Date    Time   CRC-32     Name
("^" ==> case
 ------  ------   ----  -----   ----    ----   ------     ----   conversion)
 338731  Defl:X  115964  66%  12-12-96  21:06  208def74  ^2afe7640.pkt
 ------          ------  ---                              -------
 338731          115964  66%                              1      

This is doing the zip again, after painfully reconstructing the original
file...

Archive:  jjj.zip
 Length  Method   Size  Ratio   Date    Time   CRC-32     Name
("^" ==> case
 ------  ------   ----  -----   ----    ----   ------     ----   conversion)
 338731  Defl:X  115960  66%  12-12-96  23:32  208def74  ^2afe7640.pkt
 ------          ------  ---                              -------
 338731          115960  66%                              1      



Now what you see here is that the compressed sizes are different!!!  If it
was a disk read error (or disk cache read error), it would have created a
different CRC, because the data would be different.  If it was a disk write
error (or cache error), the SIZE would be the same.  The only way that this
anomaly could have occurred is if zip was reading the data, and calculated
the CRC of a particular byte, and then passed a DIFFERENT byte to the
compression routines.  This could be a zip bug, but more likely, the stack
has been clobbered or memory corrupted, by something else.  ie it is an
OS/2 system fault.  Probably most likely to be some interrupt handler
screwing around with the stack?  BFN.  Paul. 
@EOT:

---
* Origin: X (3:711/934.9)

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.