cms-sw/cmssw — pull request #2851 by mark-grimes (2014-03-13 16:25:31+00:00)
Title: Move RecoMuon/MuonIdentification plugins

Having some framework plugins in src leads to this intermittent error:

----- Begin Fatal Exception 10-Mar-2014 00:24:11 CET-----------------------
An exception of category 'MultiplePlugins' occurred while
[0] Constructing the EventProcessor
Exception Message:
The plugin 'ME0SegmentMatcher' is found in multiple files
'"pluginRecoMuonMuonIdentificationPlugins.so"'
'"pluginTestMuonMuonIdentificationPlugins.so"'
in directory '/tmp/grimes/CMSSW_6_2_X_SLHC_2014-03-07-0200/lib/slc5_amd64_gcc472'.
The code must be changed so the plugin only appears in one plugin file. You will need to remove the macro which registers the plugin so it only appears in one of these files.
If none of these files register such a plugin, then the problem originates in a library to which all these files link.
The plugin registration must be removed from that library since plugins are not allowed in regular libraries.
----- End Fatal Exception -------------------------------------------------

ME0SegmentMatcher (and ME0MuonConverter) is in libRecoMuonMuonIdentification.so, and that is in pluginRecoMuonMuonIdentificationPlugins.so. So linking to both means it is linked to twice. Or something like that anyway.

Tested with all the normal tests, but hard to test for because the error seems to only appear in the Integration Builds.