CAC 2015-11-12

Tracking down round robin F1 fault.

DBG(197832371)> CPU TRACE: 00043:000175 bound_priv_1:privileged_mode_ut+0175
DBG(197832371)> CPU TRACE:     000175  aa  0 00004 3521 20    360     eppbp     ap|4,*              get page table pointer
DBG(197832371)> CPU TRACE:     000175  aa   145056 151156
DBG(197832371)> CPU TRACE: 00043:000175 0 000004352120 (EPP2 PR0|4,N*) 000004 352(0) 1 0 1 00
DBG(197832371)> CPU APPENDING: doPtrReg(): PR[0] SNR=00062 RNR=0 WORDNO=001476 BITNO=00
DBG(197832371)> CPU APPENDING: doPtrReg(): n=0 offset=00004 TPR.CA=001502 TPR.TBR=0 TPR.TSR=00062 TPR.TRR=0
DBG(197832371)> CPU ADDRMOD: doComputedAddressFormation(Entry): operType:prepareCA TPR.CA=001502
DBG(197832371)> CPU ADDRMOD: doComputedAddressFormation(startCA): TAG=20(n*) Tm=20 Td=0
DBG(197832371)> CPU ADDRMOD: RI_MOD: Td=0
DBG(197832371)> CPU ADDRMOD: updateIWB: IWB was 000004352120 000004 n*
DBG(197832371)> CPU ADDRMOD: updateIWB: IWB now 001502352120 001502 n*
DBG(197832371)> CPU APPENDING: doAppendCycle(Entry) thisCycle=INDIRECT_WORD_FETCH
DBG(197832371)> CPU APPENDING: doAppendCycle(Entry) Address=001502
DBG(197832371)> CPU APPENDING: doAppendCycle(Entry) PPR.PRR=0 PPR.PSR=00043
DBG(197832371)> CPU APPENDING: doAppendCycle(Entry) TPR.TRR=0 TPR.TSR=00062
DBG(197832371)> CPU APPENDING: doAppendCycle(A)
DBG(197832371)> CPU APPENDING: fetchSDWfromSDWAM(0):segno=00062
DBG(197832371)> CPU APPENDING: fetchSDWfromSDWAM(0): SDWAM disabled
DBG(197832371)> CPU APPENDING: doAppendCycle(A):SDW for segment 00062 not in SDWAM
DBG(197832371)> CPU APPENDING: doAppendCycle(A):DSBR.U=0
DBG(197832371)> CPU APPENDING: fetchDSPTW segno 062
DBG(197832371)> CPU CORE: core_read  00052334 004160401105 (fetchDSPTW)
DBG(197832371)> CPU APPENDING: fetchDSPTW x1 00 y1 0144 DSBR.ADDR 052334 PTWx1 0004160401105 PTW0: ADDR 04160 U 1 M 1 F 1 FC 1
DBG(197832371)> CPU APPENDING: fetchPSDW(0):segno=00062
DBG(197832371)> CPU CORE: core_read2 00416144 175055200004 (fetchPSDW)
DBG(197832371)> CPU CORE: core_read2 00416145 037775100000 (fetchPSDW)
DBG(197832371)> CPU APPENDING: fetchPSDW y1 0144 p->ADDR 04160 SDW 0175055200004 0037775100000 ADDR 017505520 BOUND 03777 U 0 F 1
DBG(197832371)> CPU APPENDING: loadSDWAM: SDWAM disabled
DBG(197832371)> CPU APPENDING: doAppendCycle(A) R1 0 R2 0 R3 0
DBG(197832371)> CPU APPENDING: doAppendCycle(B)
DBG(197832371)> CPU APPENDING: doAppendCycle(B):!STR-OP
DBG(197832371)> CPU APPENDING: doAppendCycle(G)
DBG(197832371)> CPU APPENDING: fetchPTWfromPTWAM: PTWAM disabled
DBG(197832371)> CPU APPENDING: fetchPTW address 17505520
DBG(197832371)> CPU CORE: core_read  17505520 771660400145 (fetchPTW)
DBG(197832371)> CPU APPENDING: fetchPTW x2 00 y2 01502 sdw->ADDR 017505520 PTWx2 0771660400145 PTW0: ADDR 0771660 U 0 M 1 F 1 FC 1
DBG(197832371)> CPU APPENDING: loadPTWAM: PTWAM disabled
DBG(197832371)> CPU APPENDING: doAppendCycle(I)
DBG(197832371)> CPU APPENDING: doAppendCycle(H:FAP): (00062:001502) finalAddress=77167502
DBG(197832371)> CPU APPENDING: doAppendCycle(HI)
DBG(197832371)> CPU CORE: core_read  77167502 040040040040 (Read)

This is obviously bogue.

DBG(197832371)> CPU APPENDING: Read (Actual) Read:  iefpFinalAddress=77167502  readData=040040040040
DBG(197832371)> CPU ADDRMOD: RI_MOD: indword=040040040040 TPR.CA=040040 rTAG=40
DBG(197832371)> CPU ADDRMOD: updateIWB: IWB was 001502352120 001502 n*
DBG(197832371)> CPU ADDRMOD: updateIWB: IWB now 040040352140 040040 f1
DBG(197832371)> CPU ADDRMOD: doComputedAddressFormation(startCA): TAG=40(f1) Tm=40 Td=0
FAULT F1 [197832371] 00043:000175
DBG(197832371)> CPU FAULT: Fault 3(03), sub 0(00), dfc N, 'IT_MOD: IT_F1'

I backtracked 30K instructions; this is the only place where segment 62 is referenced in there. That seems improbable.

Trying 'watch 77167502'

That location is being used for seg_name storage by link_snap; no reason to expect privileged_mode_ut to start reading there.

backtracked 832,373 instructions. No reference to seg 62 in an append cycle.

Are the PARs getting corrupted?

Trying dbgsegno 043

DBG(197827656)> CPU TRACE: 00043:000272 bound_priv_1:privileged_mode_ut+0272
DBG(197827656)> CPU TRACE:     000272  aa  7 00044 7101 20    532     short_return
DBG(197827656)> CPU TRACE: 00043:000272 0 700044710120 (TRA PR7|44,N*) 700044 710(0) 1 0 1 00

It exits...

DBG(197832011)> CPU TRACE: 00043:000172 bound_priv_1:privileged_mode_ut+0172
DBG(197832011)> CPU TRACE:     000172  aa   000014 7350 00    357     als       12                  position number of pages wired
DBG(197832011)> CPU TRACE: 00043:000172 0 000014735000 (ALS 000014) 000014 735(0) 0 0 0 00

Many many instructions later it restarts in mid-code?

DBG(197832009)> CPU TRACE: 00034:002766 bound_interceptors:iom_interrupt+0224
DBG(197832009)> CPU TRACE:     000224  aa   777560 6132 24    295      rcu    prds_scu-*,ic*    and dismiss the interrupt
DBG(197832009)> CPU TRACE: 00034:002766 0 777560613224 (RCU 777560,IC*) 777560 613(0) 0 1 1 04

So it is coming back from an interrupt/fault

The RCU is bogus; there is no time when that routine was interrupted
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License