Project

General

Profile

Bug #25055

Dispatcher connected to disk-writing EventBuilders fails to process events

Added by Eric Flumerfelt about 2 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
10/07/2020
Due date:
% Done:

0%

Estimated time:
Experiment:
ICARUS
Co-Assignees:
Duration:

Description

SYMPTOM: ICARUS tried connecting Online Monitoring to a Dispatcher running in a system where EventBuilders were writing to disk and sending to the Dispatcher. The OM crashed almost immediately with an art error message mentioning that no products matching 'std::vector<artdaq::Fragment>' were found in the event. Further investigation of the Dispatcher art process showed that the Fragments were indeed not present. Adding a DataLogger between the EventBuilders and the Dispatcher resolved the problem.

SOLUTION: This is caused by a shortcoming in DAQInterface's bookkeeping of the "init_fragment_count" parameter. It was not checking that the Dispatcher init_fragment_count was at least 1 after counting the number of DataLoggers sending to the Dispatcher. I have added logic where if "init_fragment_count" is 0 after checking the DataLoggers, it then assumes that the EventBuilders are sending directly to the Dispatcher and counts them, instead.

History

#1 Updated by Eric Flumerfelt about 2 months ago

  • Status changed from New to Resolved

Resolved by artdaq-utilities-daqinterface:bugfix/25055_bookkeeping_EBtoDI

#2 Updated by Gennadiy Lukhanin about 2 months ago

  • Status changed from Resolved to Reviewed

Tested on the Icarus cluster; see logs for Runs 2756..2760.

#3 Updated by Eric Flumerfelt about 1 month ago

  • Project changed from artdaq to artdaq Utilities

#4 Updated by Eric Flumerfelt about 1 month ago

  • Target version set to artdaq_daqinterface v3_09_02
  • Status changed from Reviewed to Closed

Also available in: Atom PDF