Project

General

Profile

Bug #22706

OM cannot reliably run different (newer) versions of art than the DAQ

Added by Wesley Ketchum 4 months ago. Updated 22 days ago.

Status:
Closed
Priority:
Normal
Category:
Needed Enhancements
Target version:
Start date:
06/10/2019
Due date:
% Done:

0%

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

Description

At least part of it due to schema evolution and the like.

From Philipe:

"You need to make sure the TStreamerInfo describe the format (eg version-10 art::History) is available on the receiving process.

If you are using a TMessage (which inherits from TBufferFile) this can be automated by calling msg->EnableSchemaEvolution().

If you know apriori which set of class/version you will need to can also prepare a (small) TFile that contains the information and feed the information into the receiving process when it is opened."

History

#1 Updated by Eric Flumerfelt 4 months ago

Fix implemented on artdaq:bugfix/22706_ArtdaqInput_SendTStreamerInfo. I have tested this by running the demo in s67-e17 and attempting to connect an s82-e19 online monitor to it. I can see that this works with the fix and does not without.

#2 Updated by Eric Flumerfelt 4 months ago

  • Assignee set to Eric Flumerfelt
  • Status changed from New to Resolved

#3 Updated by Pengfei Ding 30 days ago

Going to run demo with bug fix branch merged into develop in the following combinations of qualifiers:

  1. develop (s67 e15) + bugfix_22706
  2. develop (s67 e17) + bugfix_22706
  3. develop (s82 e19) + bugfix_22706
Then connect online monitor to it from the following environments:
  1. develop (s67 e15)
  2. develop (s67 e17)
  3. develop (s82 e19)
  4. v3_05_00 (s67 e15)
  5. v3_05_00 (s67 e17)
  6. v3_05_00 (s82 e19)

#4 Updated by Pengfei Ding 30 days ago

(Building e19-s82 development branch failed with the following error.)

[ 48%] Built target artdaq_core_demo_doc
/home/dingpf/review_bf22706/demo-devel-e19-s82/srcs/artdaq_utilities/artdaq-utilities/Plugins/graphite_metric.cc: In member function ‘virtual void artdaq::GraphiteMetric::stopMetrics_()’:
/home/dingpf/review_bf22706/demo-devel-e19-s82/srcs/artdaq_utilities/artdaq-utilities/Plugins/graphite_metric.cc:178:46: error: catching polymorphic type ‘class boost::system::system_error’ by value [-Werror=catch-value=]
         } catch( boost::system::system_error err) {
                                              ^~~
Scanning dependencies of target artdaq-core_Data_dict

Running the demo in this feature branch with development branch merged in, and test connecting online monitor under different eXX-sXX and artdaq versions.

  • taking data under develop_bugfix_22706_e15-s67, running online monitor under develop_bugfix_22706_e17-s67, and vice versa.
  • taking data under develop_bugfix_22706_e15-s67, running online monitor under develop_bugfix_22706_e17-s82, and vice versa.
  • Tried to connect online monitor under v3_05_00 e15-s67 to the develop_bugfix_22706_e15-s67, but got the following error (expected?):
---- Configuration BEGIN
  FailedInputSource Configuration of main input source has failed
  ---- Fragment BEGIN
    A Fragment with an unknown version (2) was received!
  ---- Fragment END
---- Configuration END

  • Tried to connect online monitor under develop without the bugfix to develop_bugfix_22706_e15-s67, got the following error (expected?):
cet::exception caught in art
---- Configuration BEGIN
  FailedInputSource Configuration of main input source has failed
  ---- Parse error BEGIN
    detected at or near line 1, character 1, of file "-" 

    List@x    @m����TStreamerInfo@W    @8*map<art::Bran
    ^
  ---- Parse error END
---- Configuration END
%MSG

#5 Updated by Pengfei Ding 30 days ago

Running DAQ under v3_05_00 e15-s67, and online monitor under develop_bugfix_22706_e15-s67, got the following error:

cet::exception caught in art
---- Configuration BEGIN
  FailedInputSource Configuration of main input source has failed
  ---- TransferWrapper BEGIN
    Error: artdaq fragment of type 227 (Init), sequence ID 0 has internally inconsistent measures of its size, signalling data corruption: in bytes, total size = 68440, artdaq fragment header = 32, metadata = 8, payload = 68408
  ---- TransferWrapper END
---- Configuration END
%MSG

#6 Updated by Pengfei Ding 30 days ago

In summary:

the bug fix works in the following way:
  1. running DAQ under bug fix + development in any of (e15-s67, e17-s67, e17-s82), and online monitor under a different e-s qualifier combination.

It did not work if running an older version of DAQ with newer version of online monitor. (This is expected as the bug fix works only when both DAQ and online monitor have it?)

Tried to merge the bug fix branch with the last tagged version of artdaq demo (v3_05_00), but the feature branch already includes v3_05_00 (it was developed after v3_05_00). So unless we back port the bug fix into v3_05_00, we cannot have an online monitor with newer artdaq versions than the DAQ with the bug fix included.

I suggest we merge the bug fix into develop, and reopen the issue in the future, if the problem persists when we move to a newer artdaq release.

(BTW: Build error related to e19 was fixed in issue #23280.)

#7 Updated by Pengfei Ding 29 days ago

Talked to Eric.

Testing with different qualifiers after merging with develop already illustrated that the fix works as intended as s67 and s82 indicates different art version.

I am going to merge the branch into develop and close the issue. (according to Ron's instructions, the issue should be closed at release time https://cdcvs.fnal.gov/redmine/projects/artdaq/wiki/Artdaq_development_workflow)

#8 Updated by Eric Flumerfelt 22 days ago

  • Target version set to artdaq v3_06_01
  • Status changed from Resolved to Closed
  • Category set to Needed Enhancements
  • Co-Assignees Pengfei Ding added


Also available in: Atom PDF