On Mon, 2 Apr 2018, Satish Balay wrote: > On Fri, 16 Mar 2018, Satish Balay wrote: > > > On Fri, 16 Mar 2018, Matthew Knepley wrote: > > > > > On Fri, Mar 16, 2018 at 9:26 AM, Satish Balay <[email protected]> wrote: > > > > > > > On Fri, 16 Mar 2018, Matthew Knepley wrote: > > > > > > > > > This works for me. Do you want to put it in your branch, or should I > > > > check > > > > > it in? > > > > > > > > > > Matt > > > > > > > > > > diff --git a/config/BuildSystem/RDict.py b/config/BuildSystem/RDict.py > > > > > index 2dc745f..efc8b81 100755 > > > > > --- a/config/BuildSystem/RDict.py > > > > > +++ b/config/BuildSystem/RDict.py > > > > > @@ -218,7 +218,7 @@ Arg class, which wraps the usual value.''' > > > > > print > > > > > '----------------------------------------------------------- > > > > ------------' > > > > > pass > > > > > dict.__setitem__(self, key, value) > > > > > - self.save() > > > > > + self.save(force = 0) > > > > > else: > > > > > return self.send(key, value) > > > > > return > > > > > > > > How about reducing the number of times save is called - i.e try > > > > calling it only once at the end. Would that work? > > > > > > > > diff --git a/config/BuildSystem/RDict.py b/config/BuildSystem/RDict.py > > > > index 2dc745f1aa..98a2a16a29 100755 > > > > --- a/config/BuildSystem/RDict.py > > > > +++ b/config/BuildSystem/RDict.py > > > > @@ -195,7 +195,7 @@ Arg class, which wraps the usual value.''' > > > > else: > > > > self.writeLogLine('__getitem__: Setting local type for '+key) > > > > dict.__setitem__(self, key, nargs.Arg(key)) > > > > - self.save() > > > > + #self.save() > > > > self.writeLogLine('__getitem__: Setting local value for '+key) > > > > return dict.__getitem__(self, key).getValue() > > > > > > > > @@ -218,7 +218,7 @@ Arg class, which wraps the usual value.''' > > > > print '----------------------------- > > > > ------------------------------------------' > > > > pass > > > > dict.__setitem__(self, key, value) > > > > - self.save() > > > > + #self.save() > > > > else: > > > > return self.send(key, value) > > > > return > > > > @@ -232,14 +232,14 @@ Arg class, which wraps the usual value.''' > > > > dict.__setitem__(self, key, nargs.Arg(key)) > > > > dict.__getitem__(self, key).setValue(value) > > > > self.writeLogLine('__setitem__: Set value for '+key+' to > > > > '+str(dict.__getitem__(self, key))) > > > > - self.save() > > > > + #self.save() > > > > return > > > > > > > > def __delitem__(self, key): > > > > '''Checks for the key locally, and if not found consults the > > > > parent. > > > > Deletes the Arg completely.''' > > > > if dict.has_key(self, key): > > > > dict.__delitem__(self, key) > > > > - self.save() > > > > + #self.save() > > > > elif not self.parent is None: > > > > self.send(key) > > > > return > > > > @@ -248,7 +248,7 @@ Arg class, which wraps the usual value.''' > > > > '''Clears both the local and parent dictionaries''' > > > > if dict.__len__(self): > > > > dict.clear(self) > > > > - self.save() > > > > + #self.save() > > > > if not self.parent is None: > > > > self.send() > > > > return > > > > > > > > My simple 'configure --prefix && make && make install' test appears to > > > > work with the above change - but don't know if the random crashes in > > > > nightlybuilds will come back or not.. > > > > > > > > > I do not want to do that until its rewritten. There is already a save call > > > at the end which was not working. > > > > I suspect the issue is with the skip timmer with save(force=0) sometimes > > interfering with the safe(force=1) call at the end. > > > > Hence my attempt to eliminate save(force=0) calls.. > > We haven't yet resolved this issue. I'd like to get a fix in which won't > bring back the random Rdict.db errors..
I added my patch to balay/fix-slow-help and merged to next for testing.. Satish
