-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Protect ProcessCallGraph for module IDs larger than the number of modules #29584
Conversation
…f modules It could be (soon) that the module ID is larger than the number of modules.
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-29584/14904
|
A new Pull Request was created by @makortel (Matti Kortelainen) for master. It involves the following packages: HLTrigger/Timer @cmsbuild, @Martin-Grunewald, @fwyzard can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild, please test |
The tests are being triggered in jenkins. |
+1 |
Comparison job queued. |
hi @makortel , Something like adding to unsigned int ModuleDescription::getOneAfterLargestValidID() { return s_id; } (a better name is welcome) |
Comparison is ready Comparison Summary:
|
@fwyzard Before going there, let me ask a clarification of how the Does the If yes, already this PR leads to overestimating the number of vertices for subgraphs, because the largest module ID in the set of modules of a SubProcess is certainly larger than the number of modules in that SubProcess. The overestimation is nevertheless smaller than using the "largest ID in a cmsRun" for each (SubProcess). How big burden the extra vertices would be (beyond consuming more memory)? |
I was actually thinking to add something along I would prefer to keep the exact logic of module ID assignment (that is the value of |
+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. @silviodonato, @dpiparo (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
#29553 can make the number of modules at
beginJob()
(and thereafter) smaller than the largest module ID, which would lead to out-of-bound errors inProcessCallGraph::preBeginJob()
when using the module IDs as an index to a boost graph. This PR proposes, as a minimal fix, to look for the maximum module ID explicitly.This PR fixes some of the crashes seen in #29553 tests, I'm submitting the fix in a separate PR to make the review a bit easier.
PR validation:
Limited matrix runs.