Treiber Stack is a classical example of incorrect scalable lock-free stack. When a value is read twice, has the same value for both reads, and “value is the same” is used to indicate “nothing has changed”. It then use a compare-and-swap (CAS) atomic instruction to update the stack. It suffers from the ABA problem. The value can be changed twice between the two reads.
Thunderbird is my favorite email client. It works perfect with a IMAP Server. The only inconvenience is it do not have a build-in solution to sync message filters between computers, nor does it has an actively maintained filter import/export plugin. So far, the best solutions I find is to use Dropbox to sync the message filter rules.