Skip to content
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

Thread safe changes for Particle class #1129

Merged
merged 10 commits into from
Nov 25, 2013
Merged

Thread safe changes for Particle class #1129

merged 10 commits into from
Nov 25, 2013

Conversation

vkuznet
Copy link
Contributor

@vkuznet vkuznet commented Oct 22, 2013

No description provided.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @vkuznet (Valentin Kuznetsov) for CMSSW_7_0_X.

Thread safe changes for Particle class

It involves the following packages:

DataFormats/Candidate

@smuzaffar, @nclopezo, @vadler can you please review it and eventually sign? Thanks.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
@ktf you are the release manager for this.

@vkuznet
Copy link
Contributor Author

vkuznet commented Oct 22, 2013

@Dr15Jones please review

mutable bool cachePolarFixed_, cacheCartesianFixed_;
#endif
/// set internal cache
inline void cachePolar() const {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should be moved to the .cc file.

@ktf
Copy link
Contributor

ktf commented Nov 7, 2013

@volker?

@vadler
Copy link

vadler commented Nov 7, 2013

@ktf I'm waiting for @vkuznet 's reaction on @Dr15Jones 's comments.

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 7, 2013

Pull request #1129 was updated. @cmsbuild, @vadler, @nclopezo can you please check and sign again.

@vadler
Copy link

vadler commented Nov 7, 2013

Again I will trust in @Dr15Jones 's expertise... ;-)

@Dr15Jones
Copy link
Contributor

@vkuznet This looks thread-safe to me, however since the default (*) form is being used it means you are forcing the CPU to synchronize all unrelated std::atomics when you do that call. Please change to the '.load()' and '.store()' form and use the more permissive 'std::memory_order_acquire' and 'std::memory_order_release' so the CPU only has to synchronize when the exact same memory location is changed.

@Dr15Jones
Copy link
Contributor

@vkuznet Valentin, we just added a new class edm::AtomicPtrCache<> to DataFormats/Common which handles all the nasty threading and memory management issues related to using a std::atomic<*> as a cache in a Data product. You might want to try using it. It should even allow you to use the compile's defaulty generated copy constructor and operator=!

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 7, 2013

-1
I found an error when building:

tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function `(anonymous namespace)::method_17941(void*, void*, std::vector > const&, void*)':
xr.cc:(.text+0x3471d): undefined reference to`reco::Particle::~Particle()'
tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function `trigger::TriggerObject::particle(int, ROOT::Math::PositionVector3D, ROOT::Math::DefaultCoordinateSystemTag> const&, int, bool) const':
xr.cc:(.text._ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib[_ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib]+0xd5): undefined reference to`reco::Particle::Particle(int, ROOT::Math::LorentzVectorROOT::Math::PxPyPzE4D const&, ROOT::Math::PositionVector3DROOT::Math::Cartesian3D const&, int, int, bool)'
>> Compiling  /build/cmsbuild/jenkins-workarea/workspace/Pull-Request-Integration/ARCHITECTURE/slc5_amd64_gcc481/CMSSW_7_0_X_2013-11-07-0200/src/PhysicsTools/PatUtils/src/CaloIsolationEnergy.cc 
collect2: error: ld returned 1 exit status
gmake: **\* [tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/libDataFormatsHLTReco.so] Error 1
gmake: **\* Waiting for unfinished jobs....
--->> genreflex: INFO: Parsing file src/PhysicsTools/PatUtils/src/classes.h with GCC_XML OK
--->> genreflex: INFO: Generating Reflex Dictionary
class pat::DiObjectProxy


you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1247/summary.html

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 7, 2013

Chris, I'll certainly look at this.

On Nov 7, 2013, at ,Nov 7, 11:02 AM, Chris Jones wrote:

@vkuznet Valentin, we just added a new class edm::AtomicPtrCache<> to DataFormats/Common which handles all the nasty threading and memory management issues related to using a std::atomic<*> as a cache in a Data product. You might want to try using it. It should even allow you to use the compile's defaulty generated copy constructor and operator=!


Reply to this email directly or view it on GitHub.

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 7, 2013

Pull request #1129 was updated. @cmsbuild, @vadler, @nclopezo can you please check and sign again.

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 7, 2013

Even though I submitted update for load/store. I did not resolve yet this problem. So far I'm puzzled why reflex dictionary phase fails to see ctor/dtor's of this class. Chris, do you have any insight on this?

On Nov 7, 2013, at ,Nov 7, 11:49 AM, cmsbuild wrote:

-1
I found an error when building:

tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function (anonymous namespace)::method_17941(void_, void_, std::vector<void*, std::allocator<void*> > const&, void*)':

xr.cc:(.text+0x3471d): undefined reference toreco::Particle::~Particle()'

tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function trigger::TriggerObject::particle(int, ROOT::Math::PositionVector3DROOT::Math::Cartesian3D<double, ROOT::Math::DefaultCoordinateSystemTag> const&, int, bool) const':

xr.cc:(.text._ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib[_ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib]+0xd5): undefined reference toreco::Particle::Particle(int, ROOT::Math::LorentzVectorROOT::Math::PxPyPzE4D const&, ROOT::Math::PositionVector3DROOT::Math::Cartesian3D<double, ROOT::Math::DefaultCoordinateSystemTag> const&, int, int, bool)'

Compiling /build/cmsbuild/jenkins-workarea/workspace/Pull-Request-Integration/ARCHITECTURE/slc5_amd64_gcc481/CMSSW_7_0_X_2013-11-07-0200/src/PhysicsTools/PatUtils/src/CaloIsolationEnergy.cc

collect2: error: ld returned 1 exit status

gmake: *** [tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/libDataFormatsHLTReco.so] Error 1

gmake: *** Waiting for unfinished jobs....

--->> genreflex: INFO: Parsing file src/PhysicsTools/PatUtils/src/classes.h with GCC_XML OK

--->> genreflex: INFO: Generating Reflex Dictionary

class pat::DiObjectProxy

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1247/summary.html

Reply to this email directly or view it on GitHub.

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 7, 2013

I was able to fix this issue by modifying HLTReco/BuildFile.xml and adding

over there. It brings Candidate shared library which has definition of ctor/dtor's of Particle class in order to build HLTReco reflex dictionary.

Please let me know if it is acceptable and I can add this change into this pull request.

On Nov 7, 2013, at ,Nov 7, 11:49 AM, cmsbuild wrote:

-1
I found an error when building:

tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function (anonymous namespace)::method_17941(void_, void_, std::vector<void*, std::allocator<void*> > const&, void*)':

xr.cc:(.text+0x3471d): undefined reference toreco::Particle::~Particle()'

tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/a/xr.o: In function trigger::TriggerObject::particle(int, ROOT::Math::PositionVector3DROOT::Math::Cartesian3D<double, ROOT::Math::DefaultCoordinateSystemTag> const&, int, bool) const':

xr.cc:(.text._ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib[_ZNK7trigger13TriggerObject8particleEiRKN4ROOT4Math16PositionVector3DINS2_11Cartesian3DIdEENS2_26DefaultCoordinateSystemTagEEEib]+0xd5): undefined reference toreco::Particle::Particle(int, ROOT::Math::LorentzVectorROOT::Math::PxPyPzE4D const&, ROOT::Math::PositionVector3DROOT::Math::Cartesian3D<double, ROOT::Math::DefaultCoordinateSystemTag> const&, int, int, bool)'

Compiling /build/cmsbuild/jenkins-workarea/workspace/Pull-Request-Integration/ARCHITECTURE/slc5_amd64_gcc481/CMSSW_7_0_X_2013-11-07-0200/src/PhysicsTools/PatUtils/src/CaloIsolationEnergy.cc

collect2: error: ld returned 1 exit status

gmake: *** [tmp/slc5_amd64_gcc481/src/DataFormats/HLTReco/src/DataFormatsHLTReco/libDataFormatsHLTReco.so] Error 1

gmake: *** Waiting for unfinished jobs....

--->> genreflex: INFO: Parsing file src/PhysicsTools/PatUtils/src/classes.h with GCC_XML OK

--->> genreflex: INFO: Generating Reflex Dictionary

class pat::DiObjectProxy

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1247/summary.html

Reply to this email directly or view it on GitHub.

@Dr15Jones
Copy link
Contributor

That is the right thing to do. In fact, it is technically a requirement we have for all DataFormats packages which is they must explicitly link with every package they use.

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 7, 2013

Pull request #1129 was updated. @perrotta, @cmsbuild, @nclopezo, @Martin-Grunewald, @fwyzard, @vadler can you please check and sign again.

/// set 4-momentum
void Particle::setP4( const LorentzVector & p4 ) {
*p4Cartesian_.load(std::memory_order_acquire) = p4;
*p4Polar_.load(std::memory_order_acquire) = p4;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p4Cartesian_ or p4Polar_ could be nullptr at this point which would cause a seg fault

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 8, 2013

Please note, that another class from this package (LeafCandidate.h) will require to undergo the same set of changes. But I wanted Particle class to get done and ensure that everything will run ok.

@cmsbuild
Copy link
Contributor

-1
I ran the usual tests and I found errors in the following unit tests:

---> test testDataFormatsCandidate had ERRORS

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1280/summary.html

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 20, 2013

@cmsbuild could you please re-run usual tests.

@cmsbuild
Copy link
Contributor

Pull request #1129 was updated. @perrotta, @cmsbuild, @nclopezo, @Martin-Grunewald, @fwyzard, @vadler can you please check and sign again.

@vadler
Copy link

vadler commented Nov 20, 2013

+1

@Martin-Grunewald
Copy link
Contributor

-1

Error in one of my test workflows:

Begin processing the 5th record. Run 1, Event 105, LumiSection 2 at 21-Nov-2013 09:04:13.954 CET
%MSG-e FatalSystemSignal: EmDQMFeeder:dqmFeeder 21-Nov-2013 09:04:15 CET Run: 1 Event: 105
A fatal system signal has occurred: segmentation violation
%MSG

A fatal system signal has occurred: segmentation violation
The following is the call stack containing the origin of the signal.
NOTE:The first few functions on the stack are artifacts of processing the signal and can be ignored

#0 0x0000003d5d89a075 in waitpid () from /lib64/libc.so.6
#1 0x0000003d5d83c741 in do_system () from /lib64/libc.so.6
#2 0x00002b83cfc62ddf in TUnixSystem::StackTrace() () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cm
s/cmssw/CMSSW_7_0_X_2013-11-21-0200/external/slc5_amd64_gcc481/lib/libCore.so
#3 0x00002b83d3be0745 in sig_dostack_then_abort () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cms/c
mssw/CMSSW_7_0_X_2013-11-21-0200/lib/slc5_amd64_gcc481/libFWCoreServices.so
#4
#5 0x00002b83d92c9e76 in reco::Particle::cacheCartesian() const () from /data/CMS/CMSSW_7_0_X_2013-11-21-0200/lib/slc5_amd
64_gcc481/libDataFormatsCandidate.so
#6 0x00002b83d92ca794 in reco::Particle::momentum() const () from /data/CMS/CMSSW_7_0_X_2013-11-21-0200/lib/slc5_amd64_gcc
481/libDataFormatsCandidate.so
#7 0x00002b840e864b50 in void EmDQM::fillHistos<std::vector<l1extra::L1EmParticle, std::allocatorl1extra::L1EmParticle >\

(edm::Handletrigger::TriggerEventWithRefs&, edm::Event const&, unsigned int, std::vector<reco::Particle, std::allocator
reco::Particle >&, bool&) () from /data/CMS/CMSSW_7_0_X_2013-11-21-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamm
a.so
#8 0x00002b840e8537da in EmDQM::analyze(edm::Event const&, edm::EventSetup const&) () from /data/CMS/CMSSW_7_0_X_2013-11-2
1-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamma.so
#9 0x00002b840e86a9ab in EmDQMFeeder::analyze(edm::Event const&, edm::EventSetup const&) () from /data/CMS/CMSSW_7_0_X_201
3-11-21-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamma.so
#10 0x00002b83ce861fbb in edm::EDAnalyzer::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingCo
ntext const_) () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-21-0200/li
b/slc5_amd64_gcc481/libFWCoreFramework.so
#11 0x00002b83ce93241e in edm::WorkerTedm::EDAnalyzer::implDo(edm::EventPrincipal&, edm::EventSetup const&, edm::ModuleCa
llingContext const_) () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-21-
0200/lib/slc5_amd64_gcc481/libFWCoreFramework.so

@cmsbuild
Copy link
Contributor

-1
I ran the usual tests and I found errors in the following unit tests:

---> test testDataFormatsCandidate had ERRORS

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1421/summary.html

@cmsbuild
Copy link
Contributor

Pull request #1129 was updated. @perrotta, @cmsbuild, @nclopezo, @Martin-Grunewald, @fwyzard, @vadler can you please check and sign again.

@Martin-Grunewald
Copy link
Contributor

-1

Compilation:

Compiling /data/CMS/CMSSW_7_0_X_2013-11-22-0200/src/DataFormats/Candidate/src/Particle.cc
/data/CMS/CMSSW_7_0_X_2013-11-22-0200/src/DataFormats/Candidate/src/Particle.cc: In member function 'void reco::Particle::cacheCartesian() const':
/data/CMS/CMSSW_7_0_X_2013-11-22-0200/src/DataFormats/Candidate/src/Particle.cc:284:10: error: 'p4Cartesian' was not declared in this scope
_p4Cartesian = (p4Polar.load(std::memory_order_acquire));
^
gmake: *** [tmp/slc5_amd64_gcc481/src/DataFormats/Candidate/src/DataFormatsCandidate/Particle.o] Error 1
gmake: *** Waiting for unfinished jobs....

@cmsbuild
Copy link
Contributor

Pull request #1129 was updated. @perrotta, @cmsbuild, @nclopezo, @Martin-Grunewald, @fwyzard, @vadler can you please check and sign again.

@Martin-Grunewald
Copy link
Contributor

-1

Now it compiles but I find the same runtime error as before:

Begin processing the 5th record. Run 1, Event 105, LumiSection 2 at 22-Nov-2013 17:06:21.565 CET
%MSG-e FatalSystemSignal: EmDQMFeeder:dqmFeeder 22-Nov-2013 17:06:23 CET Run: 1 Event: 105
A fatal system signal has occurred: segmentation violation
%MSG

A fatal system signal has occurred: segmentation violation
The following is the call stack containing the origin of the signal.
NOTE:The first few functions on the stack are artifacts of processing the signal and can be ignored

#0 0x0000003d5d89a075 in waitpid () from /lib64/libc.so.6
#1 0x0000003d5d83c741 in do_system () from /lib64/libc.so.6
#2 0x00002ba808b91ddf in TUnixSystem::StackTrace() () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-22-0200/external/slc5_amd64_gcc481/lib
/libCore.so
#3 0x00002ba80cdf1745 in sig_dostack_then_abort () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/slc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/libFWCoreSe
rvices.so
#4
#5 0x00002ba812209e7b in reco::Particle::cacheCartesian() const () from /data/CMS/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/libDataFormatsCandidate.so
#6 0x00002ba81220a794 in reco::Particle::momentum() const () from /data/CMS/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/libDataFormatsCandidate.so
#7 0x00002ba8478e4b50 in void EmDQM::fillHistos<std::vector<l1extra::L1EmParticle, std::allocatorl1extra::L1EmParticle > >(edm::Handletrigger::TriggerEventWithRefs&, edm::Event const&,
unsigned int, std::vector<reco::Particle, std::allocatorreco::Particle >&, bool&) () from /data/CMS/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamma.so
#8 0x00002ba8478d37da in EmDQM::analyze(edm::Event const&, edm::EventSetup const&) () from /data/CMS/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamma.so
#9 0x00002ba8478ea9ab in EmDQMFeeder::analyze(edm::Event const&, edm::EventSetup const&) () from /data/CMS/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/pluginHLTriggerOfflineEgamma.so
#10 0x00002ba80779102b in edm::EDAnalyzer::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const_) () from /afs/cern.ch/cms/sw/ReleaseCandidates/vol1/s
lc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/libFWCoreFramework.so
#11 0x00002ba8078615fe in edm::WorkerTedm::EDAnalyzer::implDo(edm::EventPrincipal&, edm::EventSetup const&, edm::ModuleCallingContext const_) () from /afs/cern.ch/cms/sw/ReleaseCandidates
/vol1/slc5_amd64_gcc481/cms/cmssw/CMSSW_7_0_X_2013-11-22-0200/lib/slc5_amd64_gcc481/libFWCoreFramework.so

