Closed Bug 1030399 Opened 10 years ago Closed 10 years ago

reftest runs are triggering " WARNING: Declared InterfaceInfo not found: file $SRC/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365" on each comparison

Categories

(Core :: XPCOM, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: dholbert, Assigned: froydnj)

References

Details

(Keywords: regression)

Attachments

(1 file)

I'm getting output like the following when running reftests, currently:
{
 0:18.45 REFTEST INFO | Discovered 11051 tests, after filtering SKIP tests, we have 10983
 0:18.45 REFTEST TEST-START | data:text/html,<body>
 0:18.45 REFTEST TEST-LOAD | data:text/html,<body> | 0 / 11051 (0%)
 0:18.67 REFTEST INFO | [CONTENT] Using browser remote=false
 0:18.82 REFTEST INFO | drawWindow flags = DRAWWINDOW_DRAW_CARET | DRAWWINDOW_DRAW_VIEW | DRAWWINDOW_USE_WIDGET_LAYERS; window size = 800,1000; test browser size = 800,1000
 0:18.82 REFTEST TEST-LOAD | about:blank | 0 / 11051 (0%)
 0:18.95 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:18.95 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:18.96 REFTEST TEST-PASS | data:text/html,<body> | image comparison (==)
 0:18.96 REFTEST INFO | Loading a blank page
 0:19.07 REFTEST TEST-END | data:text/html,<body>
 0:19.09 REFTEST TEST-START | data:text/plain,
 0:19.09 REFTEST TEST-LOAD | data:text/plain, | 1 / 11051 (0%)
 0:19.25 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:19.25 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:19.26 REFTEST TEST-PASS | data:text/plain, | image comparison (==)
 0:19.26 REFTEST INFO | Loading a blank page
 0:19.32 REFTEST TEST-END | data:text/plain,
 0:19.34 REFTEST TEST-START | data:text/plain,HELLO
 0:19.34 REFTEST TEST-LOAD | data:text/plain,HELLO | 2 / 11051 (0%)
 0:19.49 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:19.49 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:19.50 REFTEST TEST-PASS | data:text/plain,HELLO | image comparison (!=)
 0:19.50 REFTEST INFO | Loading a blank page
 0:19.61 REFTEST TEST-END | data:text/plain,HELLO
 0:19.63 REFTEST TEST-START | file:///scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/layout/reftests/reftest-sanity/test-async.xul
 0:19.63 REFTEST TEST-LOAD | file:///scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/layout/reftests/reftest-sanity/test-async.xul | 3 / 11051 (0%)
 0:20.09 REFTEST TEST-LOAD | file:///scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/layout/reftests/reftest-sanity/test-async-ref.xul | 3 / 11051 (0%)
 0:20.31 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:20.31 [25825] WARNING: Declared InterfaceInfo not found: file /scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp, line 365
 0:20.32 REFTEST TEST-PASS | file:///scratch/work/builds/mozilla-central/mozilla-central.12-12-07.08-38/mozilla/layout/reftests/reftest-sanity/test-async.xul | image comparison (==)
 0:20.32 REFTEST INFO | Loading a blank page
}
...with two warnings about "Declared InterfaceInfo not found" before each TEST-PASS message.

I'm pretty sure this is a new thing.

From breaking at that line (xptiInterfaceInfo.cpp:365) in gdb, it looks like this is inside of xptiInterfaceInfo::GetIIDForParamNoAlloc, which is called (indirectly, a few layers between) by js::CallJSNative.  So I guess we're trying to map an interface IID to actual code.

'call DumpJSStack()' gives me:
  RecordResult() ["chrome://reftest/content/reftest.js":1578]
  this = [object ChromeWindow]

I'm not sure if that line number is reliable, since this file is preprocessed, but if it corresponds to the actual line 1578 in my objdir's reftest.js (./dist/bin/chrome/reftest/content/reftest.js), then it's this line:
>            differences = gWindowUtils.compareCanvases(gCanvas1, gCanvas2, maxDifference);
I'm hitting this with a vanilla debug build, on 64-bit Ubuntu 14.04, with current m-c tip (da1dbcff9493).

My mozconfig:
  mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
  ac_add_options --enable-debug --disable-optimize
(I don't know if this bug belongs in some XPCOM-flavored component or in Testing|Reftest; choosing the latter for now, on the assumption that the harness is doing something bad. We can adjust the component  as more is discovered.)
Keywords: regression
Version: unspecified → Trunk
Using TBPL logs to find the regression range.

I see the warning in a run from 6/5:
https://tbpl.mozilla.org/php/getParsedLog.php?id=41176490&tree=Mozilla-Central
...but not in a run from 5/27:
https://tbpl.mozilla.org/php/getParsedLog.php?id=40496682&tree=Mozilla-Central

so the regression presumably happened in there somewhere. Narrowing further...
m-c regression range:
Log for mozilla-central changeset e99a707fc216 is affected:
https://tbpl.mozilla.org/php/getParsedLog.php?id=41124041&tree=Mozilla-Central
Log for mozilla-central changeset 51b428be6213 is unaffected:
https://tbpl.mozilla.org/php/getParsedLog.php?id=41102918&tree=Mozilla-Central

That yields this regression pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=51b428be6213&tochange=e99a707fc216
...which includes a changeset for bug 996061 that tweaked the logic around this warning:
http://hg.mozilla.org/mozilla-central/rev/5c2eaff26d0c#l1.74

Assuming that this is a regression from that changeset, for the moment. froydnj, do you know what's going on here?
Component: Reftest → XPCOM
Product: Testing → Core
Confirmed that this is a regression from that changeset's push, using inbound TBPL logs.

Log from that changeset's inbound push (bee33343ee18) has the warning:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=bee33343ee18
https://tbpl.mozilla.org/php/getParsedLog.php?id=41062653&tree=Mozilla-Inbound

Log from previous push does not have the warning:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=d5b0cce4d2b5
https://tbpl.mozilla.org/php/getParsedLog.php?id=41061561&tree=Mozilla-Inbound

Also, this warning is spammy enough to make a difference in log-size -- there's a ~3 MB difference in size between those two [uncompressed] logs. (using "download full log" link, and then gunzipping -- 20MB vs 23MB)
Blocks: 996061
Flags: needinfo?(nfroyd)
Yeah, bug 996061 removed a lot of xpt interface info for DOM interfaces and substituted fake-but-functional interface info for those interfaces.  So we're triggering that warning for a wider variety of interfaces, including, I believe, nsIDOMWindow in that compareCanvases.

I think removing the warning is reasonable.
Flags: needinfo?(nfroyd)
Cool! Mind doing that?

(I'd rather not be the one to do it, since this is the first time I've ever looked at XPT code, and I don't really understand the implications.)
Assignee: nobody → nfroyd
This warning isn't that helpful anymore, because it means that we don't
have interface info from an .xpt.  For DOM interfaces, that's OK,
because we'll have shimmed interface info instead.  So just remove the
warnings.
Attachment #8446532 - Flags: review?(bobbyholley)
Attachment #8446532 - Flags: review?(bobbyholley) → review+
https://hg.mozilla.org/mozilla-central/rev/de53a2fe0b2e
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: