Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bugs in code that detects missing ROOT dictionaries #15198

Merged
merged 2 commits into from Jul 27, 2016

Conversation

wddgit
Copy link
Contributor

@wddgit wddgit commented Jul 13, 2016

The changes here started when fixing the bug reported
in issue 14242 where "std::type_info*" was incorrectly
being reported as the type for missing dictionaries.
While working on this, found several other problems in
this part of the code and made significant revisions to
it.

One feature that is new is now dictionaries are checked
for all consumed types. In addition, the pre-existing
checking for dictionaries of produced types, present types,
and types selected for output is done in a more consistent
way with better and more consistent error messages.

These changes rely on the ROOT function TClass::GetMissingDictionaries
more than the previous version. A design choice was to
use this instead of developing and maintaining CMS specific
code to look for dictionaries for all the constituents
of a class. This ROOT function currently does not work as we
expect and as part of this effort we submitted bug report
JIRA-8208 to the ROOT bug tracking system. When this bug
is fixed in ROOT the missing dictionary checking will find
more dictionaries to be missing.

This also includes addition of dictionaries necessary for
runTheMatrix to run successfully with the more thorough
dictionary checking.

The changes here started when fixing the bug reported
in issue 14242 where "std::type_info*" was incorrectly
being reported as the type for missing dictionaries.
While working on this, found several other problems in
this part of the code and made significant revisions to
it.

One feature that is new is now dictionaries are checked
for all consumed types. In addition, the pre-existing
checking for dictionaries of produced types, present types,
and types selected for output is done in a more consistent
way with better and more consistent error messages.

These changes rely on the ROOT function TClass::GetMissingDictionaries
more than the previous version. A design choice was to
use this instead of developing and maintaining CMS specific
code to look for dictionaries for all the constituents
of a class. This ROOT function currently does not work as we
expect and as part of this effort we submitted bug report
JIRA-8208 to the ROOT bug tracking system. When this bug
is fixed in ROOT the missing dictionary checking will find
more dictionaries to be missing.

This also includes addition of dictionaries necessary for
runTheMatrix to run successfully with the more thorough
dictionary checking.
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @wddgit (W. David Dagenhart) for CMSSW_8_1_X.

It involves the following packages:

DataFormats/CTPPSReco
DataFormats/Common
DataFormats/L1TMuon
DataFormats/PatCandidates
DataFormats/Provenance
DataFormats/StdDictionaries
DataFormats/TestObjects
DataFormats/TotemDigi
DataFormats/TrackReco
DataFormats/TrackerRecHit2D
FWCore/Framework
FWCore/Integration
FWCore/Utilities
IOPool/Output
IOPool/Streamer
SimTracker/TrackerHitAssociation

@smuzaffar, @civanch, @Dr15Jones, @cvuosalo, @mdhildreth, @cmsbuild, @rekovic, @slava77, @mulhearn, @davidlange6 can you please review it and eventually sign? Thanks.
@wmtan, @makortel, @sdevissc, @GiacomoSguazzoni, @rovere, @VinInn, @Martin-Grunewald, @wmtford, @gpetruc, @threus, @dgulhan, @cbernet this is something you requested to watch as well.
@slava77, @Degano, @smuzaffar you are the release manager for this.

cms-bot commands are list here #13028

@Dr15Jones
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 13, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/14050/console

@cmsbuild
Copy link
Contributor

Comparison not run due to Build errors (RelVals and Igprof tests were also skipped)

@cmsbuild
Copy link
Contributor

-1

Tested at: f5a4728

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
041c671
You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14050/git-log-recent-commits
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14050/git-merge-result

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14050/summary.html

I found follow errors while testing this PR

Failed tests: Build

  • Build:

I found an error when building:

...now    80-column dumb tty
Cannot remove alias '80-column dumb tty'
Leaving library rule at src/DQMOffline/PFTau/plugins
>> Building edm plugin tmp/slc6_amd64_gcc530/src/DQM/L1TMonitorClient/src/DQML1TMonitorClient/libDQML1TMonitorClient.so
/cvmfs/cms-ib.cern.ch/2016-29/slc6_amd64_gcc530/external/gcc/5.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lDataFormatsLuminosity
collect2: error: ld returned 1 exit status
gmake: **\* [tmp/slc6_amd64_gcc530/src/DPGAnalysis/SiStripTools/src/DPGAnalysisSiStripTools/libDPGAnalysisSiStripTools.so] Error 1
Leaving library rule at DPGAnalysis/SiStripTools
Copying tmp/slc6_amd64_gcc530/src/DQMOffline/RecoB/src/DQMOfflineRecoB/libDQMOfflineRecoB.so to productstore area:
>> Leaving Package DQM/SiPixelPhase1TrackClusters
>> Package DQM/SiPixelPhase1TrackClusters built


