We continued to work on NSS 3.1. This week Nelson
checked in numerous enhancements to the MPI bignum
package, including new functions, bug fixes, and
performance optimizations. Ian completed and checked
in the the ARCFour and PRNG codes.
We resolved 9 bugs last week (Bugzilla
We have no dogfood+ bugs and 5 nsbeta2+ bugs (jst (2), nisheeth (3))
This report was done in Netscape 6's Composer!
- Peter Van der Beken (Peter.Vanderbeken@pandora.be) has XSL transforms working in his local Mozilla Mac Build. I'm in the middle of code reviewing his patches.
- Nisheeth will attend the XML Query Face to Face meeting in Seattle on July 25th and 26th.
- Tom is on sabbatical till August 25th.
Harish Dhurvasula (harishd)
- 45358 - Helped, Gagan, in getting more info. on this beta2+ bug
- Attended O'Reilly conference on Wednesday and Thursday
- Triaged Clayton's list and Rickg's list as much as I could ( ~ 6 bugs )
- Came across a case where document.write() caused the browser to crash
in strict dtd. Debugged it and understood the reason for the crash.
- Working on a plan to report HTML errors for Strict DTD.
Heikki Toivonen (heikki)
- Triaged the bug lists of joki and myself.
- Was able to resolve 42827 (INVALID), 45757 (INVALID), 44567 (WORKSFORME)
- Familiarized myself with the W3C specs, especially DOM events
- Starting to get the hang of Mozilla's implementation of DOM events
- Installed Linux on my second computer so now I can take a look at Linux bugs as well.
Johnny Stenback (jst)
- Sheriffed the tree on Thursday
- Worked on triaging new (or reassigned) bugs and also fixed some of those (in my tree)
- Worked on nsbeta2+ bug 45019
- Talked with Rick Potts about taking over some of his nsbeta2+ (and non nsbeta2+ too) bugs
Nisheeth Ranjan (nisheeth)
- Started code reviewing Peter Van der Beken's patches that enable
XSL transforms within Mozilla. I have a couple of emails from Peter that
answer my initial questions sitting in my inbox that I hope to get to early
- Posted Chris Waterson's instructions on how to run the layout regression
tests on mozilla.org (http://www.mozilla.org/newlayout/regress.html).
- Took session history related bugs from Rick Potts.
- Sheriffed the tree on Thursday night.
- Attended Managing@AOL and Compensation@AOL classes on Thursday.
- Attended the XML Query Working Group teleconference on Wednesday.
Plans for next week
- Harish Dhurvasula (harishd)
Ordering based on priority
- Reach out to help fixing beta2+ bugs ( most probably Ruslan's).
- Get my bug list under control ( have to do this desperately ).
- Make sure that SCRIPTs work properly in strict DTD ( very annoying ).
- Enable NOSCRIPT for strict DTD ( a definite candidate for beta3 ).
- Enable reporting errors for strict DTD ( will be cool to have ).
- Heikki Toivonen (heikki)
- Start fixing DOM Event bugs.
- Johnny Stenback (jst)
- Fixing my nsbeta2+ bugs (the ones that got reassigned to me this week)
- Continuing working on my untriaged bugs.
- Nisheeth Ranjan (nisheeth)
- Work on nsbeta2+ bugs.
- Attend the XML Query WG face to face meeting on Tuesday and Wednesday.
5 nsbeta2+ bugs up from 1 nsbeta2+ bug last week. We pulled most
of the new bugs from Rick Pott's nsbeta2+ bug list in an effort to unburden
him before he goes on vacation next week.
28572 (Onunload fires when link opens in different frame or window) - Pulled from Rick's list. ETA 7/27
30627 (Frameset onload handler must fire after child documents) - Pulled from Rick's list. ETA 7/25
43472 (Crash on exit in optimized full circle enabled builds)
- As of Friday evening, this is finally reproducable in a debug build.
If you open a file in a new window and then quit the app, the crash on
exit occurs. Now the debugging can begin...
45663 (Crash reloading page after switching to classic theme) - Pulled from Rick's list on Friday. Not looked at in detail yet.
The XPToolkit team resolved 39 bugs in the last week, fixing 20 of these, including 11 '+'. For details,
Mike Pinkerton (pinkertoni)
- Checked in some patches for pnunn and saari
- Helped sfraser with mac GFX problems (bug 42289)
- Aided valeski in his webshell -> docshell landing (45723)
- Fixed some small beta2+ crashers, see our list
Chris Saari (saari)
- Fixed 2 bugs, see our list
Daniel Matejka (danm):
- Fixed 3 bugs, see our list
Stuart Parmenter (pavlov):
- Fixed 45439 [nsbeta2+]crash, nsbeta3 Crash when dbl click in urlbar; clipboard problem
David Hyatt (hyatt):
- Helped bryner with selection/current item issues in tree
- Helped waterson with RDF/XUL template issue
Brian Ryner (bryner)
Fixed 9 bugs, including linux filepicker bug with absolute paths (blocked dogfood bug 45986)
- Gary Frattarola has decided that Netscape was not a good fit for him,
and resigned. We're sorry to see him go, but wish him well wherever he
- Fix new bugs as they get the '+'.
- Help out anywhere possible.
- Get nsbeta3 bug lists triaged.
- 39655 [nsbeta2+] 7/24nsbeta2, nsbeta3Switch folder after resize msg pane hides header envelope un?
- forward merge joki's changes
- 45951 [nsbeta2+]nsbeta2Installing profile chrome hides global chrome.
- 2 beta stoppers, both shown as priorities above. Load
balanced as much as possible ;-)
- Stuart Parmenter was away at a Linux developers conference most of this past week, returning Monday.
- Dan Rosen starts as a regular full-time XPToolkit engineer on Monday!
- Eric Vaughan will be on vacation for the next month. David Hyatt
will be the point of contact for covering box, grid and other stuff Eric
Several bug fixes. Almost zaro with nsbeta2+
Fixed the SSL connect problem!
gagan attended the Open Source Conference.
Fixed the SSL Connect and the Jar protocol nsbeta2+ bugs.
Fixed 38244, 46091, 46095
Working on 40084
bug#30852: [nsbeta2+] closed/fixed : found good fix for view-images too!
cleaned up code for review. got review from Neeti.
bug#44781: marked FUTURE. cmyk support for jpg. enhancement.
bug#40916: marked as dupe of 36694.
Current Bug Work: bug# 46032 : [nsbeta2+] fix for 30852 broke printing.
Need to add view-source img load attribute when we have a printing context.
bug# 41187: Communicator 4.x names the file "gopher-sound.gif" but
mozilla names it "gopher-audio.gif". Users are upset that they need to
change their references. If I copy gopher-audio.gif to gopher-sound.gif,
then we will have both. The major work is changing build and install scripts.
I have it all ready except for the mac build scripts and the xpinstall
bug#46049: [probably will be nsbeta2+] fix for 30852 puts added channel
load attribute on loadgroup.
bug# 40084: determined how to reproduce crash. Documented for Neeti
in bug report.
attended the Open Source Conference.
wrote a document on proxy auto config (will move it to mozilla.org soon)
- We have 1 dogfood + bug-- Cache does not store latest value of pages. This
seems to have been reopened though it works for us. We are investigating
whether this is indeed still a valid bug.
- We have 7 nsbeta2+ bugs. 3 of which should be fixed tonite.
nsbeta2+ bug count down to 1 for the group!
Jar file packaging is getting close.
calls, bringing up first window.
Down to zarro [nsbeta2+] boogs. Almost. Fixed two [nsbeta2+] plugin bugs.
Implemented "XPCOM plugin" loading mechanism to unblock external developers.
Pending review from av, probably be checked in today or Monday.
Started working on nsbeta3 stuff. Have a couple of fixes queued up and
ready to go for next week.
Helped hyatt get the XUL rewrite of his website working.
Bug fixing and cleanup in the XML Extras component.
Worked with harishd and scc to come up with a proposed solution for parser
memory usage related to tokens and text data. Harish will make parser tokens
arena allocated. Scott is working on a segmented string class which will
also allow substrings to point directly into its buffers.
Continued work on the API Review for our embedding API.
Spent a lot of time this week discussing web application model ideas with
people inside and outside CPD.
changed for 1.5, as well as errors in corrected text.
Led sessions about and wrote summary of last week's Microsoft PDC events.
Installed a clean Windows 2000 build on my PC, which is needed to look
at the PDC cd's. Still reinstalling all of my PC applications, which
were wiped out by the clean install.
no status (has left for 3 week vacation)
Fixed misc. bugs. One notable bug was a perf bug in JS that I discovered.
Adding a small stack based buffer saved us over 20,000 malloc/free call
pairs in getting the first window up. This is about 10% of those calls.
No footprint gains, unfortunately.
Started helping on vidur's web applications stuff.
Working with dprice on jar file packaging.
Fixing status notifications from necko. Moving string bundle access/creation
out of necko and into caller. Hope to check in today. (bugs 42107, 40506)
Spent some time trying to get the zip packaging code going on the Mac.
Found a bug and reported it to the author. Looking at a workaround now.
Jar file manifests are done save for skins. Need to track down problem
starting the browser because it can't load the overlay files correctly.
Scott MacGregor for getting WebMail integration up off the floor (again)
- still waiting on AOL to enable access...
Thanks to everyone who triaged their own bug list! (And special thanks
to David for covering Seth's and Jeff's bugs while they're away)
Large number of beta3 nominees...
Vacations & Sabbaticals!
Closing out Activation bugs
Varada has kept the CCK builds working.
I've written a tutorial on finding leaks of XPCOM objects. It's an
annotated list of the steps I took to find a leak (in a roundabout way,
for demonstration). I explain how I use the refcount balancer,
including the new nsCOMPtr tools, and also quickly describe
If there are any ways it can be improved, please let me know.
- Parser token and string usage
Description: The parser currently heap allocates small CToken
instances and keeps them on a recycler list "for performance reasons".
The recycler list is currently unbounded in size. Text tokens also use
nsStrings to store copies of their text data - also heap allocated. The
overall memory usage shows up high in bloatblame logs. The working set
memory usage also stays pretty high because of the unbounded token recycler.
Module owner: firstname.lastname@example.org
Task owner: email@example.com,
Status: Harish is looking at arena allocating the token objects.
Scott is working on a segmented string implementation which can deal with
substrings that share the underlying buffer for the token strings.
Description: Currently each DocShell has a script context and
script global object associated with it. For each script global object,
in the shell. This redundancy has both performance and bloat repercussions.
The thought is that we might be able to have "super global" object on which
the core classes are defined. This would be the JS prototype of the per
shell script global.
Module owner: firstname.lastname@example.org
Task owner: email@example.com,
Status: JBand to determine the memory used by the core classes.
JBand, Vidur and Johnny to determine what could break with a super global.
- Image Library
Description: We have anecdotal information that the image memory
cache (not the network memory cache) is not being hit very often. We also
don't know if the size of the cache is bounded and if it a memory flush
Module owner: firstname.lastname@example.org
Task owner: email@example.com
Status: Syd to work with Pam to analyze image memory cache usage
and size limits.
- CSS Loader
Description: Analysis from firstname.lastname@example.org shows that we
are loading the same CSS files from disk at startup time redundantly. The
Loader should be caching compiled CSS style sheets so that we don't
hit the disk. Chris' suspicion is that we aren't hitting the cache for
@imported stylesheets. Why are we loading the CSS files multiple times?
If the cache does exist, is it bounded? It needs to be a memory flush listener.
Module owner: email@example.com,
Task owner: firstname.lastname@example.org
Status: Pierre to investigate why we are loading the CSS files
multiple times and not hitting the CSS Loader cache.
- When to flush memory
Description: When should the memory flushers be run? The current
thinking is to have a combination of a timer and an IsLowMemory predicate
(requires hooking into malloc/free, new/delete for each platform) to determine
when to run them.
Task owner: email@example.com,
Status: Wade to investigate implementing the IsLowMemory perdicate.
- .xpt file loading
Description: Currently we're loading more type library information
than we necessarily use because of the way xpt files are created as part
of the module build process. Better factoring of the xpt files could result
in less loading at startup time and less memory usage. Also, the type library
info needs to be a memory flush listener.
Module owner: firstname.lastname@example.org,
Task owner: email@example.com
Status: JBand to investigate either better factoring of typelibs
in xpt files or the idea of putting all of the individual small xpt files
into a single zip file.
- Networking memory/disk cache
Description: We have anecdotal information that we're not hitting
the networking memory/disk caches that often. We need to do analysis of
cache hit rates.
Module owner: firstname.lastname@example.org
Task owner: email@example.com
Status: Gagan and Neeti to do analysis
- Component registry loading
Description: We load and inflate the component registry at startup
time. We've heard anecdotally that the in-memory cost of the component
registry is 1-3 megs. This hit could become worse if/when we implement
RayW's new scheme for prog IDs. Need to see if we can use a better scheme
to reduce bloat.
Module owner: firstname.lastname@example.org
Task owner: email@example.com,
Status: Chris and Doug to do analysis of memory usage so we
have real numbers.
- String bundles
used by string bundle hashtables have showed up fairly high on the bloatblame
list. Each StringKey holds an AutoString which seems wasteful for the keys
in the hashtable itself (the AutoStrings are useful during lookup when
the key is stack allocated). We need to reduce the size of StringKeys.
Also, could string bundles be arena allocated?
Module owner: ?
Task owner: firstname.lastname@example.org
Status: Warren to look into alternatives for StringKeys and
string bundle allocation.
- Bloatblame FE
Description: Currently bloatblame is a post-processing tool.
We believe we can get much more useful information if we can get more real-time
data of module memory usage. Brendan has been working on the back-end of
the real-time bloatblame. Wade and Pavlov are both looking into a front-end
to display/graph the data.
Module owner: email@example.com
Task owner: firstname.lastname@example.org,
Status: Brendan is on vacation and we believe that the currently
checked in version does not implement all the back-end changes necessary.
We may need to wait till Brendan returns.
- Chrome cache analysis
Description: Dougt's analysis about redundant file loading at
startup time shows that we're also loading the same JS chrome file multiple
times. We need to figure out why the chrome cache isn't sharing compiled
Module owner: email@example.com
Task owner: firstname.lastname@example.org
Status: Chris to determine what's happening here
- Mail/New bloat analysis
Description: Does mail/news have bloat analysis tasks that should
go on this list?
Module owner: email@example.com,
Task owner: firstname.lastname@example.org
Status: Chris to get David or Alec to come to the meeting and
send us a list of tasks.
We have the code merged to the current level and are
waiting for the approval to check it in now that M17 and nsbeta2
We will also be putting together a Windos binary based on the M17 drop.
- ldap: URL support now builds and works on Windows. Set ENABLE_LDAP
in your environment before building and then build as usual.
- continue work on the RDF datasource
- track down ASYNC_CONNECT problem on linux
MailNews Performance test results for Win32, Linux 6.1
and MAC OS have been updated and can be viewed http://www.mozilla.org/mailnews/
under Quality Assurance. Tested on comm build 2000-07-27-08,
Scroll bar performance getting better in windows, mac and linux.