All users were logged out of Bugzilla on October 13th, 2018

4,400 instances of "'NS_FAILED(rv)'" emitted from dom/xhr/XMLHttpRequestMainThread.cpp during linux64 debug testing

RESOLVED FIXED in Firefox 55

Status

()

P2
normal
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: erahm, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
mozilla55
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox55 fixed)

Details

Attachments

(1 attachment)

(Reporter)

Description

2 years ago
> 4414 WARNING: 'NS_FAILED(rv)', file dom/xhr/XMLHttpRequestMainThread.cpp, line 2000

This warning [1] shows up in the following test suites:

>    443 - test-linux64/debug-mochitest-browser-chrome-9 bc9
>    414 - test-linux64/debug-mochitest-browser-chrome-e10s-5 bc5
>    306 - test-linux64/debug-mochitest-browser-chrome-e10s-15 bc15
>    276 - test-linux64/debug-mochitest-browser-chrome-e10s-6 bc6
>    267 - test-linux64/debug-mochitest-browser-chrome-16 bc16
>    240 - test-linux64/debug-mochitest-browser-chrome-2 bc2
>    195 - test-linux64/debug-mochitest-browser-chrome-1 bc1
>    183 - test-linux64/debug-mochitest-browser-chrome-e10s-4 bc4
>    175 - test-linux64/debug-mochitest-browser-chrome-e10s-16 bc16
>    118 - test-linux64/debug-mochitest-browser-chrome-14 bc14
>    115 - test-linux64/debug-mochitest-browser-chrome-15 bc15
>    109 - test-linux64/debug-mochitest-browser-chrome-e10s-13 bc13
>     95 - test-linux64/debug-mochitest-browser-chrome-e10s-14 bc14
>     74 - test-linux64/debug-mochitest-browser-chrome-e10s-10 bc10
>     66 - test-linux64/debug-mochitest-browser-chrome-e10s-8 bc8
>     56 - test-linux64/debug-mochitest-browser-chrome-10 bc10
>     54 - test-linux64/debug-mochitest-clipboard-e10s cl
>     54 - test-linux64/debug-mochitest-clipboard cl
>     54 - test-linux64/debug-mochitest-browser-chrome-11 bc11
>     54 - test-linux64/debug-mochitest-browser-chrome-e10s-1 bc1
>     51 - test-linux64/debug-mochitest-browser-chrome-8 bc8
>     44 - test-linux64/debug-mochitest-browser-chrome-e10s-9 bc9
>     40 - test-linux64/debug-firefox-ui-functional-remote en-US
>     40 - test-linux64/debug-firefox-ui-functional-remote-e10s en-US
>     40 - test-linux64/debug-mochitest-browser-chrome-6 bc6
>     39 - test-linux64/debug-mochitest-browser-chrome-7 bc7
>     39 - test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
>     36 - test-linux64/debug-mochitest-browser-chrome-e10s-2 bc2
>     34 - test-linux64/debug-mochitest-browser-chrome-3 bc3
>     33 - test-linux64/debug-mochitest-browser-chrome-e10s-3 bc3
>     27 - test-linux64/debug-mochitest-devtools-chrome-e10s-5 dt5
>     27 - test-linux64/debug-mochitest-jetpack JP
>     24 - test-linux64/debug-mochitest-e10s-1 1
>     24 - test-linux64/debug-mochitest-browser-chrome-4 bc4
>     24 - test-linux64/debug-mochitest-1 1
>     24 - test-linux64/debug-mochitest-browser-chrome-5 bc5
>     21 - test-linux64/debug-mochitest-devtools-chrome-e10s-4 dt4
>     21 - test-linux64/debug-mochitest-10 10
>     21 - test-linux64/debug-mochitest-e10s-10 10
>     18 - test-linux64/debug-mochitest-devtools-chrome-1 dt1
>     18 - test-linux64/debug-mochitest-devtools-chrome-3 dt3
>     18 - test-linux64/debug-mochitest-devtools-chrome-e10s-1 dt1
>     18 - test-linux64/debug-mochitest-devtools-chrome-e10s-6 dt6
>     16 - test-linux64/debug-mochitest-chrome-1 c1
>     15 - test-linux64/debug-mochitest-e10s-6 6
>     15 - test-linux64/debug-mochitest-devtools-chrome-6 dt6
>     15 - test-linux64/debug-mochitest-e10s-7 7
>     15 - test-linux64/debug-mochitest-7 7
>     15 - test-linux64/debug-mochitest-devtools-chrome-8 dt8
>     15 - test-linux64/debug-mochitest-6 6
>     15 - test-linux64/debug-mochitest-a11y a11y
>     12 - test-linux64/debug-mochitest-e10s-9 9
>     12 - test-linux64/debug-mochitest-chrome-3 c3
>     12 - test-linux64/debug-mochitest-e10s-2 2
>     12 - test-linux64/debug-mochitest-devtools-chrome-4 dt4
>     12 - test-linux64/debug-mochitest-2 2
>     12 - test-linux64/debug-mochitest-devtools-chrome-e10s-2 dt2
>     12 - test-linux64/debug-mochitest-devtools-chrome-5 dt5
>     12 - test-linux64/debug-mochitest-devtools-chrome-e10s-3 dt3
>     12 - test-linux64/debug-mochitest-devtools-chrome-7 dt7
>     12 - test-linux64/debug-mochitest-5 5
>     12 - test-linux64/debug-mochitest-devtools-chrome-2 dt2
>     12 - test-linux64/debug-mochitest-8 8
>     12 - test-linux64/debug-firefox-ui-functional-local en-US
>      9 - test-linux64/debug-mochitest-e10s-8 8
>      9 - test-linux64/debug-mochitest-3 3
>      9 - test-linux64/debug-mochitest-e10s-3 3
>      9 - test-linux64/debug-mochitest-9 9
>      9 - test-linux64/debug-mochitest-e10s-5 5
>      6 - test-linux64/debug-mochitest-devtools-chrome-9 dt9
>      6 - test-linux64/debug-mochitest-devtools-chrome-e10s-9 dt9
>      6 - test-linux64/debug-mochitest-devtools-chrome-e10s-8 dt8
>      6 - test-linux64/debug-mochitest-devtools-chrome-e10s-7 dt7
>      6 - test-linux64/debug-mochitest-chrome-2 c2
>      3 - test-linux64/debug-mochitest-devtools-chrome-10 dt10
>      3 - test-linux64/debug-mochitest-e10s-4 4
>      3 - test-linux64/debug-mochitest-devtools-chrome-e10s-10 dt10
>      3 - test-linux64/debug-mochitest-media-3 mda3
>      3 - test-linux64/debug-mochitest-browser-chrome-e10s-12 bc12
>      3 - test-linux64/debug-mochitest-browser-chrome-13 bc13
>      3 - test-linux64/debug-mochitest-media-e10s-3 mda3
>      3 - test-linux64/debug-mochitest-4 4
>      3 - test-linux64/debug-mochitest-browser-chrome-e10s-11 bc11
>      3 - test-linux64/debug-mochitest-browser-chrome-12 bc12
>      3 - test-linux64/debug-mochitest-gpu-e10s gpu

