New submission from Ilya <libbkmz....@gmail.com>:
I'm using my own implementation of the memoize by shelve module. In the attachment, there are 2 simple test cases which pass but the console there are a lot of messages like that: Exception ignored in: <function Shelf.__del__ at 0x0000023202F363A0> Traceback (most recent call last): File "C:\Miniconda2\envs\38_common\lib\shelve.py", line 162, in __del__ self.close() File "C:\Miniconda2\envs\38_common\lib\shelve.py", line 144, in close self.sync() File "C:\Miniconda2\envs\38_common\lib\shelve.py", line 172, in sync self.dict.sync() File "C:\Miniconda2\envs\38_common\lib\dbm\dumb.py", line 129, in _commit with self._io.open(self._dirfile, 'w', encoding="Latin-1") as f: PermissionError: [Errno 13] Permission denied: 'C:\\project\\tests\\test_memoize_tmp_t5tai08p\\memoize_test_file.dat.dir' Exception ignored in: <function _Database.close at 0x0000023202EF9040> Traceback (most recent call last): File "C:\Miniconda2\envs\38_common\lib\dbm\dumb.py", line 274, in close self._commit() File "C:\Miniconda2\envs\38_common\lib\dbm\dumb.py", line 129, in _commit with self._io.open(self._dirfile, 'w', encoding="Latin-1") as f: PermissionError: [Errno 13] Permission denied: 'C:\\project\\tests\\test_memoize_tmp_t5tai08p\\memoize_test_file.dat.dir' Basically, the main issue can be explained like that - Python dbm.dumb._Database should maintain self._modified the attribute in the right way(set it to False) after the _commit method. Later I will try to make changes in the dbm.dumb module and run Python internal tests for that modification to see any regression, if not will add PR here. ---------- components: Library (Lib) files: test_python_shelve_issue.py messages: 359242 nosy: libbkmz priority: normal severity: normal status: open title: Python shelve __del__ ignored exception type: enhancement versions: Python 3.8 Added file: https://bugs.python.org/file48826/test_python_shelve_issue.py _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39202> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com