Engineering Meeting Details
- Tuesday 2014-02-18 - 11:00 am Pacific Standard Time
- Dial-in: Audio-only conference# 98411
- People with Mozilla phones or softphones please dial x4000 Conf# 98411
- US/Toll-free: +1 800 707 2533, (pin 4000) Conf# 98411
- US/California/Mountain View: +1 650 903 0800, x4000 Conf# 98411
- US/California/San Francisco: +1 415 762 5700, x4000 Conf# 98411
- US/Oregon/Portland: +1 971 544 8000, x4000 Conf# 98411
- CA/British Columbia/Vancouver: +1 778 785 1540, x4000 Conf# 98411
- CA/Ontario/Toronto: +1 416 848 3114, x4000 Conf# 98411
- UK/London: +44 (0)207 855 3000, x4000 Conf# 98411
- FR/Paris: +33 1 84 88 37 37, x4000 Conf# 98411
- Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn't look like it accepts phone numbers
- SkypeOut is free if you use the 800 number
- Engineering Vidyo Room / Air Mozilla / MTV Warp Core / TOR Finch / SFO Warfield / PDX Hair of the Dog
- join irc.mozilla.org #planning for back channel
- 1 Actions
- 2 Hot Bugs
- 3 The Need To Know
- 4 Team Stand-ups
- 4.1 Accessibility (dbolter)
- 4.2 Add-on SDK (dtownsend)
- 4.3 App Tools (prouget)
- 4.4 B2G Services (dougt)
- 4.5 Developer Tools (robcee)
- 4.6 DOM (jst/overholt)
- 4.7 Firefox Desktop (gavin)
- 4.8 Firefox Metro (bbondy/jmathies/mbrubeck)
- 4.9 Firefox Mobile (mfinkle/blassey)
- 4.10 Firefox OS Communications (scravag)
- 4.11 Firefox OS Devices/Porting (ericchou)
- 4.12 Firefox OS Media Apps (hema)
- 4.13 Firefox OS Media Recording (cjku)
- 4.14 Firefox OS Performance (mlee)
- 4.15 Firefox OS Productivity (doliver)
- 4.16 Firefox OS Telephony/WIFI/NFC (kenhkchang)
- 4.17 Firefox OS Systems - Front End (gwagner)
- 4.18 Firefox OS Systems - Platform (timdream)
- 4.19 GFX (milan)
- 4.20 Identity (jedp)
- 4.21 JS (naveed)
- 4.22 Layout (jet/dbaron)
- 4.23 Media (mreavy)
- 4.24 Necko (dougt/jduell)
- 4.25 Performance (vladan)
- 4.26 Seceng (mmc)
- 4.27 Shumway (jet)
- 4.28 WebAPI (overholt)
- 5 Quality Programs
- 6 Roundtable
- 7 <Read only beyond this point>
(Important bugs for which we need to find owners or additional help. If known, please include suggested team or knowledge needed to advance the bug.)
- Orange Factor
- #1: Spike in Linux shutdown hangs around 10-Feb. Filed bug 974004 to investigate. Possibly media-related?
- #2: bug 881413 - Windows debug crash, often during test_update.js @ TimerThread::Run(). needinfo? request pending for 2 weeks. Will likely disable test_update.js on Windows debug soon due to lack of progress.
- B2G mochitest failures are frequently in the top 10. Have already disabled some problematic tests and will probably keep doing so until things improve.
The Need To Know
(Release and system issues that may impact engineering this week.)
- Only one beta this week (desktop & mobile) because of holiday and bug 973971
- will gtb today, ship desktop tomorrow and mobile as soon as it's ready
- Back to 2 desktop betas next week
|Next Merge: January 6, 2020||Next Release: January 7, 2020|
|Central: 73||Aurora: 54||Beta: 72||Release: 71.0|
|Unresolved Aurora 54 Trackers (non-security, not tracked for Beta)||Unresolved Beta 72 Trackers (non-security)|
Build Changes (gps)
(Build changes of which engineers should be aware.) <Read Only>
- Nick Alexander added Eclipse project file generation for Fennec development. If you write Java for Fennec, you should check it out. http://www.ncalexander.net/blog/2014/02/14/getting-started-with-the-android-eclipse-build-backend-for-fennec/
- Visual Studio project files with working IntelliSense are awaiting review and should land soon. (bug 687388).
- Soliciting feedback for improving mach's mozconfig/objdir discovery and usage on https://etherpad.mozilla.org/o5igfRCiJv
(Repo, test, and other information for engineers from the release engineering team.)
- Re-enabling hg purge on Try this week. This should save us ~10 minutes per try build. Please keep an eye out for build failures or issues that may be due to the wrong source being checked out. bug 851270
- Tree closure Saturday, Feb 22 ~1300-1600PT (times TBD). bug 971818
- Try repo will be reset
(System outages/upgrades and tree closures that impact engineering.)
(In <2 mins, what did your team accomplish last week, on what is your team working on this week, and on what, if anything, is your team blocked? No questions during the stand-ups. All questions should be asked during the roundtable.)
- FF OS a11y focused team work week in Toronto next week.
Add-on SDK (dtownsend)
App Tools (prouget)
B2G Services (dougt)
Developer Tools (robcee)
- johns working on "plugin.js" for shumway which allows for non-plugin to behave and be seen as a plugin object
- nsm working on Service Worker registration
Firefox Desktop (gavin)
- Desktop team kicked off a new modified scrum dev process today for everyone except people working on Australis and Firefox Accounts.
Firefox Metro (bbondy/jmathies/mbrubeck)
Firefox Mobile (mfinkle/blassey)
- Super focused on converging Synthetic APKs on by default and the new sync for Fx29
- bug 959833 pngquant images landed. Saved 100KB+
- Another API landed bug 964447 for Firefox Hub, we should have some addons for folks to check out, soon
- Thanks to kats for tracking down two issues with AWSY bug 971001 and bug 971694. He tracked down the cause of bug 971001 and the fix landed. Memory issue is still open
- Eideticker pageload regressions are gone but we need to still figure out dirty start up bug 971477
- Wesj is looking into two start up regressions. We backed out bug 964510 (delayed startup and follow ups)
Firefox OS Communications (scravag)
- Version 1.3
- 1.3+ remaining = 3 : http://mzl.la/1j80OvC
Firefox OS Devices/Porting (ericchou)
- SIM2 doesn't work. Have asked for vendor's help.
- Partner issues: (bug 962927, bug 970174, bug 970154)
- Media Playback
- Integrated MediaCodec into gecko for media playback (bug 904177, WIP patch uploaded)
- Color conversion between HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS and RGB565 (bug 961627)
- Already got 2 solutions, however we need to contact with the reviewer and our legal(Jishnu) to clarify the uncertainty of legal concerns to decide which one should be used.
- Audio playback related issues: work in process (bug 942988, bug 932701)
- Device Storage
Firefox OS Media Apps (hema)
- 1.3 blockers
- Landed Camera Control API cleanup (909542)
- Landed Image/Video/Music file transfer via NFC (903253, 948362, 948363)
- Started Madai Camera work with partner contributions
- Started Ringtone user stories (Setting and Creating)
Firefox OS Media Recording (cjku)
Firefox OS Performance (mlee)
Firefox OS Productivity (doliver)
Firefox OS Telephony/WIFI/NFC (kenhkchang)
- To fix 1.3 bugs,
- RTSP Client,
- bug 933588 - B2G NFC: Rewrite NFC Worker in C++.
- bug 970241 - B2G NFC: Don't listen to nfc.enabled settings changed event.
- bug 970238 - NFC: System app always send NFC_HW_STATE_DISABLE_DISCOVERY to Gecko.
- bug 960510 - B2G NFC: type, id and payload should be optional in MozNDEFRecord.
- bug 933665 - Remove encodeNdefRecords func from NfcContentHelper.
- WPA-EAP, bug 917102 - Import Cert by WifiManager.
- WIFI-Display, bug 925615 - [meta][B2G][Wifi] Support Wifi Display
- Power metering, bug 951976 - API for Resource Statistics
- Network metering, bug 928289 - [Network Metering] Obtain network tethering statistics.
Firefox OS Systems - Front End (gwagner)
- To fix 1.3 bugs,
- 4 remaining bugs
- Haida moved to 1.5 release.
- Working on Download manager for 1.4.
- Need a solution for Bug 946239: [Download API] System app stops getting download progress notifications when the app which started the download is killed
Firefox OS Systems - Platform (timdream)
Please read our meeting note for detail.
- 3rd-party keyboard: Patch for bug 958035 (home screen leaks); need gecko support on bug 968991 (keyboard oop/nuwa/apz)
- Build script: app-specific build steps are all moved to apps. Next: split them into copy stage and build stage, and assumable shared script etc there. meta bug 968654.
- Window management: bug 961800 (haida/open sheet) pending, other work WIP. meta bug 902766.
- System refactor: working on converting everything to constructor function (~8/80 bugs landed). meta bug 912952. next: resolve dependency.
- Setting refactor: AMD pattern (bug 964180) to be landed this week, next: file bugs on panels for conversion.
- Lock screen: bug 960901 (lock screen instance) landed, emergency call as app (bug 960915) in review. meta bug 960381.
- DSDS: bug 972150 WIP
- Audio channel service: no update
- WPA-EAP SIM: no update
- PEAP, TLS, TTLS WPA-EAP: no update
- Format SD Card: API proposal in discussion
- NFC: no update
- Big features for 1.4, with compressed timeframe.
- Tiling on B2G.
- Performance improvements (some in Gaia, Layout, but graphics team is triaging and driving all.)
- Support for KitKat on an unknown device.
- Expect less (than usual) responsive graphics team in the next four weeks.
(ckarlof) FxA and Sync
- We need testers! Please use it and give us feedback
- IRC: #fxa
(spenrose) FxA on FxOS tree changing rapidly:
- _6a68 resubmitting Core UI code (https://github.com/mozilla-b2g/gaia/pull/15692); H/T kaze, mhenretty, others for guidance
- ferjm advancing force user to re-enter password bug 938635
- jedp on Single Sign Out and several others bug 945363
- Compiler (JIT)
- Removed init time of selfhosting. Not visible due to extra bug.
- bug 929374 - Enabled Ion and TI chrome prefs. Simple patch but some annoying dependencies to get tbpl green: bug 970645, bug 832437, bug 931861.
- Garbage Collection
- bug 961314 - Landed, backed out upgrade of hazard analysis builds to new setup compatible with newer webrtc code. Re-fixed, pending review.
- Front End and Other
- bug 972657 - Moved the "script too small to compress?" check earlier. This appears to have caused 3--10% wins on Talos's "Paint" and "Tab Animation Test" tests on Windows and Linux, surprisingly enough.
- bug 936740 - Inline Math.ceil in the last remaining case (input is a double, output is an integer)
- Compiler (JIT)
- WebRTC/Talkilla work week just ended in MV; more in next week's update
- Fixed bug with one-way video streams reported by TokBox bug 972097 due to mis-merge; uplifted to Aurora/Beta
- MediaStream internal redesign underway (padenot, roc, jesup, gcp, etc). Need to deal better with clock-rate mismatches/drift and reduce delay, and should help WebAudio. bug 848954 and https://webrtc.etherpad.mozilla.org/mediastream-refactor
- Ping padenot/jesup if you want to be involved
- Bunch of improvements in about:webrtc and stats interface coming soon
- Lots of WebAudio fixes have been landing recently from karlt and padenot
- We have turned on TCP Keepalive to help detect wedged connections
- for first minute we ping every 10 seconds, then taper off to every 10 minutes.
- bug 962573: Finished profiling Firefox idle power usage on Alexa Top 100 sites. See the ~15 blockers of this bug for specific issues found
- Power use benchmark for Firefox: https://github.com/vitillo/energia . We're working on making it accessible from Try
- New dashboard summarizing main-thread IO reports from Telemetry: http://vitillo.github.io/mainthreadio-dashboard/
- New URL for the SlowSQL dashboard: http://telemetry.mozilla.org/slowsql/
- bug 940788: Implemented an AWS S3-backed shared ccache for efficient cluster compilation of Firefox
- bug 852117: We now annotate crash reports with information about nested event loops
- bug 943339: Capped the amount of navigation history saved in session restore
- bug 965788: Firefox shouldn't hang on startup when performing addon update check
- Mike Hommey: Efficiency of incremental builds on inbound + Testing shared cache on try
- Irving Reid: Eliminating the add-on compatibility check dialog during startup
- David Teller: Shutting down things asynchronously
- Mark Reid: Recent Telemetry data outages
- TLS False Start, a performance optimization for TLS connections, is now enabled in Firefox 28 Beta and later. This optimization is only enabled for sites that use non-RC4 TLS_ECDHE_*/TLS_DHE_* cipher suites and which support the NPN extension. This includes Twitter, Google, and CloudFlare-hosted servers. There is some compatibility risk to this feature, though we believe we have mitigated all of it with the aforementioned restrictions. Please report any compatibility issues in the "Core :: Security: PSM" component ASAP. bug 942729
- insanity::pkix, the new certificate verification library replacing NSS's certificate verification, landed, pref'd-off (security.use_insanity_verification=false). It is expected to be enabled in a couple of weeks, after OCSP support is added and more testing is done. This was also uplifted to Aurora 29 to make it easier for Certificate Authorities to test it one release before it is enabled. If you don't care about your own HTTPS security and you play with this, please report any issues, particularly compatibility issues, in the "Core :: Security: PSM" component ASAP. bug 878932
- New certificate verification logic for signed packaged apps, based on insanity::pkix, landed in Nightly 30 and will probably be uplifted to Aurora 29 later this week. This enables (will enable, after some non-cert-related issues are resolved) packaged apps from Mozilla Marketplace to be installed in Desktop Firefox. bug 896620
- Some cases where we were doing unnecessary OCSP fetching, potentially causing main-thread I/O and other badness, were fixed for Firefox 28 and later. You shouldn't notice anything with these changes, but Firefox is getting faster in this respect. bug 950129, bug 950240.
- Flash Player "globals" implementation completed
- baku landed console API in workers (bug 620935)
- work continues porting DataStore API from JS to C++
- in the meantime, Gene Lian is writing a C++ wrapper for the current JS implementation
- bent is very close to landing PBackground (bug 956218)
- janv is porting QuotaManager (and improving its API) to PBackground (bug 961049)
- ehsan working on image resizing API
- earlier today Harald re-iterated partner requests for some sort of keychain-like functionality on Firefox OS
- Marcos closing in on final manifest spec issues: http://w3c.github.io/manifest/
(An opportunity to hear about status with the various quality programs that do not have a formal team structure.)
- Additional fuzzing is working well to uncover more issues. Tending/fixing them is appreciated.
- Mitigation: David Major fixed bug 860254 - Poison memory on free for all small allocations
- Michael Wu implemented VolatileBuffer, a new class that lets us use volatile memory on OSes that support it, e.g. ashmem on Android.
- Past week's OrangeFactor: 6.57 (Previous Week: 12.02).
- Have begun disabling more tests/suites that haven't had any visible progress towards being fixed.
- Recent spike in Linux test timeouts was traced to a recent change in the slaves being used on our AWS instances. Change was reverted and reason for increased timeouts is being investigated.
- 19 intermittent failures fixed in the last week - List - Thanks!.
- memory poisoning on free() landed in Saturday's nightly.
- We will continue to make improvements to the poisoning system, such as using the reserved memory address.
- Encouragement to poison more things including poison on GC and JITcode buffers on free
- Overall data looks OK for anything other than Firefox desktop Nightly and Beta channels.
- bug 973344 is a crash in nsTextEditorState::SetValue with botched disabling of <input type=number> that caused crash rates to double, should be fixed for this week's beta.
- On a positive note, Firefox 28 Beta for Android is looking *really* good in crash rates, probably largely due to some GFX refactoring in that version.
(Comments and questions that arise during the course of the meeting or otherwise do not have a section.)
<Read only beyond this point>
Friends of the Tree
There were great changes by volunteers in Core and Toolkit during the past week. Thanks to all of these contributors for their passion and hard work, and say hi to new contributors Maks Naumov, and Anuj Agarwal! Here are some highlights:
- Tom Schuster (evilpie) improved pixmap use on Linux (bug 973227).
- Oleg Romashin (romaxa) implemented pointer events enter/leave support (bug 967796).
- Robert Longson (longsonr) fixed a bunch of SVG/SMIL problems (bug 726400, bug 964200, bug 971175, bug 971285).
- Alessandro Decina improved GStreamer support (bug 806917, bug 973379).
- Michael (Earth4) fixed some SpiderMonkey performance problems (bug 934817,bug 968390).
Mailing List Threads
(Threads that are likely to be of interest to engineering from various mailing lists.)
(Links to blog posts, books, videos, etc. that you think will be of interest to others.)
irc #planning Log From This Meeting
13:54 davidb: lmandel: I don't think I can join the dev meeting live, I have readonly updates for a11y and CritSmash (you can call out the latter if you like) 13:54 davidb: also, hi 13:57 elan: lmandel: dbl booked with a android sync ui pow wow but blassey has it covered as usual 13:57 elan: (I just won't see your smiling faces) 14:01 KaiRo: bsmedberg: do you want to voice your pieces of the stability update? 14:01 KaiRo has something to say as well there today 14:01 bsmedberg: yeah, kinda mixes with davidb's update 14:01 KaiRo: bsmedberg: ok 14:01 KaiRo: cpeterso_: so, we have stability voice update today, first part with bsmedberg, second with me 14:02 cpeterso_: ok 14:02 davidb: bsmedberg: you can give my update or modify or whatever makes sense 14:02 davidb: (you filed that bug :) ) 14:03 jesup: RyanVM: looking at the bug 14:03 catlee: RyanVM: b2g mochitests still flaky even after reverting ec2 instance types? 14:04 lmandel: davidb, elan: Thanks 14:04 davidb nods 14:05 bmoss: jesup: thanks randall 14:08 overholt: someone needs to mute 14:08 blassey: warp core: can you mute? 14:08 blassey: dougt: ^ 14:08 overholt: I think they did 'cause it's better now 14:10 dougt: blassey: I DO NOT DO YOUR BIDDING 14:10 RyanVM: jesup: I see bug 853356 landed on m-c around the time the hangs started 14:10 firebot: Bug https://bugzilla.mozilla.org/show_bug.cgi?id=853356 nor, --, 1.3 C3/1.4 S3(31jan), ayang, RESO FIXED, [B2G getUserMedia] Display camera/ microphone permission acquisition prompt 14:11 overholt: blassey, Jon Hylands 14:11 bsmedberg: blassey: rvitillo for desktop 14:11 dougt: blassey: what is that software that compresses the APK? 14:12 blassey: pngquant 14:12 overholt: excellent use of "voluntold", milan 14:12 blassey: lossy png compression 14:12 kbrosnan: questions at the end? 14:13 dveditz: who is speaking? 14:13 bmoss: milan 14:13 bsmedberg: milan, was dougt 14:13 dveditz: thx (I recognize dougt, my boss) 14:13 bmoss: ;-) 14:14 dougt: blassey: what PNGs does it reduce? 14:14 dougt: like all of the PNGs in our application? 14:14 blassey: dougt: we manually ran it on the png assets for android 14:15 jesup: jduell: concern about the impact on mobile... Can they be grouped to avoid lots of different timers firing and spinning up radios? 14:15 kbrosnan: dougt: more or less http://en.wikipedia.org/wiki/Wikipedia:Preparing_images_for_upload#PNG_tips 14:16 dveditz: blassey: isn't lossy png compression "use jpg instead"? 14:16 lmandel: kbrosnan: Questions during the roundtable 14:16 RyanVM: jesup: i'm retriggering ASAN m-oth runs on m-c around the time of the regression as well to try and narrow the range a bit 14:17 laura: I can supply ponies. 14:17 blassey: dveditz: maybe.. 14:17 davidb: offline ponies 14:17 dougt: overholt: we have someone working on web crypto. 14:17 jesup: RyanVM: thanks 14:17 overholt: dougt, I know 14:17 laura: davidb: that's the only kind I have 14:17 dougt: yeah, so maybe it satisfies everything they need 14:17 kbrosnan: dveditz: where lossy means choping to 8 bits png instead of using some of the larger formats 14:17 overholt: dougt, I put Richard in touch with them 14:17 overholt: yep 14:17 dougt: but I suspect it doens't 14:17 davidb: laura: the best kind 14:17 dougt: overholt: awesome. cc' me 14:18 jduell: jesup: keepalive is handled by OS's TCP stack--if it's smart it could batch them, but I'm not sure if any do 14:18 dougt: bsmedberg: awesome. 14:18 davidb: bsmedberg++ 14:18 dveditz: or not detect "attacks" so much as users stumbling across attackable situations 14:18 bsmedberg: go give dmajor your love 14:19 dveditz: (it's a very good thing!) 14:19 bsmedberg: dveditz: depends on how carefully the attack is constructed, yeah 14:19 dveditz: true, there are dumb attackers 14:19 jesup: jduell: Bummer. Worth monitoring. Keeping the radio active is a big power issue 14:19 jesup: blassey: ^ 14:20 jduell: yeah it could be worth turning it off on mobile, at least after the 1st minute. 14:20 jesup: One TCP pinging on 10min is no prob. If there are 100.... or more... at random intervals 14:20 jesup: Or you could make it depend on the number of sockets in this mode perhaps 14:20 blassey: interesting 14:21 kbrosnan: Linux has support in release 14:21 kbrosnan: for gstreamer-ugly 14:21 kbrosnan: though support for gstreamer 1.0 was added