CAC 2020-03-21
Finally a stable debugging environment
If bit 29 is not cleared buring CAF, Gary's code fails. (On restart, bit 29 is still set so the PR indirection is repeated, leading to chaos).
Clearing bit 29 causes boot failure.
Procedure. Add code to dps8m to either record for each executed instruction the PSR, IC and IBW; or compare to a previous recording. Boot Multics without the bit29 clearing and record the 1,000,000 cycles. Boot Multics gain, this time with bit 29 clearing on, and compare the executed instructions, stopping when a discrepency is found,
[4921076]
expected: 00040:023053 700011236100
got: 00040:023053 700011236000
Segment 40 is ound_library_1_
bootload_fs_ 22746 2702 640 0 4120 122
023053−22746 -> 105
PROLOGUE SEQUENCE
000102 aa 600242440100
STATEMENT 1 ON LINE 220
000103 aa 6 00044 3701 20 epp4 pr6|36,*
000104 la 4 00010 3735 20 epp7 pr4|8,*
000105 aa 7 00011 2361 00 ldq pr7|9 bootload_file_partition$.part_blocks
000106 aa 6 00152 7561 00 stq pr6|106
220 declare block_map (part_header.part_blocks) bit (1) unal defined (part_header.free_block_map);
The history trace from the bit clear run:
DBG(4918033)> CPU TRACE: 00040:023052 0 401002373520 (EPP7 PR4|1002,N*)
DBG(4918033)> CPU FINAL: Read 01776044 000024000043
DBG(4918033)> CPU FINAL: Read 01776045 000000000000
DBG(4918033)> CPU FINAL: Read 01776044 000024000043
DBG(4918033)> CPU FINAL: Read 01776045 000000000000
DBG(4918033)> CPU REG: PR7 00024:000000 BIT 0 RNR 0
DBG(4918035)> CPU TRACE: 00040:023053 0 700011236100 (LDQ PR7|11)
DBG(4918035)> CPU FAULT: Fault 17(021), sub 0(00), 'PTW0.F == 0'
DBG(4918037)> CPU TRACE: 023053 0 000542657220 (SCU 000542,N*)
DBG(4918037)> CPU FINAL: Read 00000542 000071000043
DBG(4918037)> CPU FINAL: Read 00000543 000030000000
DBG(4918037)> CPU FINAL: Write 01022030 000040050201
DBG(4918037)> CPU FINAL: Write 01022031 000000000043
DBG(4918037)> CPU FINAL: Write 01022032 000024000004
DBG(4918037)> CPU FINAL: Write 01022033 000000000000
DBG(4918037)> CPU FINAL: Write 01022034 023053000200
DBG(4918037)> CPU FINAL: Write 01022035 000011000000
DBG(4918037)> CPU FINAL: Write 01022036 700011236000
DBG(4918037)> CPU FINAL: Write 01022037 700011236100
DBG(4921075)> CPU TRACE: 00042:001405 0 000012613220 (RCU 000012,N*)
DBG(4921075)> CPU FINAL: Read 00150012 000071000043
DBG(4921075)> CPU FINAL: Read 00150013 000030000000
DBG(4921075)> CPU FINAL: Read 00150012 000071000043
DBG(4921075)> CPU FINAL: Read 00150013 000030000000
DBG(4921075)> CPU FINAL: Read 01022030 000040050201
DBG(4921075)> CPU FINAL: Read 01022031 000000000043
DBG(4921075)> CPU FINAL: Read 01022032 000024000004
DBG(4921075)> CPU FINAL: Read 01022033 000000000000
DBG(4921075)> CPU FINAL: Read 01022034 023053000200
DBG(4921075)> CPU FINAL: Read 01022035 000011000000
DBG(4921075)> CPU FINAL: Read 01022036 700011236000
DBG(4921075)> CPU FINAL: Read 01022037 700011236100
DBG(4921075)> CPU FINAL: Read 01022030 000040050201
DBG(4921075)> CPU FINAL: Read 01022031 000000000043
DBG(4921075)> CPU FINAL: Read 01022032 000024000004
DBG(4921075)> CPU FINAL: Read 01022033 000000000000
DBG(4921075)> CPU FINAL: Read 01022034 023053000200
DBG(4921075)> CPU FINAL: Read 01022035 000011000000
DBG(4921075)> CPU FINAL: Read 01022036 700011236000
DBG(4921075)> CPU FINAL: Read 01022037 700011236100
page revision: 0, last edited: 22 Mar 2020 04:12