[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 =
yes.
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