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
Delay constructing transition wrappers #28459
Conversation
Do not create the edm::Run or edm::LuminosityBlock objects until they are requested.
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28459/12890
|
A new Pull Request was created by @Dr15Jones (Chris Jones) 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 Tested at: 2e1c1b4 The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: You can see the results of the tests here: I found follow errors while testing this PR Failed tests: UnitTests RelVals
I found errors in the following unit tests: ---> test testPhase2PixelNtuple had ERRORS
When I ran the RelVals I found an error in the following workflows: runTheMatrix-results/20034.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D35_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D35+RecoFullGlobal_2026D35+HARVESTFullGlobal_2026D35/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D35_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D35+RecoFullGlobal_2026D35+HARVESTFullGlobal_2026D35.log20434.0 step2 runTheMatrix-results/20434.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D41_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D41+RecoFullGlobal_2026D41+HARVESTFullGlobal_2026D41/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D41_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D41+RecoFullGlobal_2026D41+HARVESTFullGlobal_2026D41.log21234.0 step2 runTheMatrix-results/21234.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D44_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D44+RecoFullGlobal_2026D44+HARVESTFullGlobal_2026D44/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D44_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D44+RecoFullGlobal_2026D44+HARVESTFullGlobal_2026D44.log22034.0 step2 runTheMatrix-results/22034.0_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D46_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D46+RecoFullGlobal_2026D46+HARVESTFullGlobal_2026D46/step2_TTbar_14TeV+TTbar_14TeV_TuneCUETP8M1_2026D46_GenSimHLBeamSpotFull14+DigiFullTrigger_2026D46+RecoFullGlobal_2026D46+HARVESTFullGlobal_2026D46.log The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: |
Comparison not run due to runTheMatrix errors (RelVals and Igprof tests were also skipped) |
please test |
The tests are being triggered in jenkins. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
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) |
+1 |
it looks like this PR added almost 10K issues in the static analysis report. |
@Dr15Jones @smuzaffar @makortel please comment if marking the mutables in the Event.h and LuminosityBlock.h thread safe is OK. |
@slava77 marking the change using CMS_THREAD_SAFE doesn't seem correct to me personally. That So the proper thing would be able to mark |
I see, is it practical to make these variables properly thread safe? (atomic or mutex) |
There are many |
@slava77 there are two static analysis checks for mutables. One (the test that you looked at) just looks for mutable in any classes and the second looks for thread-unsafe mutables in classes we know get used across threads (e.g. Event or EventSetup data products). To avoid the problem you pointed out we could
So the question to you is, do you find the general mutable finder helpful or is it just noise? |
they are somewhat useful
The cases where a review was made and there will be no fix should not be counted/reported by default, assuming there is some annotation in the code to revisit these cases. This would be resolved by your case 1. |
@slava77
and the accompanying CPP define
This can be used to tell the static analyzer (SA) to allow a construct it would previously have flagged as a problem. The policy would be that the use of the attribute also requires a comment stating why it should be allowed. Matti and I feel this gives the most flexibility for the minimal change to the static analyzer as well as being easy to explain to developers. |
PR description:
Do not create the edm::Run or edm::LuminosityBlock objects until they are requested.
PR validation:
The framework unit tests pass.