The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
041c671
You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14050/git-log-recent-commits
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14050/git-merge-result

@Dr15Jones
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 14, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/14062/console

@cmsbuild
Copy link
Contributor

-1

Tested at: f5a4728

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14062/summary.html

I found follow errors while testing this PR

Failed tests: UnitTests RelVals

  • Unit Tests:

I found errors in the following unit tests:

---> test testRecoMETMETProducers had ERRORS
---> test TestJetMETCorrectionsModulesJetResolutionObject had ERRORS
---> test runtestRecoEgammaPhotonIdentification had ERRORS
---> test runtestRecoEgammaElectronIdentification had ERRORS
---> test runtestUtilAlgos had ERRORS
---> test runtestPhysicsToolsPatAlgos had ERRORS

  • RelVals:

When I ran the RelVals I found an error in the following worklfows:
1001.0 step3

runTheMatrix-results/1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5/step3_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD1+ALCAHARVD2+ALCAHARVD3+ALCAHARVD4+ALCAHARVD5.log

@wddgit
Copy link
Contributor Author

wddgit commented Jul 14, 2016

Unit test failures look unrelated to this PR, all are file open errors. RelVal failure is related. Somehow I missed this one when I ran runTheMatrix.py. I will fix this one very soon and update the PR.

@davidlange6
Copy link
Contributor

please test
(better luck in the third time around?)

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 18, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/14116/console

@cmsbuild
Copy link
Contributor

-1

Tested at: 2ea2906

You can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-15198/14116/summary.html

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test runtestUtilAlgos had ERRORS
---> test runtestRecoEgammaPhotonIdentification had ERRORS
---> test runtestRecoEgammaElectronIdentification had ERRORS

@wddgit
Copy link
Contributor Author

wddgit commented Jul 18, 2016

Everything except 3 unit tests passed. Again file open errors that look to me to be unrelated to my changes. Two are the same exceptions as before. This time the one in runtestUtilAlgos did something different, it actually seg faulted after the following error:

Error in TNetXNGFile::Open: [ERROR] Server responded with an error: [3011] Unable to open file /eos/cms/store/relval/CMSSW_7_2_0_pre5/RelValProdTTbar/GEN-SIM-RECO/START72_V1-v1/00000/022350A9-AC30-E411-B225-0025905A6076.root; No such file or directory

Be nice if this could get approved anyway ... The changes outside the core are relatively trivial. The thing that is causing so much difficulty is that the changes are in code that causes almost all CMSSW to build because of dependencies, so almost all the unit tests get run. If any one thinks these problems are related to my code changes I will dig into this some more, but it looks unrelated and these file open problems are something I do not know much about.

@cmsbuild
Copy link
Contributor

@cvuosalo
Copy link
Contributor

+1

For #15198 2ea2906

Bug fix for ROOT dictionaries. There should be no change in monitored RECO quantities.

The code changes are satisfactory, and Jenkins tests against baseline CMSSW_8_1_X_2016-07-17-2300 show no significant differences, as expected. The Jenkins tests had minor unit test errors unrelated to this PR.

@wddgit
Copy link
Contributor Author

wddgit commented Jul 22, 2016

I hope this can get approved soon. The changes outside the core are trivial. There is nothing other than adding lines to classes_def.xml files to cause dictionaries to be generated that were missing. All tests pass except for 3 unit tests that are failing already in the IB even without these changes. There are no failures related to these changes.

@davidlange6
Copy link
Contributor

Hi all - A number of groups have not signed this PR nor made comments/questions on it. Please make any further comments on this PR today.

@civanch
Copy link
Contributor

civanch commented Jul 25, 2016

+1

@mulhearn
Copy link
Contributor

+1

@davidlange6 davidlange6 merged commit 4937e4a into cms-sw:CMSSW_8_1_X Jul 27, 2016
@wddgit wddgit deleted the missingDictionaryFixes11 branch December 19, 2016 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants