Highlights
- Resolved 27 bugs in the last week, fixing 9 of them.
See our resolved
bug list for details.
Lowlights
Accomplishments
- Mike Pinkerton implemented native system colors on MacOS.
(pinkerton)
- Mike also fixed an unreported bug where gecko wouldn't get
mouse_exit event when mouse went into the grow box on MacOS. (pinkerton)
- Mike also removed style rules in skin.css that gave scrollbars
different
images on :hover to workaround a bug that causes the tree containing
the
scrollbar to reflow. (pinkerton
- Steve Dagley has been testing NSPR 3.5 for landing. (sdagley)
- Eric Vaughan landed the XPScrollbar integration. (evaughan)
- David Hyatt defined 3 new new XUL tags for Webshell rearchitecture,
documentation forthcoming, pending a volunteer to do the typing.
(hyatt)
- Dave also landed the rearchitected command dispatcher.
It too needs a volunteer typist for documentation. (hyatt, saari)
Current work
- Daniel Matejka is 'this close' to fixing bugs 9625 and
15856. (danm)
- Stuart Parmenter is processing 16018 and 16552. (pavlov)
- Chris Saari is Integrating his whackage of focus with
Hyatt's new code. Related bugs: 12051,10779, 13157.
Priorities
- Fix blocker bugs, improve performance size and speed, polish
the UI, and in general make sure things don't suck for 'beta'.
(all)
- Work on the chrome registry enhancements required for brutal
sharing. (hyatt)
- Test and land focus changes. This is turning out to
be challenging since focus is broken to begin with (knowing if
something broke requires more than the checkin tests). (saari)
- Fix menu positioning problems. (saari)
- Content model profiling to find out why building menus is
slow. (saari)
- nsIFile Mac implementation. (sdagley)
- Fix more painting problems. (pavlov)
Decisions
Issues
People
- Mike Pinkerton is on vacation, returning 10/25.
Space team held brown bag, sparsely attended.
Will schedule another next week, with Pizza. Identified
60-80 independent startup leaks using the Boehm collector.
Plan to examine leaks on shutdown next. Tool should become
available to all soon. See performance
page for details.
Problem: no time for the space team to fix all of the leaks
that should be fixed. They don't all know how to use the
tools, which aren't ready for prime time anyway.
Proposal: Fix leaks by using nsCOMPtr.
Proposal: use the Boehm collector as a backstop to do conservative
garbage collection on the 80+ leaks we don't have time to fix
right now. This would enable us to get some usable bits
out sooner than we could if we had to fix them all.
Issues:
- May act like a crutch to keep us from paying enough attention
to fixing leaks.
- May mask architectural problems that need fixing.
- Does it really work on Mac?
- Need to get it working as a diagnostic tool on all platforms.
(wide agreement)
- Is it thread safe?
- Needs work to get it integrated into all builds.
- Bugs where in-use memory is collected can be hard to track
down.
- Reference counting sucks, we should be moving toward GC anyway.
- Ref counting may suck, but it can be made to work.
- Is bloat from non-leaking data structures a bigger part of
the space problem?
- Win32 port: Waterson? Warren? Jevering!
- Mac port: Beard.
- Linux port: AlecF - DONE!
Plan: Use Boehm collector as diagnostic tool on all platforms,
but don't depend on it for GC backstop.
Warren is back on the space team!
Next week:
- Port to all three major platforms.
- Hook up bloaty output to Tinderbox.
- Host brown bag to ensure everyone knows how to use it.
- Create the 'Wall of Shame'.
Long term: Continue to provide tools, expose leaks, enable people
to find and fix them. Space team is not fixing leaks themselves.
no schedule beyond one week, need to make one.
Criteria for success: Need a metric/benchmark (MTBF, bytes/hr,
?)
Time team
Brutal sharing: (content model sharing) Factoring content model
out into delegates and prototypes. Waterson will
be looking at it, thinks it will be done by end of next week.
Need to create cache that is savvy to the chrome registry, knows
dependencies, and be able to invalidate appropriately.
Hyatt's tasks: new caches - create map from chrome URL to prototype
tree, map from chrome URL to overly URLs.
Make JS smarter, compile functions & hang them off a shared
object. Bind them to script context when creating the content
model.
- Keep everything on one thread.
- Avoid running through the parser.
- Lazy sharing.
This might make startup slightly longer (Hyatt thinks otherwise),
first window slightly more space. Savings on subsequent windows.
Startup time (smfr):
Time: Library loading 50% disk bound on first launch,
25-30% on subsequent launches. Load 8 MB code.
Globbing together components doesn't look like a big win.
May be able to reorder code to proper page to minimize page faults.
Currently hitting a third of DLLs on startup, could
we optimize so that we have to hit only 10%? Could we pull startup
code out of those dlls and put it into a separate startup library?
Could strip dead classes, need a way to determine which factories
never create an instance. Not clear how much
dead code there is, outside of widget (not using native widgets).
DP: Service Mgr and Component Mgr need to be merged. requires
moving 2 service mgr calls to component mgr.
Proposal: Get rid of Service Mgr now?
Alecf: no, just add CompMgr APIs for ServMgr.
Beard: No, leave calls in Service Mgr & use QI to call them.
More compatible with legacy code in plugins.
Plan: DP will just go do this, in a few days. Incompatible
API change to source code already in use (ex: Lawrence Livermore
plugin, Adam Locke, Ed Burns), need to publicize wide and loud.
Need to respin IIDs so clients get incompatible interface errors,
telling them to adjust and rebuild.
nsiFile & nsiDirectory vs nsFileSpec. design review needed,
need to schedule for conversion. need nsiVolume too, one
on Unix, multiple on Mac/Win.
Highlights
- Fixed 33
bugs last week including: FCC works again, vCards work again,
Filing messages works again.
- Upcoming work
- davidmc - adding API logging to Mork, building test harness
for Mork.
- bienvenu - memory leaks in Address Book and Compose window
- alecf - Porting Boehm GC to Linux, improving nsinstall and
commercial build, nsIModule-izing prefs, 15685
Regression in prefs
- jefft - 16538
Copying IMAP messages broken, 16368
Data loss saving attachments
- rhp - 7518
Remove "Messenger 5.0" signature, 16367
Decide about attachment as link, working on security of message
display area.
- mscott - 16550
Reply is broken, 14928
URL dispatching
- sspitzer - 16551
Mac profile migration stalled on blockers, 16259
Line endings in Mac prefs file, 1523015231
Prefs don't stick
- hangas - 15127
Command update/dispatch, 16395
Convert mozilla to new skin
- ducarroz - 13399
15001
15002
Addressing widget bugs
- putterman on vacation, chuang on sabbatical
Lowlights
- Volume of changes is down, which is potentially bad, but regressions
are still a problem, which is worse. Maybe we should reconsider
the code review policy, which mail/news engineers cite as increasing
friction without increasing stability
Previous Updates
|