[ET Trac] [Einstein Toolkit] #1430: out-of-bounds write access checking in Cactus

Einstein Toolkit trac-noreply at einsteintoolkit.org
Wed Sep 11 19:00:18 CDT 2013

#1430: out-of-bounds write access checking in Cactus
  Reporter:  rhaas        |       Owner:                     
      Type:  enhancement  |      Status:  new                
  Priority:  minor        |   Milestone:                     
 Component:  Other        |     Version:  development version
Resolution:               |    Keywords:                     

Comment (by rhaas):

 I have a proof-of-concept implementation that implements a canary based
 electric fence around CarpetLib's mem objects. These are used for grid
 functions, scalars and arrays. The current code will check after each
 scheduled routine if any (write) access out-of-bounds happened in any of
 the variables accessible through CCTK_VarDataPtr. This is mostly ok though
 one can construct situations (involving Carpet's ENTER_XXX_MODE functions
 etc) where eg a GLOBAL routine accesses grid functions which is currently
 not caught.

 The functionality is activated by setting CarpetLibs::electric_fence =
 Right now the implementation passes the test suite and there is a
 (designed to fail) test in CarpetExtra/CarpetEFenceTest.

 Most likely the interface will change in the future so that the
 check_fence function becomes a member of ggf (which is CarpetLib's
 representation of a grid function) rather than the data objects so that
 the user can just call ggf->check_fence(warning_callback) passing in a
 callback routine rather than iterating over all timelevels/maps/whatnot of
 each variable.

 The code is in a branch on bitbucket:
 https://bitbucket.org/rhaas80/carpet/commits/branch/fence You can click on
 the "Compare" button near the upper right to see the differences to (my)
 current Carpet master branch. Note that this branch will be rebased often.

 Comments welcome.

Ticket URL: <https://trac.einsteintoolkit.org/ticket/1430#comment:3>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit

More information about the Trac mailing list