Skip to content

Commit 4438ab9

Browse files
authored
Merge pull request #273 from sy-c/master
v2.21.9
2 parents 332472f + a1eef69 commit 4438ab9

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

doc/releaseNotes.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,3 +606,6 @@ This file describes the main feature changes for each readout.exe released versi
606606

607607
## v2.21.8 - 29/11/2023
608608
- Fixed spurious readout warning("TF non-contiguous ordering") when doing Start/Stop/Start with DD is enabled.
609+
610+
## v2.21.9 - 06/12/2023
611+
- When equipment-*-rdhCheckFirstOrbit is set (default), the run is stopped if the first RDH received for an equipment does not passes validation, as in the case when first orbits mismatch.

src/ReadoutEquipment.cxx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,17 @@ Thread::CallbackResult ReadoutEquipment::threadCallback(void* arg)
438438
}
439439
updatePageStateFromDataBlockContainerReference(nextBlock, MemoryPage::PageState::InEquipment);
440440

441+
// here some test code to artifically corrupt RDH of block X of equipment id Y
442+
// used to test error conditions, eg first RDH received is wrong
443+
/*
444+
int X=1;
445+
int Y=33;
446+
if ((ptr->currentBlockId==X)&&(ptr->id==Y)) {
447+
o2::Header::RAWDataHeader* h = (o2::Header::RAWDataHeader*) nextBlock->getData()->data;
448+
h->version=99;
449+
}
450+
*/
451+
441452
// handle RDH-formatted data
442453
if (ptr->cfgRdhUseFirstInPageEnabled) {
443454
if ((ptr->processRdh(nextBlock)) && ptr->cfgDropPagesWithError) {
@@ -852,6 +863,12 @@ int ReadoutEquipment::processRdh(DataBlockContainerReference& block)
852863

853864
if (tagDatablockFromRdh(h, blockHeader) == 0) {
854865
blockHeader.isRdhFormat = 1;
866+
} else {
867+
if ((cfgRdhCheckFirstOrbit) && (currentBlockId == 0)) {
868+
// if 1st RDH received is wrong, it's the same as a wrong orbit
869+
theLog.log(LogErrorSupport_(3241), "Equipment %s : first RDH is wrong", name.c_str());
870+
isFatalError++;
871+
}
855872
}
856873

857874
if (cfgRdhDumpFirstInPageEnabled) {

src/ReadoutVersion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
#define READOUT_VERSION "2.21.8"
12+
#define READOUT_VERSION "2.21.9"
1313

0 commit comments

Comments
 (0)