VM

Comment 6 for bug 731752

Revision history for this message
Uday Reddy (reddyuday) wrote :

I have done some work on threads now, and I believe I may have fixed the common integrity check failures. Revision 1174.

Kyle Jones allowed cycles in thread trees (which come from bad headers in email messages), but broke the cycles one way or the other when he traversed the trees to calculate thread ancestry chains. I think this gave rise to inconsistent threading information because different orders of building the ancestry chains might break the cycles in different ways.

Following Jamie Zawinski's recommendation, I am now avoiding cycles in thread trees. So, as long as a particular threads database is active, it would have the cycles resolved in exactly the same way. Thanks to the GNU bug tracker which provided me an example of bad headers, allowing me to investigate and debug this problem.

So, please try it out on all your bad folders, setting vm-thread-debug to t. If the thread integrity check fails, you will get a debug entry point, and you would need to send me the backtrace. (Better to send it to me by email. Cutting and pasting backtraces into the Launchpad web forms doesn't work right.)