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
[email protected]
https://lists.mozilla.org/listinfo/dev-platform