@Martin-Grunewald
Copy link
Contributor

To reproduce:

In CMSSW_7_0_X_2013-11-22-0200 I do:
cd src
git cms-addpkg HLTrigger/Configuration
git cms-merge-topic 1129
git cms-checkdeps -a
scram build -j 4

Go for a chat and a coffee....

cd HLTrigger/Configuration/test/
./cmsDriver.sh # this makse a bunch of cfg files ready for cmsRun.

Then execute:
cmsRun RelVal_DigiL1RawHLT_GRun_STARTUP.py >& RelVal_DigiL1RawHLT_GRun_STARTUP.log
The above takes a GEN-SIM file from /store and runs HLT, writes an output file w/out problems!

The crash occurs in the second step which reads in the just created output file:
cmsRun RelVal_RECO_GRun_STARTUP.py >& RelVal_RECO_GRun_STARTUP.log

Presumably there is a persistency problem with the changes to the Particle class, as just using it
(in the first cmsRun job above) is fine....

@vkuznet
Copy link
Contributor Author

vkuznet commented Nov 22, 2013

Hi Martin,
I am unable to reproduce a crash. I setup the same release and performed all steps you listed, and I run on lxvoadm5 machine (still SLC5). My area is here /afs/cern.ch/user/v/valya/workspace/CMSSW/CMSSW_7_0_X_2013-11-22-0200/src/HLTrigger/Configuration/test
and copied log files into my public area ~valya/public/CMSSW/Tests/
I don't see a crash even though there is Errors string summary, but I don't know which errors it refers to. Could you please have a look. Meanwhile I'll review Particle class logic.

On Nov 22, 2013, at ,Nov 22, 11:40 AM, Martin Grunewald notifications@github.com wrote:

To reproduce:

In CMSSW_7_0_X_2013-11-22-0200 I do:
cd src
git cms-addpkg HLTrigger/Configuration
git cms-merge-topic 1129
git cms-checkdeps -a
scram build -j 4

Go for a chat and a coffee....

cd HLTrigger/Configuration/test/
./cmsDriver.sh # this makse a bunch of cfg files ready for cmsRun.

Then execute:
cmsRun RelVal_DigiL1RawHLT_GRun_STARTUP.py >& RelVal_DigiL1RawHLT_GRun_STARTUP.log
The above takes a GEN-SIM file from /store and runs HLT, writes an output file w/out problems!

The crash occurs in the second step which reads in the just created output file:
cmsRun RelVal_RECO_GRun_STARTUP.py >& RelVal_RECO_GRun_STARTUP.log

Presumably there is a persistency problem with the changes to the Particle class, as just using it
(in the first cmsRun job above) is fine....


Reply to this email directly or view it on GitHub.

<version ClassVersion="11" checksum="2698562380"/>
<version ClassVersion="10" checksum="2605909260"/>
</class>
<ioread sourceClass = "reco::Particle" version="[1-]" targetClass="reco::Particle" source = "" target="cachePolarFixed_">
<![CDATA[cachePolarFixed_ = false;]]>
<ioread sourceClass = "reco::Particle" version="[1-]" targetClass="reco::Particle" source = "" target="p4Polar_">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pcanal Philippe, is this the correct iorule to deal with a transient pointer which is owned by the class?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this looks good.

@perrotta
Copy link
Contributor

Hi Valentin.

I confirm the same findings of Martin.
Moreover, also the short matrix fails [1]: did anybody ever tested it?

Andrea

[1]

more runall-report-step123-.log

