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 incorrect address usage in VirtualJetProducer #25629

Merged
merged 1 commit into from Jan 13, 2019

Conversation

Dr15Jones
Copy link
Contributor

The code was getting the address from a boost::shared_ptr by doing '&*ptr' and passing that value to a dynamic_cast. This caused a crash under fully optimized clang because the compiler is allowed to assume that references do not point to 'null' memory. This allowed the clang compiler to remove the check for null in the dynamic_cast call.

The code was getting the address from a boost::shared_ptr by doing
'&*ptr' and passing that value to a dynamic_cast. This caused a
crash under fully optimized clang because the compiler is allowed
to assume that references do not point to 'null' memory. This
allowed the clang compiler to remove the check for null in the
dynamic_cast call.
@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@Dr15Jones
Copy link
Contributor Author

The behavior of similar code can be seen here
using gcc: https://gcc.godbolt.org/z/qHXqsn
using clang: https://gcc.godbolt.org/z/Tj9FFn

The clang version shows the optimizer makes different code when using &* instead of .get().

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25629/7944

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

RecoJets/JetProducers

@perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@TaiSakuma, @jdolen, @ahinzmann, @rappoccio, @jdamgov, @yslai, @nhanvtran, @gkasieczka, @clelange, @schoef, @mariadalfonso, @seemasharmafnal this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 11, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/32540/console Started: 2019/01/11 20:42

@Dr15Jones
Copy link
Contributor Author

This fixes the crash seen in the clang RelVals for workflow 140.54. That workflow does not fail using gcc since the gcc compiler does not optimize away the check for null.

@Dr15Jones
Copy link
Contributor Author

@dan131riley thought this might interest you.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-25629/32540/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 33
  • DQMHistoTests: Total histograms compared: 3153717
  • DQMHistoTests: Total failures: 13
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3153500
  • DQMHistoTests: Total skipped: 204
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 32 files compared)
  • Checked 137 log files, 14 edm output root files, 33 DQM output files

@perrotta
Copy link
Contributor

+1

  • Technical
  • Jenkins tests pass

@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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 9afa5df into cms-sw:master Jan 13, 2019
@Dr15Jones Dr15Jones deleted the clangFixVirtualJetProducer branch January 14, 2019 21:59
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