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

Reply via email to