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
Bug fixes for EventSetup consumes corner cases #26550
Conversation
Fixes 2 bugs. One causes an assert failure and the other an out of bounds read. These bugs were only introduced recently and only in 10_6_X. I am not aware of any existing code that actually hits these corner cases. The assert occurs after a call to setWhatProduced for multiple products followed by another call to setWhatProduced. The out of bounds read failure occurs when esConsumes is called for mutiple types of transitions (event, beginRun, ...) in the same producer, filter, or analyzer. Modifies existing unit tests so the assert bug would now fail a unit test. Modified another test to hit the out of bounds read, although you need valgrind to actually see it with this test, but there is a more involved tests coming soon in the PR that implements concurrent IOVs that fails with the out of bounds read bug. These bugs were noticed while testing the concurrent IOV PR.
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26550/9449
|
A new Pull Request was created by @wddgit (W. David Dagenhart) for master. It involves the following packages: FWCore/Framework @cmsbuild, @smuzaffar, @Dr15Jones can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
+1 |
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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
@Dr15Jones in the header check there is a list of reported errors that seem unrelated to this specific PR, but seem also genuine (i.e. not the usual internal compiler failure). Just to draw your attention to that:
|
+1 |
PR description:
Fixes 2 bugs. One causes an assert failure and the other an out
of bounds read. These bugs were only introduced recently and
only in 10_6_X. The assert occurs for ESProducers that after a
call to setWhatProduced for multiple products call setWhatProduced
another time. The out of bounds read failure occurs when
esConsumes is called for multiple types of transitions (event,
beginRun, ...) in the same producer, filter, or analyzer.
I am not aware of any existing code in CMSSW that actually
hits these corner cases. As far as I know this will not affect the output
of any existing tests.
PR validation:
Modifies existing unit tests so the assert bug would now fail
a unit test. Modified another test to hit the out of bounds read,
although you need valgrind to actually see it with this test, but
there is a new and more complex test coming soon in the PR
that implements concurrent IOVs that fails when the out of bounds
read bug is hit. These bugs were noticed while testing the concurrent
IOV PR.