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

Make some L1Trigger config static pointers thread safe #36965

Merged
merged 1 commit into from Feb 15, 2022

Conversation

dan131riley
Copy link

PR description:

UBSAN IBs identified some thread-unsafe initialization and destruction of static pointers used for config and debug information. These produced runtime errors like:

/data/cmsbld/jenkins/workspace/build-any-ib/w/tmp/BUILDROOT/e79955c4ee35855e71c28ad84fd140dd/opt/cmssw/slc7_amd64_gcc11/cms/cmssw/CMSSW_12_3_UBSAN_X_2022-02-11-1100/src/L1Trigger/L1TMuonBarrel/src/L1MuBMTrackFinder.cc:162:26: runtime error: member call on null pointer of type 'struct L1MuBMTFConfig'

followed by segmentation violations. This PR replaces the thread-unsafe initialization and destruction of the static pointers with thread-safe manipulations of std::shared_ptr.

PR validation:

Ran WF 139.002 in CMSSW_12_3_UBSAN_X_2022-02-11-1100 and verified that no null pointer derefs were seen and no new errors appeared. Purely technical fix, should have no impact on performance.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36965/28328

  • This PR adds an extra 28KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @dan131riley (Dan Riley) for master.

It involves the following packages:

  • L1Trigger/DTTrackFinder (l1)
  • L1Trigger/GlobalMuonTrigger (l1)
  • L1Trigger/L1TMuonBarrel (l1)

@epalencia, @cmsbuild, @cecilecaillol, @rekovic can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @missirol, @dinyar, @thomreis 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

@cecilecaillol
Copy link
Contributor

+l1

@cecilecaillol
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. 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)

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2493e2/22420/summary.html
COMMIT: 48bb44b
CMSSW: CMSSW_12_3_X_2022-02-14-2300/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36965/22420/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: 3 differences found in the comparisons
  • DQMHistoTests: Total files compared: 46
  • DQMHistoTests: Total histograms compared: 3764435
  • DQMHistoTests: Total failures: 8
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3764405
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 45 files compared)
  • Checked 193 log files, 42 edm output root files, 46 DQM output files
  • TriggerResults: no differences found

@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

4 participants