VM

thread roots and thread operations

Bug #747159 reported by Uday Reddy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
VM
Fix Committed
Low
Arik

Bug Description

Applying a VM operation to the root of a thread, makes it a thread operation. So it is important for thread roots to be correctly recognized. The identification of thread roots needs to be tested fully.

For instance, if all the messages in a thread are deleted & expunged and the root is left on its own, it shouldn't be counted as a thread root any more.

Tags: 8.2 threads
Uday Reddy (reddyuday)
description: updated
Revision history for this message
Arik (akwm) wrote : Re: [Bug 747159] [NEW] thread roots and thread operations

I'm just wondering what is occurring related to this report that seems
strange. I certainly agree with the importance of recognizing threads
roots as such but I have not seen any weird behavior with stand alone
threads or anything. Shouldn't the operations naturally just occur
with the root in such a case? And if the original root is deleted the
second in line becomes the root, behavior which is exhibited at
present in VM.

Or maybe I'm reading this wrong, it's a call to be on the lookout for
strange things?

-Arik

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

Your original method for getting thread-folding information was by
analyzing the Summary buffer. I have now added a folded-flag in the
message attributes and changed it to get the information from there.
The new method should be more reliable in the long run. But we need
to get the bugs out first.

In the example I ran into, there was a thread that looked like:

  + 21+1 ...
      22 ...

I deleted and expunged 22, then tried to save 21. It turns out that
the folded-flag of 21 is still true. So, VM thinks that it is still
the root of a thread. I have vm-enable-thread-operations set to 'ask.
So, VM asks whether it should save all the messages in the thread
(even though there is only one message in the thread now).

I did a quick fix to `vm-thread-root-p' by saying that a message
should be regarded as a root only if it has more than one message in
the thread.

But perhaps the folded-flag should be set to nil when the rest of its
thread gets expunged. I haven't come to a resolution on that issue
yet.

This bug report merely says that we should test out all the
implications of moving to the folded-flag so that the we can get the
bugs out.

Cheers,
Uday

Revision history for this message
Arik (akwm) wrote :

Thanks for the clarification, will do some thinking about this and be
on the look out for other strangeness.

Cheers,
-Arik

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

In virtual folders, multiple copies of messages were getting added to thread-subtrees (and thread-symbols), which resulted in individual messages getting counted as thread-roots. Fixed in revision 1195.

Changed in vm:
status: Triaged → In Progress
milestone: 8.2.1 → 8.2.0
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.0 → 8.2.1
Revision history for this message
Uday Reddy (reddyuday) wrote :

Things seem to be working ok now. So, we will close this bug report.

Changed in vm:
status: In Progress → Fix Released
milestone: 8.2.90a → 8.2.0b
Revision history for this message
Uday Reddy (reddyuday) wrote :

Revision 1312 has another bug fix. We will keep this bug report open for a while.

Changed in vm:
status: Fix Released → In Progress
milestone: 8.2.0b → 8.2.0
Uday Reddy (reddyuday)
Changed in vm:
status: In Progress → Fix Committed
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.0 → 8.2.90a
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.90a → 8.2.89a
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.89a → 8.2.0b1
no longer affects: vm/8.2.x
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.1a → 8.2.0
Uday Reddy (reddyuday)
Changed in vm:
milestone: 8.2.1a → 8.2.90a
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.