Bug #23294

product_sizes_dumper cannot find a file with its xrootd url

Added by Thomas Junk over 1 year ago. Updated over 1 year ago.

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


Estimated time:
2.00 h
Spent time:


I tried this with art v3_01_02 on a dunegpvm machine running SLF7 just now and got this:

<> product_sizes_dumper root://
Error in <TFile::TFile>: file pnfs/ does not exist
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::file_size: No such file or directory: "root://" 

If I replace "product_sizes_dumper" with "count_events" (to eliminate possible typos and cut and
paste errors), I get success:

<> count_events root://
root://    1    1    134    0
Counted events successfully for 1 specified files.

In the larsoft cvmfs area, v3_01_02 is the latest art version which has product_sizes_dumper installed so I cannot test a newer version to see if this has been resolved.


#1 Updated by Kyle Knoepfel over 1 year ago

  • Scope deleted (Internal)
  • Estimated time set to 2.00 h
  • Assignee set to Kyle Knoepfel
  • Status changed from New to Assigned
  • Description updated (diff)
  • Project changed from art to art_root_io
  • SSI Package deleted (art)
  • Occurs In deleted (3.01.00)

Tom, product_sizes_dumper is now provided by art_root_io and not art. You must either set that package up explicitly, or setup the correct version of LArSoft, which will do that for you. We will investigate why XRootD-specified files are not working with product_sizes_dumper.

#2 Updated by Thomas Junk over 1 year ago

I can reproduce the issue with art_root_io v1_00_07 (setup with larsoft v08_28_01), art_root_io v1_00_08, and
art_root_io v1_00_09.

#3 Updated by Kyle Knoepfel over 1 year ago

Thank you, Tom. We will investigate.

#4 Updated by Kyle Knoepfel over 1 year ago

  • % Done changed from 0 to 100
  • Target version set to 1.00.10
  • Status changed from Assigned to Resolved

The problem is understood. The product_sizes_dumper was using the Boost filesystem library to determine the size of the file, and Boost does not support XRootD URLs. ROOT, however, can return the size of a file that has already been opened via XRootD URL. The solution was to remove the dependency on the Boost filesystem library and use the ROOT API.

Implemented with commit art_root_io:e2c5c2e.

#5 Updated by Kyle Knoepfel over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF