Skip to content
Snippets Groups Projects
Forked from atlas / athena
Source project has a limited visibility.
  • scott snyder's avatar
    3c4f584b
    PyUtils: Fix length inconsistency in SetSize call. · 3c4f584b
    scott snyder authored
    The pythonization of TFile::root was calling the SetSize method
    on a PyROOT buffer object.  The argument that SetSize takes is the
    number of elements in the buffer, where the size of each element
    depends on how the buffer was created.  Here, however, we were
    passing to SetSize a number of bytes.
    
    The buffer elements we were seeing were void*, which have size 8.
    So the buffer size was getting misset by a factor of 8.
    This was leading to a crash in the input file peeker.
    
    This crash was however only observed in the muRunData test of TrigUpgradeTest,
    and only when it was run with --stdcmalloc and MALLOC_CHECK_=3.
    It's a bit a mystery why this apparently long-standing bug hasn't 
    caused problems before.
    
    
    
    Former-commit-id: d91c844449735e3ec40e458394baae57b9670fb9
    3c4f584b
    History
    PyUtils: Fix length inconsistency in SetSize call.
    scott snyder authored
    The pythonization of TFile::root was calling the SetSize method
    on a PyROOT buffer object.  The argument that SetSize takes is the
    number of elements in the buffer, where the size of each element
    depends on how the buffer was created.  Here, however, we were
    passing to SetSize a number of bytes.
    
    The buffer elements we were seeing were void*, which have size 8.
    So the buffer size was getting misset by a factor of 8.
    This was leading to a crash in the input file peeker.
    
    This crash was however only observed in the muRunData test of TrigUpgradeTest,
    and only when it was run with --stdcmalloc and MALLOC_CHECK_=3.
    It's a bit a mystery why this apparently long-standing bug hasn't 
    caused problems before.
    
    
    
    Former-commit-id: d91c844449735e3ec40e458394baae57b9670fb9
Code owners
Assign users and groups as approvers for specific file changes. Learn more.