It shows up in 857 tests. A few of the most prevalent:

>    107 -        browser/components/search/test/browser_yahoo_behavior.js
>     84 - [e10s] browser/base/content/test/general/browser_aboutHome.js
>     84 -        browser/base/content/test/general/browser_aboutHome.js
>     59 -        browser/components/search/test/browser_amazon_behavior.js
>     54 - [e10s] browser/modules/test/browser/browser_ContentSearch.js
>     51 -        browser/modules/test/browser/browser_ContentSearch.js
>     47 - [e10s] browser/components/search/test/browser_amazon_behavior.js
>     46 - [e10s] browser/modules/test/browser/browser_UsageTelemetry_urlbar.js
>     46 - [e10s] browser/components/search/test/browser_webapi.js
>     46 -        browser/modules/test/browser/browser_UsageTelemetry_urlbar.js

[1] https://hg.mozilla.org/mozilla-central/annotate/cac374fb0de1/dom/xhr/XMLHttpRequestMainThread.cpp#l2000
(Reporter)

Comment 1

2 years ago
Mike, bisection points to a large uptick in this warning with the landing of bug 1337560.
Blocks: 1337560
Flags: needinfo?(mozilla)

Comment 2

2 years ago
Is it showing up on any other platforms? Or is this unique to Linux?
Flags: needinfo?(mozilla)
(Reporter)

Comment 3

