On Sun, 14 Mar 2004 11:24:15 +0100 (Romance Standard Time) Xavier Nodet <[EMAIL 
PROTECTED]> wrote:

XN> >  I've got a problem with threading: I can't open my Junk folder with
XN> >  threading enabled any more, the program crashes in CopyTree().
XN> 
XN> Except for a circular data structure, where the same node appears
XN> as a children of itself, I don't see what could give such crash.

 The data structure is probably circular as, after debugging a bit further, I
realized that it did die with "stack overflow" -- but there was an exception
handler which masked it.

 Unfortunately, the stack is expectedly useless: I see only endless calls to
ThreadContainer::flush() with the same first parameter. Looking at the values
of the nodes I still don't understand how does it happen, but maybe the loop
is too big for me to detect it manually? Is there any code to detect such
loops in the threading algorithm? If not, there should be...

XN> The CopyTree method seems to be only used in case of server-side
XN> threading. Maybe there is a problem is this code (which I never looked
XN> at).

 No, it also crashes if I disable server side threading.

XN> >  Anyhow, I've decided that instead of rewriting CopyTree() in a non-recursive
XN> > way I'd rather get rid of it at all. Indeed, the idea of copying an O(N)
XN> > amount of data (where N == number of messages) doesn't appeal to me as I'd
XN> > like Mahogany to be scaleable. So I now allocate THREADNODEs everywhere with
XN> > cclient fs_get() function which allows me to avoid copying completely.
XN> 
XN> Fine. But please keep in mind that the threading algorithm itself is
XN> still, even if not as efficient as possible, much quicker than e.g. accessing
XN> the headers themselves in an MBX file... At least this is the bahavior I
XN> observe here. 

 Sorry, I'm afraid I don't understand this -- nothing will change with respect
to accessing the headers, unless I'm missing something?

 Thanks,
VZ



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Mahogany-Developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mahogany-developers

Reply via email to