Closed Bug 823938 Opened 12 years ago Closed 11 years ago

Intermittent browser_inspector_initialization.js | Right node is highlighted - Got [object HTMLDivElement], expected [object HTMLSpanElement]

Categories

(DevTools :: Inspector, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 22

People

(Reporter: emorley, Assigned: Optimizer)

References

Details

(Keywords: intermittent-failure, Whiteboard: [fixed-in-fx-team])

Attachments

(2 files)

Rev3 WINNT 5.1 mozilla-inbound debug test mochitest-browser-chrome on 2012-12-16 08:44:12 PST for push 1392f08d1000

slave: talos-r3-xp-098

https://tbpl.mozilla.org/php/getParsedLog.php?id=17996917&tree=Mozilla-Inbound

{
TEST-PASS | chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js | A crumbs is checked=true
TEST-PASS | chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js | Crumb refers to the right node
TEST-PASS | chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js | Highlighter is highlighting
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js | Right node is highlighted - Got [object HTMLDivElement @ 0x27b45c68 (native @ 0x17026da0)], expected [object HTMLSpanElement @ 0x2949cf38 (native @ 0x2d0b5720)]
Stack trace:
    JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 474
    JS frame :: chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js :: testHighlighter :: line 74
    JS frame :: chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js :: startInspectorTests :: line 57
    JS frame :: chrome://mochitests/content/browser/browser/devtools/inspector/test/browser_inspector_initialization.js :: <TOP_LEVEL> :: line 30
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: effort :: line 53
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: resolveDeferred :: line 125
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: then :: line 34
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: resolve :: line 167
    JS frame :: resource:///modules/devtools/gDevTools.jsm :: <TOP_LEVEL> :: line 175
    JS frame :: resource:///modules/devtools/EventEmitter.jsm :: <TOP_LEVEL> :: line 52
    JS frame :: resource:///modules/devtools/EventEmitter.jsm :: EventEmitter_emit :: line 96
    JS frame :: resource://gre/modules/devtools/Toolbox.jsm :: <TOP_LEVEL> :: line 417
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: effort :: line 53
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: resolveDeferred :: line 125
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: then :: line 34
    JS frame :: resource://gre/modules/commonjs/promise/core.js :: resolve :: line 167
    JS frame :: resource://gre/modules/devtools/InspectorPanel.jsm :: <TOP_LEVEL> :: line 114
    JS frame :: resource:///modules/devtools/EventEmitter.jsm :: <TOP_LEVEL> :: line 52
    JS frame :: resource:///modules/devtools/EventEmitter.jsm :: EventEmitter_emit :: line 96
    JS frame :: resource://gre/modules/devtools/InspectorPanel.jsm :: InspectorPanel__onMarkupFrameLoad :: line 409
    JS frame :: resource://gre/modules/devtools/InspectorPanel.jsm :: InspectorPanel_initMarkupPanel_onload :: line 386
    native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
}
Blocks: 820315
Summary: Intermittent browser_inspector_initialization.js | Right node is highlighted - Got [object HTMLDivElement @ 0x27b45c68 (native @ 0x17026da0)], expected [object HTMLSpanElement @ 0x2949cf38 (native @ 0x2d0b5720)] → Intermittent browser_inspector_initialization.js | Right node is highlighted - Got [object HTMLDivElement], expected [object HTMLSpanElement]
Might be too soon to say, but those two on the only two runs of browser-chrome on Win8 in the history of forever sort of imply this might be permaorage there.
FWIW, this failure happens on my local machine *every* single time.
Attached image Detailed screenshot
So this is why the test is perma failure on my local machine, the new win 8 machines and is intermittent on windows 7.

The screenshot is vertically split into two images :
1) The above one is the setup how my browser mochitests run. The Firefox window is covering the left half of windows, This can be achieved for any window by pressing "Windows + Left/Right button on Window.

2) In this configuration , and with the toolbox open, the span splits up into two lines. Since its a span and not a div, it is now composed of 2 client rectangles.

3) Highlighter uses bounding rectangle to show the veil, while the document.elementFromPoint iterates over all client rects to get the actual element under a point.

4) In the test, we use the bounding rects to calculate the center point of the rectangle and then calculate the element under that point.

5) The lower half part of screenshot shows that the denter point is actually outside of the client rects of the span :)

There are many ways to fix this. I will go with the simplest :)
Assignee: nobody → scrapmachines
Status: NEW → ASSIGNED
Attached patch patchSplinter Review
One liner!
Attachment #721786 - Flags: review?(paul)
Jimm, can you push this patch to run on Windows 8 machines (basically cedar tree) ?
Flags: needinfo?(jmathies)
Blocks: win8-tests
(In reply to Girish Sharma [:Optimizer] from comment #14)
> Jimm, can you push this patch to run on Windows 8 machines (basically cedar
> tree) ?

Shouldn't it land on mc for the win7 fix? It'll get merged over to Cedar from there.
Flags: needinfo?(jmathies)
Attachment #721786 - Flags: review?(paul) → review+
(In reply to Jim Mathies [:jimm] from comment #15)
> (In reply to Girish Sharma [:Optimizer] from comment #14)
> > Jimm, can you push this patch to run on Windows 8 machines (basically cedar
> > tree) ?
> 
> Shouldn't it land on mc for the win7 fix? It'll get merged over to Cedar
> from there.

It will land on m-c only (via fx-team path), but I wanted to doubly make sure that it fixes the perma-orange that was seen for Win 8 builds.

Anyways, we can wait and see too :)
Whiteboard: [land-in-fx-team]
(In reply to Girish Sharma [:Optimizer] from comment #16)
> (In reply to Jim Mathies [:jimm] from comment #15)
> > (In reply to Girish Sharma [:Optimizer] from comment #14)
> > > Jimm, can you push this patch to run on Windows 8 machines (basically cedar
> > > tree) ?
> > 
> > Shouldn't it land on mc for the win7 fix? It'll get merged over to Cedar
> > from there.
> 
> It will land on m-c only (via fx-team path), but I wanted to doubly make
> sure that it fixes the perma-orange that was seen for Win 8 builds.
> 
> Anyways, we can wait and see too :)

Ask armenz about direct landings on Cedar. I'm not the owner of that repo and don't know much about its current state.
I'm going to be pushing a bunch of fixes to try and then to inbound, would you like me to take this fix with those?
https://hg.mozilla.org/mozilla-central/rev/2341dac4b811
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 22
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: