Skip to content

frameCPP returning wrong 'size()' for FrVectContainer inside FrSimData

A user has reported a segfault when trying to read data from a manually-created GWF file. I can reproduce a failure (not segfault, but something more concrete) on CIT as follows:

>>> from LDAStools import frameCPP
>>> stream = frameCPP.IFrameFStream('/home/tyson/O3/triggers/GW190425/L1_glitch_subtraction_C00/L-L1_HOFT_C00_T1700406_v3-1240211456-4096.gwf')
>>> data = stream.ReadFrSimData(0, 'L1:GDS-CALIB_STRAIN_T1700406_v3')
>>> print(data.data.size())
18446735326231896718

FrDump, framecpp_verify, and framecpp_dump_objects all read this file correctly, and seem to suggest a single FrVect within the FrSimData structure. So, I presume that there's an issue with the SWIG bindings to the FrSimData structure, or similar?