Stakeholder meeting notes – 2015/10/22

by Kyle Knoepfel in Events

Herb Greenlee, Tom Junk, Rob Kutschke, Gianluca Petrillo

artists: Lynn Garren, Chris Green, Kyle Knoepfel, Marc Paterno

art 1.17.00 and 1.17.01

Both versions have been released, which include a raft of issues that were slated for Alpha Centauri that were not part of ROOT6:

– memory spike issues
– checking failure to put event products that were declared via ‘produces’
– support for filtered datasets, including first input files that have no events

1.17.00 has been released already, and the basic build of 1.17.01 was available at the end of the meeting. Version 1.17.01 includes a disabled test, which occasionally fails due to some fragile assumptions made for that test. The feature that test is exercising, however, is doing the correct thing.

art 1.18.00 and ROOT6 discussion:

We have achieved a successful merged the develop branch onto the ROOT6 feature branch. All of the tests are successful. There are two things which should be considered:

Preliminary performance statistics suggest that, at least in our test environment, we are seeing a 265 MB increase in virtual memory wrt. ROOT5. An increase is consistent with what CMS saw, but the size of the increase is larger than we expect.
After linking each dictionary, cetbuildtools has run checkClassVersion, which goes through the classes_def.xml files and updates them as necessary. With ROOT6, it is necessary to rethink where that should happen. There are cases where, if you attempt to use the checkClassVersion in a parallel build, you could get random race failures.

Re. 1, the question is how long does the art team wait until the product is delivered? Kyle mentioned it would be very helpful if we could have some feedback on memory usage in an experiment environment. Rob said Mu2e would be able to give results regarding a test run with ROOT6-supported art. Gianluca would like ROOT6 to come in as quick as reasonable.

Re. 2, Marc said it is reasonable to move ahead, but to make a note that multiple attempts may be required to run the checkClassVersion.

Rob asked if using C++11/14 constructs in dictionary products will be allowed with ROOT6. The short answer is that much of C++11/14 is supported by ROOT6, but not necessarily everything.

Note: cpp0x will not be packaged with 1.18.


– Chris has encountered some undesirable behavior with CMake. As part of the cet_test facility, one can specify datafiles that are to copied into test-specific directories. Occasionally, the same copy operation can be triggered multiple times simultaneously, which introduces a rarely-hit race condition. Chris’s best analysis is that it is a defect in CMake.

– While trying to chase down the above problem in CMake, Chris ran across a test that appears to be passing when it should not be due to improperly constructed pass criteria. This problem was fixed.

– Due to Apple not supporting previous Xcode versions, the only viable support policy for OSX is for artists to support the latest Xcode.