Using dumbdbm for simple testing, I occasionally get the following error: Exception exceptions.AttributeError: "'NoneType' object has no attribute 'error' " in <bound method _Database.__del__ of <dumbdbm._Database instance at 0x008B356 8>> ignored I've tracked it down to a problem with the releasing of the reference to _os during __del__, which then calls _commit. _commit proceeds to use the _os, which is given a value of None... blamo...
Logged In: YES user_id=31435 I didn't pay attention to it, but it is an obvious shutdown race. I'll fix it. Tim Stone (the OP) is a contributor to the spambayes project, and it turns out this is damned important in spambayes, because it appears the spambayes code never calls the dumbdbm.close() method explicitly. Something else I learned from the dumbdbm review is that a dumbdbm's disk files routinely get out of synch with each other, and rely on someone calling close() or __del__() to get them back in synch. If a .bak file doesn't already exist, though, this shutdown race can prevent __del__() from synch'ing the files. Boosted priority.