2 years ago
(In reply to Mike Kaply [:mkaply] from comment #2)
> Is it showing up on any other platforms? Or is this unique to Linux?

I'll take a look. Also it looks like it's more prevalent than I thought: 9,100 instances of "'NS_FAILED(rv)'" emitted.
(Reporter)

Comment 4

2 years ago
Looks like it's all platforms, more prevalent on windows and linux, but we don't run as many tests on OSX so that's expected.

9,500 instances of "'NS_FAILED(rv)'" emitted from dom/xhr/XMLHttpRequestMainThread.cpp during windows7-32-vm debug testing

> 9496 WARNING: 'NS_FAILED(rv)', file dom/xhr/XMLHttpRequestMainThread.cpp, line 2000

4,900 instances of "'NS_FAILED(rv)'" emitted from dom/xhr/XMLHttpRequestMainThread.cpp during osx-10-10 debug testing

> 4942 WARNING: 'NS_FAILED(rv)', file dom/xhr/XMLHttpRequestMainThread.cpp, line 2000

Comment 5

2 years ago
Ok that's helpful. I'll try to recreate and fix.

Updated

2 years ago
Priority: -- → P2

Comment 6

2 years ago
OK, I have some output, but the error makes no sense.

On this line

https://hg.mozilla.org/mozilla-central/annotate/cac374fb0de1/dom/xhr/XMLHttpRequestMainThread.cpp#l1999

file is

chrome/en-US/locale/browser/searchplugins/images/wikipedia.ico or
chrome/en-US/locale/browser/searchplugins/images/amazon.ico or
chrome/en-US/locale/browser/searchplugins/images/wikipedia.ico

jarFile is

/home/worker/workspace/build/application/firefox/browser/omni.ja

I've unzipped the omni.ja file in browser and it has 

./chrome/en-US/locale/browser/searchplugins/images/amazon.ico
./chrome/en-US/locale/browser/searchplugins/images/wikipedia.ico
./chrome/en-US/locale/browser/searchplugins/images/yahoo.ico

Next up is getting more information about where mapToFileInPackage is failing.

Comment 7

2 years ago
OK, so the problem is that the function mapToFileInPackage doesn't support compressed files.

https://hg.mozilla.org/mozilla-central/annotate/cac374fb0de1/dom/xhr/XMLHttpRequestMainThread.cpp#l3994

It returns failure in that case. 

But everything still works. So I don't think this function should be doing an NS_WARN in this case.

I've emailed the person who wrote this code, but I have not gotten a response yet.

At this point, I recommend removing the NS_WARN.
(Reporter)

Comment 8

2 years ago
(In reply to Mike Kaply [:mkaply] from comment #7)
> OK, so the problem is that the function mapToFileInPackage doesn't support
> compressed files.
> 
> https://hg.mozilla.org/mozilla-central/annotate/cac374fb0de1/dom/xhr/
> XMLHttpRequestMainThread.cpp#l3994
> 
> It returns failure in that case. 
> 
> But everything still works. So I don't think this function should be doing
> an NS_WARN in this case.
> 
> I've emailed the person who wrote this code, but I have not gotten a
> response yet.
> 
> At this point, I recommend removing the NS_WARN.

Thanks for looking into this Mike, that seems reasonable or perhaps we can bail earlier?
Comment hidden (mozreview-request)
> Thanks for looking into this Mike, that seems reasonable or perhaps we can bail earlier?

Unfortunately we can't bail earlier because we need to have opened the zip to realize the problem.
The backstory here is bug 945152; this was a useful memory-saving feature on B2G, and I'm assuming the warning was meant to detect regressions or other cases where direct memory-mapping was expected but didn't happen.  I don't know whether we're actively using it for anything on desktop.  But the fact that the XHR is set to yield an ArrayBuffer isn't sufficient to indicate that intent (as we can see here), so it does seem reasonable to turn off the warning.

Comment 12

2 years ago
mozreview-review
Comment on attachment 8860525 [details]
Bug 1357219 - Don't warn if we can't use a memory mapped file.

https://reviewboard.mozilla.org/r/132532/#review135414
Attachment #8860525 - Flags: review?(jld) → review+

Comment 13

2 years ago
Pushed by mozilla@kaply.com:
https://hg.mozilla.org/integration/autoland/rev/2c9b48cce0db
Don't warn if we can't use a memory mapped file. r=jld
https://hg.mozilla.org/mozilla-central/rev/2c9b48cce0db
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox55: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.