TL;DR - We have reduced the amount of runtime warnings during testing by 90%.
As of today we are down to 66K warnings during linux64 debug testing; this is down from >600K back in June. There are bugs on file for most of the remaining top offenders blocking tracking bug 765224 [1]. It's time to declare victory, or at least transition to a skirmish, or perhaps an extended conflict. It's been a fun ride, I've more than surpassed my goal of a sub 100K count and it's time for me to write some real code again. Reducing the amount of warnings has made it *much* easier to weed out real bugs and many of the remaining warnings most likely *are* bugs. This is where you can help out: take a look at the tracking bug (and the following list) and see if there is a warning in an area you can help out with. Even just triaging by adding a needinfo? for folks who could help out would be super helpful. For those interested I have put up my (somewhat sketchy) set of scripts for parsing logs and counting warnings on github [2]. Contributions and feedback are welcome. Going forward I can think of a few interesting projects for the automation inclined: - Setup some sort of daily warning analysis, bisect and send out nag emails - Add support for automatically filing bugs to the log spam scripts - Turn the tree red if warnings go over some threshold - Get to a warning free startup state, add tests that enforce no new warnings on startup Again, please take a moment to go over the list, file more bugs and clean out unhelpful warnings so that we can focus on the real issues Big thanks to smaug, bz, dholbert and everyone else who helped get patches up, reviewed and in general dealt with my incessant nagging. -e The final countdown: TOP 40 ====== 3997 [NNNNN] WARNING: Please do not use mouseenter/leave events in chrome. They are slower than mouseover/out!: '!nsContentUtils::IsChromeDoc(d)', file dom/events/EventListenerManager.cpp, line 370 2523 [NNNNN] WARNING: '!mContentCache.CacheEditorRect(this, &aIMENotification)', file widget/PuppetWidget.cpp, line 833 2523 [NNNNN] WARNING: '!editorRectEvent.mSucceeded', file widget/ContentCache.cpp, line 256 1156 [NNNNN] WARNING: NS_ENSURE_TRUE(selCon) failed: file editor/libeditor/nsEditor.cpp, line 631 1112 [NNNNN] WARNING: No inner window available!: file dom/base/nsGlobalWindow.cpp, line 10013 1080 [NNNNN] WARNING: Failed to unlock the wakelock.: '!rv.Failed()', file dom/html/HTMLMediaElement.cpp, line 2354 1049 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file extensions/spellcheck/src/mozInlineSpellChecker.cpp, line 1995 948 [NNNNN] WARNING: Failed to retarget HTML data delivery to the parser thread.: file parser/html/nsHtml5StreamParser.cpp, line 951 918 [NNNNN] WARNING: NS_ENSURE_TRUE(selection->RangeCount()) failed: file editor/libeditor/nsHTMLEditRules.cpp, line 320 892 [NNNNN] WARNING: Silently denied access to property |undefined|: Access to privileged JS object not permitted (@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/script.js:1149): file js/xpconnect/wrappers/XrayWrapper.cpp, line 208 824 [NNNNN] WARNING: attempt to modify an immutable nsStandardURL: file netwerk/base/nsStandardURL.cpp, line 1264 823 [NNNNN] WARNING: NS_ENSURE_TRUE(selcon) failed: file editor/libeditor/nsEditor.cpp, line 658 823 [NNNNN] WARNING: NS_ENSURE_SUCCESS(res, nullptr) failed with result 0xC1F30001: file editor/libeditor/nsEditor.cpp, line 667 687 [NNNNN] WARNING: Trying to spellcheck, but checking seems to be disabled: 'mPendingSpellCheck', file extensions/spellcheck/src/mozInlineSpellChecker.cpp, line 907 684 [NNNNN] WARNING: NS_ENSURE_TRUE(aSelection->RangeCount()) failed: file editor/libeditor/nsEditor.cpp, line 3725 684 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file editor/libeditor/nsEditor.cpp, line 3704 683 [NNNNN] WARNING: NS_ENSURE_SUCCESS(res, res) failed with result 0x80004005: file editor/libeditor/nsHTMLEditRules.cpp, line 8083 675 [NNNNN] WARNING: Re-registering a CID?: file xpcom/components/nsComponentManager.cpp, line 551 655 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, BadImage(newImage)) failed with result 0x80004005: file image/ImageFactory.cpp, line 248 653 [NNNNN] WARNING: NS_ENSURE_TRUE(globalObject && globalObject->GetGlobalJSObject()) failed: file dom/base/nsDocument.cpp, line 8323 628 [NNNNN] WARNING: Suboptimal indexes for the SQL statement 0x7f30821a34a0 (http://mzl.la/1FuID0j).: file storage/mozStoragePrivateHelpers.cpp, line 109 604 [NNNNN] WARNING: NS_ENSURE_SUCCESS(status, status) failed with result 0x805303F4: file dom/security/nsCORSListenerProxy.cpp, line 542 600 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E000F: file dom/xbl/nsXBLService.cpp, line 732 597 [NNNNN] WARNING: '!aCharRect.width', file widget/ContentCache.cpp, line 317 593 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, NS_ERROR_XBL_BLOCKED) failed with result 0x805303F4: file dom/xbl/nsXBLService.cpp, line 900 588 [NNNNN] WARNING: Failed to open external DTD: publicId "" systemId "staff.dtd" base "http://mochi.test:8888/tests/dom/tests/mochitest/dom-level1-core/files/staff.xml" URL "resource://gre/res/dtd/staff.dtd": file parser/htmlparser/nsExpatDriver.cpp, line 705 564 [NNNNN] WARNING: Page was shift reloaded, skipping ServiceWorker control: file dom/base/nsDocument.cpp, line 4736 564 [NNNNN] WARNING: Image width or height is non-positive: file layout/base/nsLayoutUtils.cpp, line 6233 521 [NNNNN] WARNING: NS_ENSURE_TRUE(aNode) failed: file editor/libeditor/nsEditor.cpp, line 3390 514 [NNNNN] WARNING: aTargetFrame should be related with aTargetContent: '!aTargetFrame || !aTargetFrame->GetContent() || aTargetFrame->GetContent() == aTargetContent || aTargetFrame->GetContent()->GetFlattenedTreeParent() == aTargetContent', file dom/events/EventStateManager.cpp, line 492 510 [NNNNN] WARNING: 'NS_FAILED(rv)', file dom/fetch/FetchDriver.cpp, line 682 504 [NNNNN] WARNING: NS_ENSURE_TRUE(mTransactionPump || mCachePump) failed: file netwerk/protocol/http/nsHttpChannel.cpp, line 6012 470 [NNNNN] WARNING: Audio Buffer is not full by the end of the callback.: 'Available() == 0 || mSampleWriteOffset == 0', file dom/media/AudioBufferUtils.h, line 87 464 [NNNNN] WARNING: Enabling vsync refresh driver: file layout/base/nsRefreshDriver.cpp, line 860 462 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file dom/base/nsFrameLoader.cpp, line 267 461 [NNNNN] WARNING: NS_ENSURE_TRUE(ParseTypeAttribute(type, &version)) failed: file dom/base/nsScriptLoader.cpp, line 549 458 [NNNNN] WARNING: Failed to open external DTD: publicId "STAFF" systemId "staffNS.dtd" base "http://mochi.test:8888/tests/dom/tests/mochitest/dom-level2-core/files/staffNS.xml" URL "resource://gre/res/dtd/staffNS.dtd": file parser/htmlparser/nsExpatDriver.cpp, line 705 453 [NNNNN] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file xpcom/base/nsTraceRefcnt.cpp, line 147 390 WARNING: content window passed to PrivateBrowsingUtils.isWindowPrivate. Use isContentWindowPrivate instead (but only for frame scripts). 381 [NNNNN] WARNING: Failed to unlock the wakelock.: '!rv.Failed()', file dom/html/HTMLVideoElement.cpp, line 256 [1] https://bugzilla.mozilla.org/show_bug.cgi?id=765224 [2] https://github.com/EricRahm/log-spam-hell _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform