cmssw: Multiple failures in NONLTO, CLANG and ASAN Unit Tests and RelVals due to `PluginNotFound`
Hello,
There are multiple failures in NONLTO, CLANG and ASAN IBs (both in Unit Tests and RelVals) in lastest IBs (CMSSW_14_1_[FLAVOR]_X_2024-04-22-2300) reporting:
===== Test "testROCmTestDeviceAdditionModule" ====
----- Begin Fatal Exception 23-Apr-2024 12:18:10 CEST-----------------------
An exception of category 'PluginNotFound' occurred while
[0] Initializing message logger
Exception Message:
Unable to find plugin 'SingleThreadMSPresence' because the category 'CMS EDM Framework Presence' has no known plugins
----- End Fatal Exception -------------------------------------------------
---> test testROCmTestDeviceAdditionModule had ERRORS
TestTime:0
^^^^ End Test testROCmTestDeviceAdditionModule ^^^^
There are other variants of the exception, for example:
CondCore/SiPixelPlugins:
===== Test "testPixelPayloadInspector" ====
terminate called after throwing an instance of 'cms::Exception'
what(): An exception of category 'PluginNotFound' occurred.
Exception Message:
Unable to find plugin 'SiteLocalConfigService' because the category 'CMS EDM Framework Service' has no known plugins
CondCore/CondDB:
===== Test "testConditionDatabase_1" ====
> Connecting with db in sqlite_file:cms_conditions_1.db
ERROR: An exception of category 'PluginNotFound' occurred.
Exception Message:
Unable to find plugin 'COND/Services/RelationalAuthenticationService' because the category 'CoralService' has no known plugins
I am not sure if it is related, but we had ROCm update yesterday in #44777 and ROCm device builds fine (See log).
However, there was a similar issue in the past reported at cmssw#40680 and related to a ROCm update in which the missing plugins were not properly registered in the .edmplugincache file.
Thanks, Andrea
About this issue
- Original URL
- State: open
- Created 2 months ago
- Comments: 21 (21 by maintainers)
For LTO builds ( where dd4hep is also build with lto flags)
libDD4hepGaudiPluginMgr.solibrary does not contain this. It only hasSo may be that is why LTO enabled IBs are not failing.
https://github.com/cms-sw/cmssw/pull/44838 fixes
edmPluginRefreshto return a non-zero exit code if the child process fails.Disassembling things, the instructions of
~path()inrocprofiler-register.so.0.somatch to the instructions inlibstdc++fs.afrom GCC 8. The instructions inlibFWCorePluginManager.somatch to to the instructions inlibDD4hepGaudiPluginMgr.so. The instructions in the GCC8rocprofiler-register.so.0.so/libstdc++fs.aare (very) different from the instructions in the GCC12libFWCorePluginManager.so/libDD4hepGaudiPluginMgr.so.It seems like we have an ODR violation from trying to mix libraries that were built with (very) different versions of libstdc++, and thus if we need to keep the rocprofiler, we’d have to build it ourselves.
assign heterogeneous