T568-lib-thread is non-deterministic

Subject: T568-lib-thread is non-deterministic

Date: Thu, 14 Jan 2021 15:59:20 +0000

To: notmuch@notmuchmail.org

Cc: Puck Meerburg

From: Alyssa Ross

T568-lib-thread assums that there will always be a thread with ID
thread:0000000000000009, but this turns out not to be the case.

This was reported to us in Nixpkgs[1], where it caused builds of our
notmuch package to intermittently fail, and I was able to
(intermittently) reproduce.  We are going to work around this problem
for now by disabling T568.  I can provide a Xapian DB generated by this
test with no thread with that ID if that's helpful.  I believe this also
explains this report previously sent to the Notmuch mailing list[2].

Note on reproducing: I found that it often would succeed repeatedly
many, many times before failing, and then failing consistently for a
while.  My co-conspirator Puck (CCed) thinks this might be due to how
directory order works in ZFS (which just happens to be the filesystem we
are using).

[1]: https://github.com/NixOS/nixpkgs/issues/109092
[2]: https://nmbug.notmuchmail.org/nmweb/show/874ko8trhk.fsf%40tethera.net
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org