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
Improve early unlocking in FastMonitoringService [12.4.x] #38584
Improve early unlocking in FastMonitoringService [12.4.x] #38584
Conversation
A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_12_4_X. It involves the following packages:
@cmsbuild, @emeschi, @smorovic can you please review it and eventually sign? Thanks. cms-bot commands are listed here
|
type bugfix |
backport #38583 |
please test |
+1 |
This pull request is fully signed and it will be integrated in one of the next CMSSW_12_4_X IBs after it passes the integration tests and once validation in the development release cycle CMSSW_12_5_X is complete. 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) |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5d6ae4/25949/summary.html Comparison SummarySummary:
|
+1 |
PR description:
These changes attempt to fix a rare error that is only observed online during data taking:
The current code locks a mutex with
std::lock_guard
, but unlocks it explicitly under some circumstances, causing to a double unlock and leading to undefined behaviour.This change replaces the use of
std::lock_guard
withstd::unique_lock
, that can be safely released and unlocked before going out of scope.A second minor change should avoid a few memory copies when emitting a LogInfo message.
PR validation:
Tested with CMSSW 12.3.x running a recent HLT menu in DAQ-like mode.
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
Backport of #38583 for data taking.