On 2015/06/17 8:29, Eric Rahm wrote:
An update on progress. I've landed bugs which should clean up ~180,000
warnings. I have bugs pending for another ~26,000.
The latest top 40:
*Note: I improved my normalization a bit so it might look a bit different
Are there documents explaining why
these warnings are generated?
I mean, say, I see the first warning during the run of C-C TB's |make
mozmill| test and I wonder, what C-C TB is doing wrong to see this
"Subdocument container has no frame"?
Maybe each month, we should pick up the top-10 warnings (without the
description given below) in the frequency, and ask the author of the
patch that inserted the warning to
explain the following: this will help the testers to asses the
situation, and more importantly, help people maintain the legacy code
such C-C TB to figure out what can be possibly wrong in the existing
code and how we can fix them.:
- severity of the message: INFO, DEBUG, WARNING, etc.
- explain why there is a warning (background),
- is there going to be a bad thing happening soon after
the situation occurs? what bad symptoms should we expect?
- what can a caller do to prevent the bad thing happening (I mean
the caller of the invocation chain that eventually leads to the
particular warning.)
Without such information, warnings are not so useful in the log.
I see about 25 of the following warnings in C-C TB |make mozmill| run.
And I have been wondering "OK, if Subdocument container has no frame",
is this bad?, is there going to be something bad?, is this message
printed because C-C TB code invokes document API incorrectly?, if so,
what is the correct procedure, and such.
As a few mentioned that there are simply so many warnings in the log and
we are overwhelmed, but anything that can help us to cope with the tidal
wave of warnings ought to be implemented and tried.
And among the warnings, there *ARE* warnings that lead to real bugs.
e.g.:
> 1627 [NNNNN] WARNING: Called close() before start()!: 'mStarted',
file dom/workers/Message
Obviously, the program is sloppy and calling
some functions in incorrect order. We should fix this.
> 1149 [NNNNN] WARNING: RemoveObserver() called for
unregistered observer: file hal/Hal.cpp, line 205
Again, the program is sloppy and is not keeping track of
its resources and thus calling non-existing, phantom observer
to be removed. This ought to be fixed.
Another real bug is this.
Although it did not seem to be in the top 40, I see a few types of
messages that make me thing that the shutting down of thread are not
properly synchronized at the end of the program termination.
Obviously some threads try to dump data while the subsystem/module that
handles the writing of the data is already closed/shutdown and the
writing fails, etc. This ought to be fixed.
These high volume warnings can be very useful if only the description
about them can be found easily.
I am not claiming the description for EVERY warning, but
we can start with top-most 10 warnings (without such description).
18012 [NNNNN] WARNING: Subdocument container has no frame: file
layout/base/nsDocumentViewer.cpp, line 2520
14816 [NNNNN] WARNING: NS_ENSURE_SUCCESS(EnsureScriptEnvironment(), nullptr)
failed with result 0xNNNNNNNN: file docshell/base/nsDocShell.cpp, line 4605
9809 [NNNNN] WARNING: No docshells for remote frames!: file
dom/base/nsFrameLoader.cpp, line 459
8929 [NNNNN] WARNING: Someone passed native anonymous content directly into
frame construction. Stop doing that!: file
layout/base/nsCSSFrameConstructor.cpp, line 6559
8062 [NNNNN] WARNING: Suboptimal indexes for the SQL statement 0xNNNNNNNN
(http://mzl.la/1FuID0j).: file storage/mozStoragePrivateHelpers.cpp, line 109
7760 [NNNNN] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file
embedding/browser/nsWebBrowser.cpp, line 363
7454 [NNNNN] WARNING: anonymous nodes should not be in child lists (bug
439258): file layout/base/RestyleManager.cpp, line 1439
6294 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xNNNNNNNN:
file netwerk/base/nsFileStreams.cpp, line 492
6294 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xNNNNNNNN:
file netwerk/base/nsFileStreams.cpp, line 205
6131 [NNNNN] WARNING: No outer window available!: file
dom/base/nsGlobalWindow.cpp, line 3920
5207 [NNNNN] WARNING: NS_ENSURE_TRUE(domWindow) failed: file
embedding/browser/nsDocShellTreeOwner.cpp, line 83
5193 [NNNNN] WARNING: NS_ENSURE_TRUE(aInBrowser) failed: file
embedding/browser/nsDocShellTreeOwner.cpp, line 79
5073 [NNNNN] WARNING: zero axis length: file dom/svg/nsSVGLength2.cpp, line 124
4606 [NNNNN] WARNING: No widget found in TabParent::UpdateDimensions: file
dom/ipc/TabParent.cpp, line 974
4574 [NNNNN] WARNING: Shouldn't call SchedulePaint in a detached pres context:
file layout/generic/nsFrame.cpp, line 5181
3891 [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 367
3746 [NNNNN] WARNING: Graph thread slowdown?: 'std::abs(framePosition -
CurrentDriver()->StateComputedTime()) < MillisecondsToMediaTime(5)', file
dom/media/MediaStreamGraph.cpp, line 1193
3182 [NNNNN] WARNING: Enabling vsync compositor: file
gfx/layers/ipc/CompositorParent.cpp, line 674
3042 [NNNNN] WARNING: NS_ENSURE_TRUE(mCallback) failed: file
dom/base/nsFrameMessageManager.cpp, line 805
2859 [NNNNN] WARNING: '!mContentCache.CacheEditorRect(this,
&aIMENotification)', file widget/PuppetWidget.cpp, line 819
2859 [NNNNN] WARNING: '!editorRectEvent.mSucceeded', file
widget/ContentCache.cpp, line 499
2690 [NNNNN] WARNING: nsWindow::GetNativeData not implemented for this type:
file widget/PuppetWidget.cpp, line 1058
2527 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0xNNNNNNNN:
file dom/base/nsContentUtils.cpp, line 3712
2526 [NNNNN] WARNING: NS_ENSURE_TRUE(domDoc && target) failed: file
dom/base/nsContentUtils.cpp, line 3657
2478 [NNNNN] WARNING: Subdocument container has non-subdocument frame: file
layout/base/nsDocumentViewer.cpp, line 2517
2064 [NNNNN] WARNING: NS_ENSURE_TRUE(newRoot) failed: file
dom/base/nsRange.cpp, line 1132
2038 [NNNNN] WARNING: NS_ENSURE_TRUE(newRoot) failed: file
dom/base/nsRange.cpp, line 1231
1912 [NNNNN] WARNING: NS_ENSURE_TRUE(rootContent) failed: file
editor/composer/nsEditorSpellCheck.cpp, line 715
1627 [NNNNN] WARNING: Called close() before start()!: 'mStarted', file
dom/workers/MessagePort.cpp, line 215
1612 [NNNNN] WARNING: NS_ENSURE_TRUE(sf) failed: file
docshell/base/nsDocShell.cpp, line 6485
1488 [NNNNN] WARNING: NS_ENSURE_TRUE(isFileURI) failed: file
dom/base/ThirdPartyUtil.cpp, line 368
1417 [NNNNN] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result
0xNNNNNNNN: file netwerk/protocol/http/HttpBaseChannel.cpp, line 2077
1417 [NNNNN] WARNING: NS_ENSURE_SUCCESS(result, result) failed with result
0xNNNNNNNN: file docshell/base/nsDocShell.cpp, line 14076
1393 [NNNNN] WARNING: Break suggested inside cluster!: file
gfx/thebes/gfxTextRun.cpp, line 220
1288 [NNNNN] WARNING: NS_ENSURE_TRUE(mDisabledJSAndPlugins) failed: file
editor/composer/nsEditingSession.cpp, line 209
1175 [NNNNN] WARNING: NS_ENSURE_TRUE(txToRemove) failed: file
docshell/shistory/nsSHistory.cpp, line 1318
1151 [NNNNN] WARNING: NS_ENSURE_TRUE(selCon) failed: file
editor/libeditor/nsEditor.cpp, line 631
1149 [NNNNN] WARNING: RemoveObserver() called for unregistered observer: file
hal/Hal.cpp, line 205
1142 [NNNNN] WARNING: Failed to unlock the wakelock.: '!rv.Failed()', file
dom/html/HTMLMediaElement.cpp, line 2341
1113 [NNNNN] WARNING: NS_ENSURE_TRUE(aURI) failed: file
netwerk/dns/nsEffectiveTLDService.cpp, line 158
I have patches pending for #1 (bug 1175289) and #5 (bug 1175249) which is also
a top offender in the startup warning category.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform