** Description changed: [Impact] When the apt-xapian-index is already up to date, and under certain conditions, update-apt-xapian-index throws an exception. The index /var/lib/apt-xapian-index is up to date Exception ignored in: <bound method ServerProgress.__del__ of <axi.indexer.ServerProgress object at 0x7f04a5ae4c18>> Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/axi/indexer.py", line 306, in __del__ + File "/usr/lib/python3/dist-packages/axi/indexer.py", line 306, in __del__ AttributeError: 'NoneType' object has no attribute 'unlink' This happens more frequently when it is run with nice and ionice, which is the case in the cron.weekly/apt-xapian-index cron job. This is not severe, since the exception is thrown on exit, and depends on the way python3 cleans up the environment. Anyway, this leaves a socket file behind, and creates noise in cron logs (see comment #2). - The patch keeps a reference to the os.unlink function in the - ServerProgress instance, such that it has the same lifespan. + The patch uses a weakref finalizer in order to remove the socket file. [Test Case] * `sudo nice -n 19 ionice -c 3 update-apt-xapian-index --quiet` * may need to run 4 times or more * no exception is thrown [Regression Potential] - * If the os module is unloaded anyway and self.os_unlink becomes - unreachable, we get the same exception again. + * If the os module is unloaded anyway and os.unlink becomes unreachable, we get the same exception again. + * We import the `weakref` module, which was not used before. [Other Info] - * There is probably a more "pythonic" way to fix this. For instance, - avoiding __del__. That requires a larger change. + * This description was updated to reflect the changes in the behavior of + the patch that was released in Zesty. It still needs sponsoring for + Xenial.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1652641 Title: crash in indexer.py, AttributeError: 'NoneType' object has no attribute 'unlink' To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt-xapian-index/+bug/1652641/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs