Wizard of Odd codex

💠Laissez Les Bon Code Roulez💠

User Tools

Site Tools


utilities:nosutils:tverify

Tape Verification (TVerify<ISeq>)

Overview

Under various conditions, a tape file container can become (or appear to be) corrupt. These two functions attempt to validate the contents or (at least) determine where things in the input stream may be broken. Using other tools, it may be possible to repair the tape file container but these two subcommands can help verify that the container structure is sound (or not) and that the block sequence numbers/checksums that are expected, have the right values.

Sample Output (TVerify)

TVerify scans the entire input tape container stream and writes diagnostic information to stdout.

Here is sample output from the first 100 records of an arbitrary deadstart tape:

tapVerifyI: Verifying ..\..\..\automated.test\ds.tap. [000000.] record length 486, seq 0, term 0504000000000000 7700 0016 0000 0000 0000 1120 1400 0000 0000 0000 ;::n::::::ipl::::::: [000001.] record length 930, seq 1, term 1153000000010000 7700 0016 0000 0000 0000 0304 4200 0000 0000 0000 ;::n::::::cd7::::::: [000002.] record length 936, seq 2, term 1160000000020000 7700 0016 0000 0000 0000 0304 4100 0000 0000 0000 ;::n::::::cd6::::::: [000003.] record length 825, seq 3, term 1045000000030000 7700 0016 0000 0000 0000 0304 3600 0000 0000 0000 ;::n::::::cd3::::::: [000004.] record length 945, seq 4, term 1165000000040000 7700 0016 0000 0000 0000 0304 3700 0000 0000 0000 ;::n::::::cd4::::::: [000005.] record length 960, seq 5, term 1177000000050000 7700 0016 0000 0000 0000 0304 4000 0000 0000 0000 ;::n::::::cd5::::::: [000006.] record length 930, seq 6, term 1153000000060000 7700 0016 0000 0000 0000 0304 3500 0000 0000 0000 ;::n::::::cd2::::::: [000007.] record length 951, seq 7, term 1172000000070000 7700 0016 0000 0000 0000 0304 3400 0000 0000 0000 ;::n::::::cd1::::::: [000008.] record length 141, seq 8, term 0136000000100000 7700 0016 0000 0000 0000 2014 2400 0000 0000 0000 ;::n::::::plt::::::: [000009.] record length 486, seq 9, term 0504000000110000 7700 0016 0000 0000 0000 0504 0300 0000 0000 0000 ;::n::::::edc::::::: [000010.] record length 1266, seq 10, term 1514000000120000 7700 0016 0000 0000 0000 0303 0400 0000 0000 0000 ;::n::::::ccd::::::: [000011.] record length 3816, seq 11, term 4760000000130000 7700 0016 0000 0000 0000 1117 2100 0000 0000 0000 ;::n::::::ioq::::::: [000012.] record length 2106, seq 12, term 2574000000140000 7700 0016 0000 0000 0000 0120 2000 0000 0000 0000 ;::n::::::app::::::: [000013.] record length 2751, seq 13, term 3452000000150000 7700 0016 0000 0000 0000 0120 3400 0000 0000 0000 ;::n::::::ap1::::::: [000014.] record length 3180, seq 14, term 4107000000160000 7700 0016 0000 0000 0000 0120 3500 0000 0000 0000 ;::n::::::ap2::::::: [000015.] record length 231, seq 15, term 0232000000170000 7700 0016 0000 0000 0000 1104 0300 0000 0000 0000 ;::n::::::idc::::::: [000016.] record length 2046, seq 16, term 2524000000200000 7700 0016 0000 0000 0000 1711 2000 0000 0000 0000 ;::n::::::oip::::::: [000017.] record length 1545, seq 17, term 2005000000210000 7700 0016 0000 0000 0000 1711 3400 0000 0000 0000 ;::n::::::oi1::::::: [000018.] record length 3261, seq 18, term 4176000000220000 7700 0016 0000 0000 0000 1711 3500 0000 0000 0000 ;::n::::::oi2::::::: [000019.] record length 840, seq 19, term 1057000000230000 7700 0016 0000 0000 0000 1711 3600 0000 0000 0000 ;::n::::::oi3::::::: [000020.] record length 1716, seq 20, term 2170000000240000 7700 0016 0000 0000 0000 1715 0500 0000 0000 0000 ;::n::::::ome::::::: [000021.] record length 3765, seq 21, term 4715000000250000 7700 0016 0000 0000 0000 0105 1100 0000 0000 0000 ;::n::::::aei::::::: [000022.] record length 996, seq 22, term 1230000000260000 7700 0016 0000 0000 0000 0105 3400 0000 0000 0000 ;::n::::::ae1::::::: [000023.] record length 2511, seq 23, term 3212000000270000 7700 0016 0000 0000 0000 0105 3500 0000 0000 0000 ;::n::::::ae2::::::: [000024.] record length 1305, seq 24, term 1545000000300000 7700 0016 0000 0000 0000 1504 2500 0000 0000 0000 ;::n::::::mdu::::::: [000025.] record length 3225, seq 25, term 4145000000310000 7700 0016 0000 0000 0000 1103 0400 0000 0000 0000 ;::n::::::icd::::::: [000026.] record length 1185, seq 26, term 1425000000320000 7700 0016 0000 0000 0000 1103 0500 0000 0000 0000 ;::n::::::ice::::::: [000027.] record length 1521, seq 27, term 1766000000330000 7700 0016 0000 0000 0000 0504 0400 0000 0000 0000 ;::n::::::edd::::::: [000028.] record length 1995, seq 28, term 2461000000340000 7700 0016 0000 0000 0000 0504 2400 0000 0000 0000 ;::n::::::edt::::::: [000029.] record length 2046, seq 29, term 2524000000350000 7700 0016 0000 0000 0000 2023 1700 0000 0000 0000 ;::n::::::pso::::::: [000030.] record length 2685, seq 30, term 3375000000360000 7700 0016 0000 0000 0000 2424 1700 0000 0000 0000 ;::n::::::tto::::::: [000031.] record length 606, seq 31, term 0624000000370000 7700 0016 0000 0000 0000 0324 1500 0000 0000 0000 ;::n::::::ctm::::::: [000032.] record length 516, seq 32, term 0530000000400000 7700 0016 0000 0000 0000 0324 0100 0000 0000 0000 ;::n::::::cta::::::: [000033.] record length 735, seq 33, term 0751000000410000 7700 0016 0000 0000 0000 1723 0300 0000 0000 0000 ;::n::::::osc::::::: [000034.] record length 750, seq 34, term 0763000000420000 7700 0016 0000 0000 0000 0504 3400 0000 0000 0000 ;::n::::::ed1::::::: [000035.] record length 465, seq 35, term 0465000000430000 7700 0016 0000 0000 0000 1506 0500 0000 0000 0000 ;::n::::::mfe::::::: [000036.] record length 285, seq 36, term 0275000000440000 7700 0016 0000 0000 0000 0403 2000 0000 0000 0000 ;::n::::::dcp::::::: [000037.] record length 300, seq 37, term 0307000000450000 7700 0016 0000 0000 0000 0406 2000 0000 0000 0000 ;::n::::::dfp::::::: [000038.] record length 726, seq 38, term 0744000000460000 7700 0016 0000 0000 0000 0405 1500 0000 0000 0000 ;::n::::::dem::::::: [000039.] record length 1026, seq 39, term 1254000000470000 7700 0016 0000 0000 0000 0115 0300 0000 0000 0000 ;::n::::::amc::::::: [000040.] record length 411, seq 40, term 0422000000500000 7700 0016 0000 0000 0000 1115 2200 0000 0000 0000 ;::n::::::imr::::::: [000041.] record length 450, seq 41, term 0453000000510000 7700 0016 0000 0000 0000 1117 2500 0000 0000 0000 ;::n::::::iou::::::: [000042.] record length 330, seq 42, term 0333000000520000 7700 0016 0000 0000 0000 1117 0300 0000 0000 0000 ;::n::::::ioc::::::: [000043.] record length 600, seq 43, term 0617000000530000 7700 0016 0000 0000 0000 0403 2200 0000 0000 0000 ;::n::::::dcr::::::: [000044.] record length 315, seq 44, term 0321000000540000 7700 0016 0000 0000 0000 1515 2200 0000 0000 0000 ;::n::::::mmr::::::: [000045.] record length 3171, seq 45, term 4102000000550000 7700 0016 0000 0000 0000 2015 2200 0000 0000 0000 ;::n::::::pmr::::::: [000046.] record length 321, seq 46, term 0326000000560000 7700 0016 0000 0000 0000 0415 1500 0000 0000 0000 ;::n::::::dmm::::::: [000047.] record length 900, seq 47, term 1127000000570000 7700 0016 0000 0000 0000 0420 0300 0000 0000 0000 ;::n::::::dpc::::::: [000048.] record length 555, seq 48, term 0561000000600000 7700 0016 0000 0000 0000 2404 0600 0000 0000 0000 ;::n::::::tdf::::::: [000049.] record length 1536, seq 49, term 2000000000610000 7700 0016 0000 0000 0000 1004 2000 0000 0000 0000 ;::n::::::hdp::::::: [000050.] record length 1851, seq 50, term 2322000000620000 7700 0016 0000 0000 0000 1004 0100 0000 0000 0000 ;::n::::::hda::::::: [000051.] record length 1155, seq 51, term 1401000000630000 7700 0016 0000 0000 0000 1004 0200 0000 0000 0000 ;::n::::::hdb::::::: [000052.] record length 2595, seq 52, term 3301000000640000 7700 0016 0000 0000 0000 1004 3400 0000 0000 0000 ;::n::::::hd1::::::: [000053.] record length 2496, seq 53, term 3200000000650000 7700 0016 0000 0000 0000 1004 3500 0000 0000 0000 ;::n::::::hd2::::::: [000054.] record length 2580, seq 54, term 3267000000660000 7700 0016 0000 0000 0000 1004 3600 0000 0000 0000 ;::n::::::hd3::::::: [000055.] record length 1545, seq 55, term 2005000000670000 7700 0016 0000 0000 0000 1004 3700 0000 0000 0000 ;::n::::::hd4::::::: [000056.] record length 2415, seq 56, term 3111000000700000 7700 0016 0000 0000 0000 1004 4000 0000 0000 0000 ;::n::::::hd5::::::: [000057.] record length 2355, seq 57, term 3041000000710000 7700 0016 0000 0000 0000 1004 4100 0000 0000 0000 ;::n::::::hd6::::::: [000058.] record length 861, seq 58, term 1076000000720000 7700 0016 0000 0000 0000 1004 4200 0000 0000 0000 ;::n::::::hd7::::::: [000059.] record length 1545, seq 59, term 2005000000730000 7700 0016 0000 0000 0000 1004 4300 0000 0000 0000 ;::n::::::hd8::::::: [000060.] record length 786, seq 60, term 1014000000740000 7700 0016 0000 0000 0000 1004 4400 0000 0000 0000 ;::n::::::hd9::::::: [000061.] record length 2850, seq 61, term 3553000000750000 7700 0016 0000 0000 0000 3201 2000 0000 0000 0000 ;::n::::::zap::::::: [000062.] record length 1356, seq 62, term 1610000000760000 7700 0016 0000 0000 0000 1411 1500 0000 0000 0000 ;::n::::::lim::::::: [000063.] record length 1020, seq 63, term 1247000000770000 7700 0016 0000 0000 0000 1411 0500 0000 0000 0000 ;::n::::::lie::::::: [000064.] record length 1221, seq 64, term 1456000001000000 7700 0016 0000 0000 0000 1411 2400 0000 0000 0000 ;::n::::::lit::::::: [000065.] record length 1356, seq 65, term 1610000001010000 7700 0016 0000 0000 0000 1411 0100 0000 0000 0000 ;::n::::::lia::::::: [000066.] record length 1605, seq 66, term 2055000001020000 7700 0016 0000 0000 0000 2301 0400 0000 0000 0000 ;::n::::::sad::::::: [000067.] record length 2826, seq 67, term 3534000001030000 7700 0016 0000 0000 0000 0301 2500 0000 0000 0000 ;::n::::::cau::::::: [000068.] record length 1176, seq 68, term 1420000001040000 7700 0016 0000 0000 0000 0301 0100 0000 0000 0000 ;::n::::::caa::::::: [000069.] record length 651, seq 69, term 0662000001050000 7700 0016 0000 0000 0000 0301 0200 0000 0000 0000 ;::n::::::cab::::::: [000070.] record length 1506, seq 70, term 1754000001060000 7700 0016 0000 0000 0000 0301 3400 0000 0000 0000 ;::n::::::ca1::::::: [000071.] record length 576, seq 71, term 0600000001070000 7700 0016 0000 0000 0000 0301 3500 0000 0000 0000 ;::n::::::ca2::::::: [000072.] record length 2805, seq 72, term 3515000001100000 7700 0016 0000 0000 0000 0301 3600 0000 0000 0000 ;::n::::::ca3::::::: [000073.] record length 1815, seq 73, term 2271000001110000 7700 0016 0000 0000 0000 0301 3700 0000 0000 0000 ;::n::::::ca4::::::: [000074.] record length 885, seq 74, term 1115000001120000 7700 0016 0000 0000 0000 0301 0400 0000 0000 0000 ;::n::::::cad::::::: [000075.] record length 3240, seq 75, term 4157000001130000 7700 0016 0000 0000 0000 0410 0500 0000 0000 0000 ;::n::::::dhe::::::: [000076.] record length 2031, seq 76, term 2512000001140000 7700 0016 0000 0000 0000 0405 0100 0000 0000 0000 ;::n::::::dea::::::: [000077.] record length 1596, seq 77, term 2050000001150000 7700 0016 0000 0000 0000 0405 0200 0000 0000 0000 ;::n::::::deb::::::: [000078.] record length 696, seq 78, term 0720000001160000 7700 0016 0000 0000 0000 0405 0300 0000 0000 0000 ;::n::::::dec::::::: [000079.] record length 3405, seq 79, term 4335000001170000 7700 0016 0000 0000 0000 1501 0400 0000 0000 0000 ;::n::::::mad::::::: [000080.] record length 2136, seq 80, term 2620000001200000 7700 0016 0000 0000 0000 1415 0300 0000 0000 0000 ;::n::::::lmc::::::: [000081.] record length 3060, seq 81, term 3767000001210000 7700 0016 0000 0000 0000 1415 0400 0000 0000 0000 ;::n::::::lmd::::::: [000082.] record length 2496, seq 82, term 3200000001220000 7700 0016 0000 0000 0000 1415 2200 0000 0000 0000 ;::n::::::lmr::::::: [000083.] record length 1356, seq 83, term 1610000001230000 7700 0016 0000 0000 0000 1415 2400 0000 0000 0000 ;::n::::::lmt::::::: [000084.] record length 3405, seq 84, term 4335000001240000 7700 0016 0000 0000 0000 0505 0500 0000 0000 0000 ;::n::::::eee::::::: [000085.] record length 1680, seq 85, term 2137000001250000 7700 0016 0000 0000 0000 0505 3400 0000 0000 0000 ;::n::::::ee1::::::: [000086.] record length 1296, seq 86, term 1540000001260000 7700 0016 0000 0000 0000 0505 3500 0000 0000 0000 ;::n::::::ee2::::::: [000087.] record length 2085, seq 87, term 2555000001270000 7700 0016 0000 0000 0000 1415 1700 0000 0000 0000 ;::n::::::lmo::::::: [000088.] record length 2955, seq 88, term 3661000001300000 7700 0016 0000 0000 0000 1511 2000 0000 0000 0000 ;::n::::::mip::::::: [000089.] record length 1146, seq 89, term 1374000001310000 7700 0016 0000 0000 0000 1503 2000 0000 0000 0000 ;::n::::::mcp::::::: [000090.] record length 1170, seq 90, term 1413000001320000 7700 0016 0000 0000 0000 1542 2000 0000 0000 0000 ;::n::::::m7p::::::: [000091.] record length 1590, seq 91, term 2043000001330000 7700 0016 0000 0000 0000 2303 0500 0000 0000 0000 ;::n::::::sce::::::: [000092.] record length 246, seq 92, term 0244000001340000 7700 0016 0000 0000 0000 0420 0200 0000 0000 0000 ;::n::::::dpb::::::: [000093.] record length 3741, seq 93, term 4676000001350000 7700 0016 0000 0000 0000 0502 1400 0000 0000 0000 ;::n::::::ebl::::::: [000094.] record length 795, seq 94, term 1021000001360000 7700 0016 0000 0000 0000 0502 3400 0000 0000 0000 ;::n::::::eb1::::::: [000095.] record length 1395, seq 95, term 1641000001370000 7700 0016 0000 0000 0000 0502 3500 0000 0000 0000 ;::n::::::eb2::::::: [000096.] record length 990, seq 96, term 1223000001400000 7700 0016 0000 0000 0000 0502 3600 0000 0000 0000 ;::n::::::eb3::::::: [000097.] record length 480, seq 97, term 0477000001410000 7700 0016 0000 0000 0000 0502 3700 0000 0000 0000 ;::n::::::eb4::::::: [000098.] record length 846, seq 98, term 1064000001420000 7700 0016 0000 0000 0000 0502 4000 0000 0000 0000 ;::n::::::eb5::::::: [000099.] record length 135, seq 99, term 0131000001430000 7700 0016 0000 0000 0000 3232 3200 0000 0000 0000 ;::n::::::zzz:::::::

Sample Output (TVerifyISeq)

The TVerifyISeq subcommand is far less 'chatty' and display the minimum amount of information. It is similar to TVerify in that it attempts to validate the integrity of the sequence number/checksum information on each block. Using the same sample deadstart tape, this is the subcommand's output:

tapVerifyISeq: Verifying ..\..\..\automated.test\ds.tap. Found EOI at block 12293 (File Position 0x1d11ce8). - LABEL - Found EOI at block 12294 (File Position 0x1d11d44).

If any errors are found - more diagnostic information is displayed.

utilities/nosutils/tverify.txt · Last modified: 2023/01/20 12:30 by site_admin