Re: NTLK Fwd: Re: Memory Loss (fwd)

From: Victor Rehorst (
Date: Tue Jul 04 2000 - 13:00:44 CDT

Good news from Simon Bell about the SM 4.0 memory loss! But please don't
but him for SM 4.1 - I'm sure it'll be released "when it's done."

Victor Rehorst - |
Secretary, CASU & CPES College Governments, University of Guelph, Canada
Newton Resources: Ethernet, Mailing List Archive, Newton Cage File Archive,
~~~~~~~~~~~~~~~~ FAQ, Documentation, Books, Projects and fun, too!

---------- Forwarded message ----------
Date: Tue, 04 Jul 2000 18:19:48 +0100
From: Simon Bell <>
To: Victor Rehorst <>
Subject: Re: NTLK Fwd: Re: Memory Loss


I believe I've fixed the memory loss problem. The technical story is:

Incoming message text is stored in a VBO of class 'string. When
filtering is on, a message is read in two passes - once for just the
headers and again for the full message (if necessary). I was using a
BinaryMunger(msg.text, 0, nil, "", 0, nil) function to clear the message
text after the first pass. This had the correct effect of reducing the
msg.text size (as reported by TrueSize(msg, 'string)), but an unexpected
side-effect of increasing used store size by about 1000 bytes (as
reported by :GetDefaultOwnerStore():UsedSize()). I couldn't find any
correlation between the size of this loss and the message/header size.
My solution is to create an entirely new VBO for the second pass and let
the old one become unreferenced and eventually garbage collected. This
does not seem to be a problem.

I haven't seen this loss described in any of the literature as a
potential problem; presumably it could affect any application but has
shown up in SimpleMail because of the sheer volume of message items it
creates. Or maybe there's something obvious I've overlooked.

There are a few other additions I need to tidy up before I make a
preliminary SM4.1 available for testing - just a couple more days.

BTW, the 'File read items in' preference is
userConfiguration.|mail:Simple|.inboxFiling. It is the symbol of the
folder in which to file, or nil for Unfiled. I suppose it's possible
this preference may not exist, in which case filing may not take place.
Something for you to experiment with?


NewtonTalk brought to you by:

EVOTE.COM -- the ESPN of politics on the Internet! All the players, all the news, and the hottest analysis and features (plus 'toons!) anywhere.... visit today!

Need Subscribe/Unsubscribe info?

Visit the NewtonTalk section at

This archive was generated by hypermail 2b29 : Tue Aug 01 2000 - 06:50:08 CDT