Closed Bug 1153903 Opened 10 years ago Closed 10 years ago

Get rid of logspam during DAMP test runs

Categories

(DevTools :: Framework, defect)

defect
Not set
normal

Tracking

(firefox40 fixed)

RESOLVED FIXED
Firefox 40
Tracking Status
firefox40 --- fixed

People

(Reporter: bgrins, Assigned: bgrins)

References

Details

Attachments

(1 file, 2 obsolete files)

The quick opening/closing/reloading that happens in the damp talos runs cause a bunch of logspam to show up: https://treeherder.mozilla.org/logviewer.html#?job_id=6428150&repo=try
I am open to a preference or just a general fix to the devtools :)
(In reply to Joel Maher (:jmaher) from comment #1) > I am open to a preference or just a general fix to the devtools :) I noticed this when running locally and I think most of these should be fixed in devtools. There are a few that are reporting errors doing a request due to a closed connection: * Error: Connection closed, pending request to server1.conn92.child1/customhighlighter38, type hide failed * Error: Connection closed, pending request to server1.conn41.child1/domwalker26, type getNodeActorFromObjectActor failed * Error: Connection closed, pending request to server1.conn54.child1/domwalker25, type getMutations failed This rejection was added in Bug 1128027. For these, we should be able to find the common places this happens and catch the rejection on the frontend so we don't end up logging errors.
Patrick, Mike, just a heads up that there are lots of 'ERROR - Full message: TypeError: gInspector is null' during talos runs. I saw some discussion on #devtools about this earlier. I'll take a look at what's going on
(In reply to Brian Grinstead [:bgrins] from comment #3) > Patrick, Mike, just a heads up that there are lots of 'ERROR - Full message: > TypeError: gInspector is null' during talos runs. I saw some discussion on > #devtools about this earlier. > > I'll take a look at what's going on The gInspector error comes from the init of the animation panel in animation-controller.js. The initialize method is async, and it looks like by the time the bunch of actorHasMethod calls resolve, the inspector has been closed already, and so accessing gInspector in startListeners which runs next, fails.
(In reply to Brian Grinstead [:bgrins] from comment #2) > server1.conn54.child1/domwalker25, type getMutations failed > > This rejection was added in Bug 1128027. For these, we should be able to > find the common places this happens and catch the rejection on the frontend > so we don't end up logging errors. As it turns out, at the moment the logging actually happens in protocol.js, so it shows up regardless of whether the promise is caught in the front: https://dxr.mozilla.org/mozilla-central/source/toolkit/devtools/server/protocol.js#20. We may want to change this, but shouldn't block this bug on it. It's also happening quite a bit during mochitest-dt runs IIRC
Attached patch damp-logspam.patch (obsolete) — Splinter Review
Patrick, this fixes the logspam, but I'm not sure if it's the approach you want to take for the animation inspector. Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=c4a9b95c593d
Assignee: nobody → bgrinstead
Status: NEW → ASSIGNED
Attachment #8592575 - Flags: review?(pbrosset)
Comment on attachment 8592575 [details] [diff] [review] damp-logspam.patch Review of attachment 8592575 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/devtools/server/actors/inspector.js @@ +3067,5 @@ > * available mutation records. > */ > onMutations: protocol.preEvent("new-mutations", function() { > // Fetch and process the mutations. > + this.getMutations({cleanup: this.autoCleanup}).catch(() => {}); See Comment 5 - this is already logged once when the request is rejected so right now we are actually logging this rejection twice. Removing it here makes it only happen once
If you are curious to test it out, you can set up talos locally by following these instructions: https://wiki.mozilla.org/Buildbot/Talos/Running#Running_locally_-_Source_Code Then apply the patch from Bug 1150215 Then run: talos -n -d --develop --executablePath PATH_TO_FIREFOX --activeTests damp
Comment on attachment 8592575 [details] [diff] [review] damp-logspam.patch Review of attachment 8592575 [details] [diff] [review]: ----------------------------------------------------------------- Looks good to me overall. Just some minor comments. No need to ask again for review. ::: browser/devtools/animationinspector/animation-controller.js @@ +44,5 @@ > // If you want to know when everything's ready, do: > // AnimationsPanel.once(AnimationsPanel.PANEL_INITIALIZED) > yield AnimationsController.initialize(); > + > + if (!AnimationsController.destroyed) { I think it'd be a little bit nicer if you moved this into AnimationsPanel.initialize: if (AnimationsController.destroyed) { console.warn("Could not initialize the animation-panel, controller was destroyed"); return; } @@ +56,5 @@ > */ > let shutdown = Task.async(function*() { > yield AnimationsController.destroy(); > // Don't assume that AnimationsPanel is defined here, it's in another file. > + if (typeof AnimationsPanel !== "undefined" && AnimationsPanel.initialized) { AnimationsPanel.destroy already does this: if (!this.initialized) { return; } So the extra && AnimationsPanel.initialized condition shouldn't be needed. @@ +114,5 @@ > "stopAnimationPlayerUpdates"); > this.hasSetPlaybackRate = yield target.actorHasMethod("animationplayer", > "setPlaybackRate"); > > + if (!this.destroyed) { Or maybe just an early return: if (this.destroyed) { console.warn("Could not fully initialize the AnimationsController"); return; } this.animationsFront = .... ... ::: toolkit/devtools/server/actors/inspector.js @@ +3067,5 @@ > * available mutation records. > */ > onMutations: protocol.preEvent("new-mutations", function() { > // Fetch and process the mutations. > + this.getMutations({cleanup: this.autoCleanup}).catch(() => {}); Right, I agree. Why not simplify to this then: this.getMutations({cleanup: this.autoCleanup});
Attachment #8592575 - Flags: review?(pbrosset) → review+
Attached patch damp-logspam.patch (obsolete) — Splinter Review
Thanks for the review - updated as suggested. Pushed to try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b18a6d6d3f4a
Attachment #8592575 - Attachment is obsolete: true
Attachment #8593073 - Flags: review+
(In reply to Patrick Brosset [:pbrosset] [:patrick] from comment #9) > ::: toolkit/devtools/server/actors/inspector.js > @@ +3067,5 @@ > > * available mutation records. > > */ > > onMutations: protocol.preEvent("new-mutations", function() { > > // Fetch and process the mutations. > > + this.getMutations({cleanup: this.autoCleanup}).catch(() => {}); > > Right, I agree. > Why not simplify to this then: > this.getMutations({cleanup: this.autoCleanup}); Hm, seeing some orange without the catch(): https://treeherder.mozilla.org/#/jobs?repo=try&revision=b18a6d6d3f4a.
Attachment #8593073 - Attachment is obsolete: true
Attachment #8593389 - Flags: review+
Keywords: checkin-needed
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 40
Depends on: 1155553
Blocks: 1157946
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: