Ticket #7524 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

LoadEventNexus bug for instruments with detectors missing from IDF

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: blocker Milestone: Release 2.6
Component: Framework Keywords:
Cc: Blocked By:
Blocking: #7489 Tester: Andrei Savici

Description

Load a BASIS file and you will observe an anomalously high number of events in the first event list/workspace index. What is happening is that the BASIS IDF has gaps in the sequence of detector ids, yet those detectors appear to not only physically exist but to sometimes have events in them. Because of some unfortunate choices for default values within the code, these events are ending up being put in workspace index 0 instead of being discarded.

This is also the reason that we are having failures with loading a BASIS file when a mutex for the event lists is missing (see #7489) - multiple threads are ending up holding references to the first event list when it should only be possible for one to operate on it.

Change History

comment:1 Changed 7 years ago by Russell Taylor

  • Status changed from new to inprogress

Several commits are already there in the branch bugfix/7524_basis_loading_error but haven't shown up here.

comment:2 Changed 7 years ago by Russell Taylor

Re #7524. Additional testing for getDetectorIDToWorkspaceIndexVector.

Changeset: 9cbb55f14c18213c1d482711bafed650629451c8

comment:3 Changed 7 years ago by Russell Taylor

Re #7524. Additional test on LoadEventNexus to avoid regression.

Changeset: 5138a888092aee8c3359800fcb0c866fd6525a29

comment:4 Changed 7 years ago by Russell Taylor

Re #7524. Add log message about discarded events.

Changeset: 0f00daae44199a3215984164e8026f07a05279e4

comment:5 Changed 7 years ago by Russell Taylor

  • Status changed from inprogress to verify
  • Resolution set to fixed

Tester:

Before this fix, the first spectrum of a loaded BASIS dataset (there's one each in AutoTestData & SystemTests/Data) would have an anomalously high number of events in it. Now it will have the correct number (I verified this by looking into the nexus file itself with HDFview).

Also, there were unit (ModeratorTzeroLinear) and system tests (BASISAutoReduction & LoadLotsOfFiles) that have been failing (crashing) on master because of this bug. In develop, they should have been behaving.

comment:6 Changed 7 years ago by Andrei Savici

  • Status changed from verify to verifying
  • Tester set to Andrei Savici

comment:7 Changed 7 years ago by Andrei Savici

  • Status changed from verifying to closed

git test pass did not close the ticket

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 8369

Note: See TracTickets for help on using tickets.