Bug #10536

FatalRootError upon writing an output file if a second input file is missing products

Added by Kyle Knoepfel over 5 years ago. Updated over 3 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
16.00 h
Spent time:
Occurs In:
SSI Package:


There are now many tests in art that verify the expected behavior for various input-concatenation scenarios. Consider the following scenario, however.

Suppose input files a.root and b.root were created by the same set of processes and therefore have the same products and event shape. To save disk space, a user decides to drop products in b.root so that the unneeded products are no longer present, and only the desired products are persisted to b_trimmed.root. Because a.root and b_trimmed.root still have the same event shape, it is possible for both to serve as inputs:

art -c onlyAnalyze.fcl a.root b_trimmed.root

where no filtering or extra product creation is done. This works fine in current art. However, suppose I want to write all the products to an aggregated output (out.root). In this case, the nonexistent products in b_trimmed.root should be replaced with dummies in out.root. However, the following error is emitted:

---- FatalRootError BEGIN
  Fatal Root Error: @SUB=TBranchElement::Fill
  attempt to fill branch art::TriggerResults_TriggerResults__p2. while addresss is not set
  cet::exception going through module RootOutput/out run: 1 subRun: 0 event: 1
---- FatalRootError END

Interestingly, the error is not triggered if b_trimmed.root precedes a.root in the input-file list. This should be remedied so that the behavior is symmetric wrt. the order of the above-specified inputs.

Associated revisions

Revision fe099bbe (diff)
Added by Kyle Knoepfel over 3 years ago

Resolve issue #10536: forward-fill branches that are not in current input file.


#1 Updated by Kyle Knoepfel over 5 years ago

  • Description updated (diff)

#2 Updated by Christopher Green over 5 years ago

  • Category set to Metadata
  • Status changed from New to Accepted
  • SSI Package art added
  • SSI Package deleted ()

A reasonable time estimate would require significant analysis.

#3 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Accepted to Assigned
  • Assignee set to Kyle Knoepfel

#4 Updated by Kyle Knoepfel over 3 years ago

  • Category changed from Metadata to I/O
  • Estimated time set to 16.00 h

The selected output item list for RootOutputFile is updated based on the OutputModule keptProducts member. That member, in turn, is based on the present products in the input file. A mechanism must be put in place so that the selected output item list appropriately handles new input files that do not have products from older input files.

#5 Updated by Kyle Knoepfel over 3 years ago

  • % Done changed from 0 to 80

#6 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 80 to 100

#7 Updated by Kyle Knoepfel over 3 years ago

  • Target version set to 2.08.00

#8 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF