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

[UBSAN] Fix overloaded enum in TemplatedSecondaryVertexTagInfo #35197

Merged
merged 3 commits into from Sep 11, 2021

Conversation

emilbols
Copy link
Contributor

@emilbols emilbols commented Sep 8, 2021

PR description:

Issue: #35033

1302.17 step3
DataFormats/BTauReco/interface/TemplatedSecondaryVertexTagInfo.h:38:21: runtime error: load of value 4, which is not a valid value for type 'Status'

An enum object is currently manipulated to be outside its defined range in BTV code, which is considered undefined behavior with the UBSAN IB. This fix changes this enum structure to be integer based instead, which should get rid of the error, while not changing any behavior.

PR validation:

As i had some issues reproducing the issues, i used a specific step2.root file [1] in workflow 1302.17 step3

cmsDriver.py step3  -s RAW2DIGI,L1Reco,RECO,RECOSIM,EI,PAT --conditions auto:phase1_2017_realistic -n 10 --datatier AODSIM,MINIAODSIM --eventcontent AODSIM,MINIAODSIM --era Run2_2017 --filein file:step2.root  --fileout file:step3.root  --nThreads 4 > step3_ProdTTbar_13UP17+ProdTTbar_13UP17+DIGIUP17PROD1+RECOPRODUP17.log  2>&1

With CMSSW_12_1_UBSAN_X_2021-09-03-2300 I get the reported error every time on event 10. After applying this fix, this error is gone.

[1]
https://cernbox.cern.ch/index.php/s/8vFa8hmOo9P94jf

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2021

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35197/25134

  • This PR adds an extra 32KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2021

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35197/25135

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2021

A new Pull Request was created by @emilbols for master.

It involves the following packages:

  • DataFormats/BTauReco (reconstruction)
  • RecoBTag/SecondaryVertex (reconstruction)

@jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@AlexDeMoor, @emilbols, @rovere, @JyothsnaKomaragiri, @andrzejnovak, @demuller this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2021

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35197/25136

  • This PR adds an extra 36KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 8, 2021

Pull request #35197 was updated. @jpata, @cmsbuild, @slava77 can you please check and sign again.

@mrodozov
Copy link
Contributor

mrodozov commented Sep 8, 2021

test parameters:

  • workflow = 1302.17
  • release = CMSSW_12_1_UBSAN_X_2021-09-03-2300

@mrodozov
Copy link
Contributor

mrodozov commented Sep 8, 2021

please test

@slava77
Copy link
Contributor

slava77 commented Sep 9, 2021

@mrodozov
did the job get stuck here ("please test" was 19 hours ago)?
I'm afraid to abort and restart now that it seems to be taking more than 12 hours to run tests.

@slava77
Copy link
Contributor

slava77 commented Sep 9, 2021

@emilbols
please edit the PR title to be more clear that this is BTV-related; perhaps just add in TemplatedSecondaryVertexTagInfo at the end.
Thank you.

@emilbols emilbols changed the title [UBSAN] Fix overloaded enum [UBSAN] Fix overloaded enum in TemplatedSecondaryVertexTagInfo Sep 9, 2021
@slava77
Copy link
Contributor

slava77 commented Sep 10, 2021

@cmsbuild please test

@slava77
Copy link
Contributor

slava77 commented Sep 10, 2021

test parameters:

@slava77
Copy link
Contributor

slava77 commented Sep 10, 2021

@cmsbuild please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ecad6a/18479/summary.html
COMMIT: c942712
CMSSW: CMSSW_12_1_X_2021-09-09-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/35197/18479/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 39
  • DQMHistoTests: Total histograms compared: 3001001
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3000973
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 38 files compared)
  • Checked 165 log files, 37 edm output root files, 39 DQM output files
  • TriggerResults: no differences found

@mrodozov
Copy link
Contributor

hi @slava77 here is the 1302.17 workflow log from the UBSAN run:

https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ecad6a/18427/runTheMatrix-results/1302.17_ProdTTbar_13UP17+ProdTTbar_13UP17+DIGIUP17PROD1+RECOPRODUP17/

I don't see this specific error in this log, considering the PR has fixed it

@slava77
Copy link
Contributor

slava77 commented Sep 10, 2021

+reconstruction

for #35197 c942712

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

+1

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

6 participants