On Wed, 13 Jun 2007, Brad Cavanagh wrote:
> ==13509== Open file descriptor 29:
> /home/bradc/data/oracdr/reduced/uist/20070608/adam_13501/GLOBAL.sdf
We got this to come up because we disabled the hds exit handler (Which
usually closes all these) on the basis that valgrind will never report
them if the exit handler runs but what's relevant to oracdr is the state
following an obey not the state following the A-task shutdown.
It would seem that if, for performance reasons, the parameter files are
not closed after an action then if two monoliths modify GLOBAL.sdf that
the first monolith will start to get confued. The private parameter files
don't cause a problem because no-one else is writing to them.
pcs/subpar is a bit convoluted and whilst it looks like the locator is
being annulled and the file is being closed, reference counting is keeping
it open (via lots of linking and cloning) and it's not clear after a
simple analysis which particular locator is keeping the parameter file
open. Is there a subpar call that can be issued for A-tasks at the end of
the action to close all the parameter files?
sup_deact seems to imply that GLOBAL is opened and closed when parameters
are written at the end, but it makes no statement concerning GLOBAL.sdf
being opened for read earlier.
Searching for 'GLOBAL' indicates that it's hard-wired into sup_deact.f and
pcn_setpp.f/setvp.f (which uses that to indicate SUBPAR__GLOBAL).
--
Tim Jenness
JAC software
http://www.jach.hawaii.edu/~timj
_______________________________________________
Stardev mailing list
[log in to unmask]
http://mailman.jach.hawaii.edu/mailman/listinfo/stardev
|