4.22_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC
Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED Step4-PASSED -
time date Fri Nov 22 17:26:58 2013-date F
ri Nov 22 17:21:29 2013; exit: 0 0 0 0 0
4.53_RunPhoton2012B+RunPhoton2012B+HLTD+RECODreHLT+HARVESTDreHLT
Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED - time date Fri
Nov 22 17:48:07 2013-date Fri Nov 22 17:21:33 201
3; exit: 0 0 0 0
5.1_TTbar+TTbarFS+HARVESTFS Step0-FAILED Step1-NOTRUN - time date Fri
Nov 22 17:25:54 2013-date Fri Nov 22 17:21:38 2013; exit: 34304 0
8.0_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS Step0-PASSED
Step1-PASSED Step2-PASSED Step3-PASSED Step4-PASSED - time date Fri
Nov 22 17:29:37 2013-date Fri Nov 22 17:21:43
2013; exit: 0 0 0 0 0
25.0_TTbar+TTbar+DIGI+RECO+HARVEST+ALCATT Step0-PASSED Step1-PASSED
Step2-FAILED Step3-NOTRUN Step4-NOTRUN - time date Fri Nov 22
17:43:43 2013-date Fri Nov 22 17:25:56 2013; exit: 0
0 34304 0 0
1000.0_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT
Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED Step4-PASSED -
time date Fri Nov 22 17:36:23 2013-date F
ri Nov 22 17:27:01 2013; exit: 0 0 0 0 0
1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD
Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED - time date Fri
Nov 22 17:36:04 2013-date Fri Nov 22 17:29:45 20
13; exit: 0 0 0 0
6 6 5 5 3 tests passed, 1 0 1 0 0 failed

Valentin Kuznetsov notifications@github.com ha scritto:

Hi Martin,
I am unable to reproduce a crash. I setup the same release and
performed all steps you listed, and I run on lxvoadm5 machine (still
SLC5). My area is here
/afs/cern.ch/user/v/valya/workspace/CMSSW/CMSSW_7_0_X_2013-11-22-0200/src/HLTrigger/Configuration/test
and copied log files into my public area ~valya/public/CMSSW/Tests/
I don't see a crash even though there is Errors string summary, but
I don't know which errors it refers to. Could you please have a
look. Meanwhile I'll review Particle class logic.

On Nov 22, 2013, at ,Nov 22, 11:40 AM, Martin Grunewald
notifications@github.com wrote:

To reproduce:

In CMSSW_7_0_X_2013-11-22-0200 I do:
cd src
git cms-addpkg HLTrigger/Configuration
git cms-merge-topic 1129
git cms-checkdeps -a
scram build -j 4

Go for a chat and a coffee....

cd HLTrigger/Configuration/test/
./cmsDriver.sh # this makse a bunch of cfg files ready for cmsRun.

Then execute:
cmsRun RelVal_DigiL1RawHLT_GRun_STARTUP.py >&
RelVal_DigiL1RawHLT_GRun_STARTUP.log
The above takes a GEN-SIM file from /store and runs HLT, writes an
output file w/out problems!

The crash occurs in the second step which reads in the just created
output file:
cmsRun RelVal_RECO_GRun_STARTUP.py >& RelVal_RECO_GRun_STARTUP.log

Presumably there is a persistency problem with the changes to the
Particle class, as just using it
(in the first cmsRun job above) is fine....


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub:
#1129 (comment)


This message was sent using IMP, the Internet Messaging Program.

@cmsbuild
Copy link
Contributor

Pull request #1129 was updated. @perrotta, @cmsbuild, @nclopezo, @Martin-Grunewald, @fwyzard, @vadler can you please check and sign again.

@cmsbuild
Copy link
Contributor

-1
I ran the usual tests and I found errors in the following unit tests:

---> test runtestTqafTopEventSelection had ERRORS

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/1450/summary.html

@nclopezo
Copy link
Contributor

+1
That error is already in the IB

@perrotta
Copy link
Contributor

+1

1 similar comment
@vadler
Copy link

vadler commented Nov 25, 2013

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IBs unless changes or unless it breaks tests. @ktf can you please take care of it?

ktf added a commit that referenced this pull request Nov 25, 2013
Multithreading fixes -- Thread safe changes for Particle class.
@ktf ktf merged commit a1c077a into cms-sw:CMSSW_7_0_X Nov 25, 2013
BenjaminRS pushed a commit to BenjaminRS/cmssw that referenced this pull request May 31, 2023
…v1.16

Updated correlator layer 1 e/gamma sorter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants