-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
SoA layout with std::array type column crashes PoolOutputModule #40982
Comments
A new Issue was created by @thomreis Thomas Reis. @Dr15Jones, @perrotta, @dpiparo, @rappoccio, @makortel, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign heterogeneous |
assign core |
New categories assigned: core @Dr15Jones,@smuzaffar,@makortel you have been requested to review this Pull request/Issue and eventually sign? Thanks |
@pcanal Could you take a look? |
#43076 provides a workaround |
When a PortableCollection of an SoA with a layout that contains a column of
std::array
type is written to an EDM ROOT file thePoolOutputModule
crashes (Observed in CMSSW_13_0_0_pre4).This problem might be related to this ROOT issue root-project/root#12007 . ROOT seems to not support branchs of type
std::array<T, N>[nElem]
.Below is an example of a layout that is problematic. Note that the
using
is needed to not confuse the macro that interprets the layout with commas.A workaround that avoids the crash is to wrap the
std::array
in astruct
and use that as the column type. In addition thestruct
needs to be declared in theclasses_def.xml
file.Below is an example of a working layout with the array inside the struct and some functions to make this more transparent when accessing the array data.
The text was updated successfully, but these errors were encountered: