-
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
Create infrastructure to allow cmsRun to control an external process #28792
Conversation
This allows testing of memory systems.
The buffer also properly handles growing by alternating between two different shared memory spaces. Additional improvements to external process failures were also added.
The WorkerChannel and ControllerChannel encapsulate the inter-process communication needed.
-Have the ability to also control EDFilters with keepEvents info -Have external module configuration come from the python config.
The recommended way to have a signal handler hand off dealing with the signal to a different thread is to use a pipe between the signal handler and the thread.
The code-checks are being triggered in jenkins. |
1 similar comment
The code-checks are being triggered in jenkins. |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28792/13475
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
The code-checks are being triggered in jenkins. |
Pull request #28792 was updated. @makortel, @smuzaffar, @cmsbuild, @Dr15Jones can you please check and sign again. |
+1 |
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, @silviodonato, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
@Dr15Jones a unit test of the newly created FWCore/SharedMemory is crashing Looking at the PR tests https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b77b1e/4533/unitTests.log, I see that testFWCoreSharedMemoryMonitorThreadSignals was aborted for some reason.
|
That is exactly what the test is supposed to do. It internally sends an abort (and in another test a SIGSEGV) to be sure the program properly shutsdown. That is why the pull request test also had
|
The IB unit test failure has a return code of 127 which means the shell was unable to find the program. Presumably that means it could not find testFWCoreSharedMemoryMonitorThread because it was not built yet. @smuzaffar what was the proper command to add to the BuildFile.xml directive to let scram know there is a dependency between two test executables? |
It is |
Turns out the test already does specify |
@smuzaffar I think the problem is the way I'm trying to find a built test Do you have a better way to find it? |
Note that
|
…(106X) Backport from cms-sw#28792. Additional changes: - FWCore/Integration/bin/interprocess.cc: L108: disable macro CMS_SA_ALLOW. - FWCore/Integration/test/TestInterProcessProd.cc: L3: add header "FWCore/Framework/interface/Run.h". - FWCore/Integration/test/test_TestInterProcessProd_cfg.py: L35,46: default way to specify process.maxEvents, process.options.
PR description:
This adds the FWCore/SharedMemory package which can be used to allow bi-directional communication between a cmsRun module and an external process running on the same node. This includes an example implementation in FWCore/Integration.
PR validation:
The code compiles and all new and existing framework unit tests pass.