CRC errors?
- VolkerHalle
- Topic Author
- Visitor
14 years 8 months ago #4770
by VolkerHalle
Replied by VolkerHalle on topic RE: CRC errors?
Absolutely easy to reproduce:
OpenVMS E8.4, FreeAXP .283, Lenovo ThinkPad, MATSHITA DVD-RAM UJ862AC, OpenVMS Alpha V7.1-2 Operating System CD.
$ MOUNT/NOCACHE/OVER=ID dka600:
Create the following DCL procedure (updated 6-JUN-2010):
< class='quote'>
$ test_file = "dka600:<vms$common.sysexe>opcom.exe"
$!
$ vers = F$EXTRACT(1,3,F$GETSYI("VERSION"))
$ SHOW SYMB vers
$ IF vers .LTS. "8.2"
$ THEN
$ WRITE SYS$OUTPUT "cannot use /BLOCK_SIZE qualifier"
$ ENDIF
$!
$ nn=120 ! start with /BLOCK_SIZE=120
$ set noon
$loop:
$ bs = ""
$ IF vers .GES. "8.2" THEN $ bs = "/BLOCK_SIZE=''nn'"
$ WRITE SYS$OUTPUT "Using $ COPY''bs' ..."
$ copy/log'bs' 'test_file' x.x;0
$ backup/log/compare 'test_file' x.x;0
$ IF $STATUS
$ THEN
$ IF vers .GES. "8.2"
$ THEN
$ RENAME/NOLOG x.x.0 x_'nn'.good
$ ELSE
$ DELETEE/NOCONF/LOG x.x;0
$ ENDIF
$ ELSE
$ RENAME/LOG x.x;0 x_'nn'.bad
$ ENDIF
$ if nn .LT. 128 .AND. vers .GES. "8.2" ! only for V8.2 and higher
$ THEN
$ nn=nn+1
$ GOTO loop
$ ENDIF
then execute it (NOTE: the problem starts with nn=121 and does NOT occur with nn=127 and nn=128).
$ @x
NN = 120 Hex = 00000078 Octal = 00000000170
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;1 (404 blocks)
NN = 121 Hex = 00000079 Octal = 00000000171
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;2 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;2
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;2
NN = 122 Hex = 0000007A Octal = 00000000172
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;3 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 362 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 363 of SYS$SYSROOT:[SYSMGR]X.X
NN = 123 Hex = 0000007B Octal = 00000000173
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;4 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;4
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;4
%BACKUP-E-VERIFYERR, verification error for block 242 of SYS$SYSROOT:[SYSMGR]X.X
;4
NN = 124 Hex = 0000007C Octal = 00000000174
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;5 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 242 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 243 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 366 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 367 of SYS$SYSROOT:[SYSMGR]X.X
;5
NN = 125 Hex = 0000007D Octal = 00000000175
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;6 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;6
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;6
NN = 126 Hex = 0000007E Octal = 00000000176
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;7 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 370 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 371 of SYS$SYSROOT:[SYSMGR]X.X
;7
NN = 127 Hex = 0000007F Octal = 00000000177
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;8 (404 blocks)
NN = 128 Hex = 00000080 Octal = 00000000200
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;9 (404 blocks)
Interesting VBN number patterns...
Volker.<hr>
OpenVMS E8.4, FreeAXP .283, Lenovo ThinkPad, MATSHITA DVD-RAM UJ862AC, OpenVMS Alpha V7.1-2 Operating System CD.
$ MOUNT/NOCACHE/OVER=ID dka600:
Create the following DCL procedure (updated 6-JUN-2010):
< class='quote'>
$ test_file = "dka600:<vms$common.sysexe>opcom.exe"
$!
$ vers = F$EXTRACT(1,3,F$GETSYI("VERSION"))
$ SHOW SYMB vers
$ IF vers .LTS. "8.2"
$ THEN
$ WRITE SYS$OUTPUT "cannot use /BLOCK_SIZE qualifier"
$ ENDIF
$!
$ nn=120 ! start with /BLOCK_SIZE=120
$ set noon
$loop:
$ bs = ""
$ IF vers .GES. "8.2" THEN $ bs = "/BLOCK_SIZE=''nn'"
$ WRITE SYS$OUTPUT "Using $ COPY''bs' ..."
$ copy/log'bs' 'test_file' x.x;0
$ backup/log/compare 'test_file' x.x;0
$ IF $STATUS
$ THEN
$ IF vers .GES. "8.2"
$ THEN
$ RENAME/NOLOG x.x.0 x_'nn'.good
$ ELSE
$ DELETEE/NOCONF/LOG x.x;0
$ ENDIF
$ ELSE
$ RENAME/LOG x.x;0 x_'nn'.bad
$ ENDIF
$ if nn .LT. 128 .AND. vers .GES. "8.2" ! only for V8.2 and higher
$ THEN
$ nn=nn+1
$ GOTO loop
$ ENDIF
then execute it (NOTE: the problem starts with nn=121 and does NOT occur with nn=127 and nn=128).
$ @x
NN = 120 Hex = 00000078 Octal = 00000000170
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;1 (404 blocks)
NN = 121 Hex = 00000079 Octal = 00000000171
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;2 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;2
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;2
NN = 122 Hex = 0000007A Octal = 00000000172
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;3 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 362 of SYS$SYSROOT:[SYSMGR]X.X
%BACKUP-E-VERIFYERR, verification error for block 363 of SYS$SYSROOT:[SYSMGR]X.X
NN = 123 Hex = 0000007B Octal = 00000000173
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;4 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;4
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;4
%BACKUP-E-VERIFYERR, verification error for block 242 of SYS$SYSROOT:[SYSMGR]X.X
;4
NN = 124 Hex = 0000007C Octal = 00000000174
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;5 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 242 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 243 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 366 of SYS$SYSROOT:[SYSMGR]X.X
;5
%BACKUP-E-VERIFYERR, verification error for block 367 of SYS$SYSROOT:[SYSMGR]X.X
;5
NN = 125 Hex = 0000007D Octal = 00000000175
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;6 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;6
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;6
NN = 126 Hex = 0000007E Octal = 00000000176
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;7 (404 blocks)
%BACKUP-E-VERIFYERR, verification error for block 118 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 119 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 370 of SYS$SYSROOT:[SYSMGR]X.X
;7
%BACKUP-E-VERIFYERR, verification error for block 371 of SYS$SYSROOT:[SYSMGR]X.X
;7
NN = 127 Hex = 0000007F Octal = 00000000177
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;8 (404 blocks)
NN = 128 Hex = 00000080 Octal = 00000000200
%COPY-S-COPIED, DKA600:<VMS$COMMON.SYSEXE>OPCOM.EXE;1 copied to SYS$SYSROOT:[SYS
MGR]X.X;9 (404 blocks)
Interesting VBN number patterns...
Volker.<hr>
Please Log in or Create an account to join the conversation.
- malmberg
- Topic Author
- Visitor
14 years 8 months ago #4771
by malmberg
Replied by malmberg on topic RE: CRC errors?
I can not reproduce this issue with logical disks as I posted earlier.
Please Log in or Create an account to join the conversation.
- VolkerHalle
- Topic Author
- Visitor
14 years 7 months ago #4772
by VolkerHalle
Replied by VolkerHalle on topic RE: CRC errors?
I've now also verified, that this problem does NOT happen with PersonalAlpha V2.0.17 and E8.4. Neither by COPYing a file with /BLOCK_SIZE=124 from a real CD nor from an .ISO file.
The problem also cannot be reproduced on FreeAXP .283 against an .ISO file copy of a CD with E8.4.
Using FreeAXP .283 and OpenVMS V7.3-2 also works fine.
This seems to be some FreeAXP 'internal state' problem, because the following makes the problem go away:
- start FreeAXP .283
- Boot V7.3-2
- execute test -> success
- shutdown V7.3-2
- boot E8.4 (NOTE: do NOT stop FreeAXP)
- execute test -> success !!!
If you stop and start FreeAXP after running V7.3-2 and boot E8.4 as the first thing after starting FreeAXP, the problem shows up again !
And another observation:
the 'bad' data in block 118 and 119 seems to come from blocks 358 and 359, block-offset = 2 x 120. COPY/Block_size UP TO 120 does work !
NOTE: when testing this operation with FreeAXP, watch out:
If you copy a file from CD, which is mounted with /CACHE (this is the default) and use a smaller /BLOCK_SIZE first, then subsequent tests with larger /BLOCK_SIZE may seem to work, as the file data is still in the XFC cache !
So for testing this problem, either use MOUNT/NOCACHE cd: or set VCC_MAX_IO_SIZE to 120 or less (default is 127). This will cause IOs with this size to bypass the XFC file cache !
Volker,<hr>
The problem also cannot be reproduced on FreeAXP .283 against an .ISO file copy of a CD with E8.4.
Using FreeAXP .283 and OpenVMS V7.3-2 also works fine.
This seems to be some FreeAXP 'internal state' problem, because the following makes the problem go away:
- start FreeAXP .283
- Boot V7.3-2
- execute test -> success
- shutdown V7.3-2
- boot E8.4 (NOTE: do NOT stop FreeAXP)
- execute test -> success !!!
If you stop and start FreeAXP after running V7.3-2 and boot E8.4 as the first thing after starting FreeAXP, the problem shows up again !
And another observation:
the 'bad' data in block 118 and 119 seems to come from blocks 358 and 359, block-offset = 2 x 120. COPY/Block_size UP TO 120 does work !
NOTE: when testing this operation with FreeAXP, watch out:
If you copy a file from CD, which is mounted with /CACHE (this is the default) and use a smaller /BLOCK_SIZE first, then subsequent tests with larger /BLOCK_SIZE may seem to work, as the file data is still in the XFC cache !
So for testing this problem, either use MOUNT/NOCACHE cd: or set VCC_MAX_IO_SIZE to 120 or less (default is 127). This will cause IOs with this size to bypass the XFC file cache !
Volker,<hr>
Please Log in or Create an account to join the conversation.
- johncookson
- Topic Author
- Visitor
14 years 7 months ago #4773
by johncookson
Replied by johncookson on topic RE: CRC errors?
Volker
Your analysis is spot on.
I performed the test you requested with FreeAXP whereby I unzipped the archive directly from the hobbyist CD without first performing a DCL copy operation. As you can see below, no errors were generated using this method.
$
$ mount dka200:
_Label: ALPHA083
_Log name:
%MOUNT-I-WRITELOCK, volume is write locked
%MOUNT-I-MOUNTED, ALPHA083 mounted on _HOBBY$DKA200:
$
$
$
$
$ UNZIP -t DKA200:[KITS]BASIC016.ZIP
Archive: DKA200:[KITS]BASIC016.ZIP;1
testing: basic016/documentation/ OK
testing: basic016/kit/ OK
testing: basic016/documentation/basic016_cover.ps OK
testing: basic016/documentation/basic016_cover.txt OK
testing: basic016/documentation/basic016_iguide.ps OK
testing: basic016/documentation/basic016_iguide.txt OK
testing: basic016/documentation/basic016_spd.ps OK
testing: basic016/documentation/basic016_spd.txt OK
testing: basic016/kit/basic016.a OK
testing: basic016/kit/basic016.b OK
testing: basic016/kit/basic016.c OK
testing: basic016/kit/basic016.d OK
testing: basic016/kit/basic016.e OK
testing: basic016/kit/basic016.f OK
testing: basic016/kit/basic016.g OK
testing: basic016/kit/basic016.h OK
testing: basic016/kit/basic016.i OK
No errors detected in compressed data of DKA200:[KITS]BASIC016.ZIP;1.
$
JohnC
Your analysis is spot on.
I performed the test you requested with FreeAXP whereby I unzipped the archive directly from the hobbyist CD without first performing a DCL copy operation. As you can see below, no errors were generated using this method.
$
$ mount dka200:
_Label: ALPHA083
_Log name:
%MOUNT-I-WRITELOCK, volume is write locked
%MOUNT-I-MOUNTED, ALPHA083 mounted on _HOBBY$DKA200:
$
$
$
$
$ UNZIP -t DKA200:[KITS]BASIC016.ZIP
Archive: DKA200:[KITS]BASIC016.ZIP;1
testing: basic016/documentation/ OK
testing: basic016/kit/ OK
testing: basic016/documentation/basic016_cover.ps OK
testing: basic016/documentation/basic016_cover.txt OK
testing: basic016/documentation/basic016_iguide.ps OK
testing: basic016/documentation/basic016_iguide.txt OK
testing: basic016/documentation/basic016_spd.ps OK
testing: basic016/documentation/basic016_spd.txt OK
testing: basic016/kit/basic016.a OK
testing: basic016/kit/basic016.b OK
testing: basic016/kit/basic016.c OK
testing: basic016/kit/basic016.d OK
testing: basic016/kit/basic016.e OK
testing: basic016/kit/basic016.f OK
testing: basic016/kit/basic016.g OK
testing: basic016/kit/basic016.h OK
testing: basic016/kit/basic016.i OK
No errors detected in compressed data of DKA200:[KITS]BASIC016.ZIP;1.
$
JohnC
Please Log in or Create an account to join the conversation.
- Bruce Claremont
- Topic Author
- Visitor
14 years 7 months ago #4774
by Bruce Claremont
Replied by Bruce Claremont on topic RE: CRC errors?
Problem confirmed, we are working on it.
Please Log in or Create an account to join the conversation.
Moderators: iamcamiel
Time to create page: 0.190 seconds