Skip to content

Fix array length for GE1/1 VFAT HDLC addresses

Laurent Petre requested to merge bugfix/ge11-hdlc-addresses into main

Description

This MR fixes a bug introduced in !188 (merged) that prevents configuration for a GE1/1 system with:

10 Sep 2021 13:02:38.850 [139906747725568] ERROR ch.cern.gem904daq04.p:20100.gem::managers::AMCManager.instance(147802) <> - caught std::exception: remote error: std::out_of_range: array::at: __n (which is 12) >= _Nm (which is 12)

Thanks for the report @cgalloni.

In more details, for GE1/1, the array with the default VFAT HDLC addresses was incorrectly set to a length of 12 instead of 24. Therefore, the loop over the VFAT was trying to access elements out-of-range. Extending the array to a length of 24 with the default addresses 0.

Related Issue

How Has This Been Tested?

Pending tests in on the GE1/1 integration setup in b904.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
Edited by Laurent Petre

Merge request reports