** 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

Reply via email to