Closed daykin closed 7 months ago
I've never seen this before. I guess you interrupted a message? This bit is probably write 1 to clear. You could try adding the following to the conditional:
BITSET(NAT,32,evr->base, DataBufCtrl, DataBufCtrl_sumerr);
cf http://mrf.fi/fw/DCManual-170209.pdf
DBCS Data Buffer Checksum Error (read-only)
Flag is cleared by writing ‘1’ to DBRX or DBRDY or disabling data buffer
Any update on this? Have there been further occurrences?
Is this still valid?
I have not seen this for a long time, since we're now in an operational state and facilities is no longer doing "Let's see what happens if we kill the power" tests.
I'm not sure yet why I couldn't reproduce it on our test environment with the PR above, since Jukka et al. are quite certain it won't affect anything. Maybe it was just lucky?
If it happens again, I'll let you know.
First documented here: https://jira.frib.msu.edu/browse/GTS-149 Upon losing event connection abruptly, our IOC shell gets flooded with the following message:
Data buffer Rx checksum error
Data buffer Rx checksum error
Data buffer Rx checksum error
...I attached the gdb to the process, and the backtrace when this occurs is as follows:
I looked into
#0
's defaulterr (bufrxmgr.cpp:55), this occurs on epicsStatus 2:case 2: errlogPrintf("Data buffer Rx checksum error\n"); break;
in
#1
,mrmBufRx::drainbuf
(drvemRxBuf.cpp), I see the following on lines 91-92:so I then looked to what this means: according to
evrRegMap.h
, This is bit 13 of a register calledDataBufCtrl
. But now I have hit a dead end- the MRF-supplied manual doesn't document this register any further than its address, so I have no clue what is causing this flood of output.All we know is that it occurs sometimes but not every time we pull the EVG plug, or the EVG goes down abruptly. If we shut down the EVG IOC gracefully, we do not see the problem.