Closed Bug 1350090 Opened 7 years ago Closed 7 years ago

191,400 instances of "NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005" and NS_FAILED emitted from extensions/cookie/nsPermissionManager.cpp during linux64 debug testing

Categories

(Core :: Security: CAPS, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: erahm, Assigned: ehsan.akhgari)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

> 95685 WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file extensions/cookie/nsPermissionManager.cpp, line 90

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

>   4008 - test-linux64/debug-mochitest-browser-chrome-e10s-12 bc12
>   3819 - test-linux64/debug-mochitest-browser-chrome-e10s-2 bc2
>   3757 - test-linux64/debug-mochitest-browser-chrome-11 bc11
>   3622 - test-linux64/debug-mochitest-browser-chrome-10 bc10
>   3543 - test-linux64/debug-mochitest-jetpack JP
>   3000 - test-linux64/debug-mochitest-browser-chrome-e10s-11 bc11
>   2850 - test-linux64/debug-mochitest-browser-chrome-7 bc7
>   2830 - test-linux64/debug-mochitest-browser-chrome-e10s-10 bc10
>   2544 - test-linux64/debug-mochitest-browser-chrome-1 bc1
>   2528 - test-linux64/debug-mochitest-browser-chrome-e10s-3 bc3
>   2328 - test-linux64/debug-mochitest-browser-chrome-5 bc5
>   2292 - test-linux64/debug-mochitest-browser-chrome-12 bc12
>   2159 - test-linux64/debug-mochitest-devtools-chrome-5 dt5
>   2054 - test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
>   1962 - test-linux64/debug-mochitest-browser-chrome-e10s-5 bc5
>   1885 - test-linux64/debug-mochitest-devtools-chrome-9 dt9
>   1851 - test-linux64/debug-mochitest-e10s-10 10
>   1822 - test-linux64/debug-mochitest-browser-chrome-e10s-6 bc6
>   1786 - test-linux64/debug-mochitest-browser-chrome-4 bc4
>   1753 - test-linux64/debug-mochitest-browser-chrome-3 bc3
>   1739 - test-linux64/debug-mochitest-browser-chrome-e10s-1 bc1
>   1672 - test-linux64/debug-mochitest-browser-chrome-2 bc2
>   1565 - test-linux64/debug-mochitest-chrome-3 c3
>   1515 - test-linux64/debug-mochitest-devtools-chrome-3 dt3
>   1463 - test-linux64/debug-mochitest-browser-chrome-e10s-8 bc8
>   1399 - test-linux64/debug-mochitest-chrome-1 c1
>   1367 - test-linux64/debug-mochitest-devtools-chrome-8 dt8
>   1361 - test-linux64/debug-mochitest-browser-chrome-e10s-9 bc9
>   1347 - test-linux64/debug-mochitest-devtools-chrome-10 dt10
>   1292 - test-linux64/debug-mochitest-browser-chrome-8 bc8
>   1215 - test-linux64/debug-mochitest-devtools-chrome-1 dt1
>   1214 - test-linux64/debug-mochitest-browser-chrome-9 bc9
>   1194 - test-linux64/debug-mochitest-devtools-chrome-e10s-9 dt9
>   1148 - test-linux64/debug-mochitest-browser-chrome-e10s-4 bc4
>   1129 - test-linux64/debug-mochitest-devtools-chrome-6 dt6
>   1122 - test-linux64/debug-mochitest-browser-chrome-6 bc6
>   1102 - test-linux64/debug-mochitest-devtools-chrome-2 dt2
>   1071 - test-linux64/debug-mochitest-10 10
>   1011 - test-linux64/debug-mochitest-devtools-chrome-e10s-7 dt7
>    996 - test-linux64/debug-mochitest-clipboard cl
>    958 - test-linux64/debug-mochitest-devtools-chrome-4 dt4
>    929 - test-linux64/debug-mochitest-devtools-chrome-e10s-4 dt4
>    813 - test-linux64/debug-mochitest-chrome-2 c2
>    803 - test-linux64/debug-mochitest-devtools-chrome-e10s-1 dt1
>    769 - test-linux64/debug-mochitest-devtools-chrome-e10s-10 dt10
>    693 - test-linux64/debug-mochitest-1 1
>    628 - test-linux64/debug-mochitest-devtools-chrome-7 dt7
>    627 - test-linux64/debug-mochitest-3 3
>    615 - test-linux64/debug-mochitest-e10s-1 1
>    603 - test-linux64/debug-mochitest-e10s-3 3
>    597 - test-linux64/debug-reftest-1 R1
>    597 - test-linux64/debug-reftest-no-accel-1 Ru1
>    594 - test-linux64/debug-mochitest-devtools-chrome-e10s-8 dt8
>    579 - test-linux64/debug-mochitest-devtools-chrome-e10s-5 dt5
>    573 - test-linux64/debug-mochitest-5 5
>    567 - test-linux64/debug-reftest-no-accel-e10s-1 Ru1
>    567 - test-linux64/debug-reftest-e10s-1 R1
>    485 - test-linux64/debug-mochitest-2 2
>    465 - test-linux64/debug-mochitest-clipboard-e10s cl
>    423 - test-linux64/debug-mochitest-e10s-5 5
>    370 - test-linux64/debug-mochitest-devtools-chrome-e10s-3 dt3
>    350 - test-linux64/debug-mochitest-devtools-chrome-e10s-2 dt2
>    348 - test-linux64/debug-mochitest-6 6
>    306 - test-linux64/debug-mochitest-devtools-chrome-e10s-6 dt6
>    291 - test-linux64/debug-mochitest-8 8
>    289 - test-linux64/debug-mochitest-a11y a11y
>    282 - test-linux64/debug-mochitest-e10s-8 8
>    249 - test-linux64/debug-mochitest-e10s-2 2
>    240 - test-linux64/debug-mochitest-e10s-6 6
>    228 - test-linux64/debug-mochitest-9 9
>    213 - test-linux64/debug-mochitest-e10s-9 9
>    198 - test-linux64/debug-mochitest-7 7
>    153 - test-linux64/debug-mochitest-e10s-7 7
>    120 - test-linux64/debug-mochitest-4 4
>     57 - test-linux64/debug-mochitest-e10s-4 4
>     50 - test-linux64/debug-mochitest-gpu-e10s gpu
>     42 - test-linux64/debug-crashtest C
>     36 - test-linux64/debug-mochitest-media-3 mda3
>     30 - test-linux64/debug-reftest-no-accel-8 Ru8
>     30 - test-linux64/debug-reftest-8 R8
>     24 - test-linux64/debug-reftest-no-accel-3 Ru3
>     24 - test-linux64/debug-reftest-no-accel-5 Ru5
>     24 - test-linux64/debug-mochitest-webgl-3 gl3
>     24 - test-linux64/debug-reftest-5 R5
>     24 - test-linux64/debug-mochitest-media-1 mda1
>     24 - test-linux64/debug-reftest-3 R3
>     24 - test-linux64/debug-mochitest-media-2 mda2
>     21 - test-linux64/debug-reftest-e10s-8 R8
>     21 - test-linux64/debug-reftest-no-accel-e10s-8 Ru8
>     18 - test-linux64/debug-reftest-2 R2
>     18 - test-linux64/debug-reftest-no-accel-4 Ru4
>     18 - test-linux64/debug-reftest-no-accel-6 Ru6
>     18 - test-linux64/debug-reftest-7 R7
>     18 - test-linux64/debug-reftest-no-accel-2 Ru2
>     18 - test-linux64/debug-reftest-no-accel-7 Ru7
>     18 - test-linux64/debug-reftest-4 R4
>     18 - test-linux64/debug-reftest-6 R6
>     18 - test-linux64/debug-mochitest-media-e10s-3 mda3
>     18 - test-linux64/debug-crashtest-e10s C
>     18 - test-linux64/debug-mochitest-media-e10s-1 mda1
>     15 - test-linux64/debug-reftest-e10s-3 R3
>     15 - test-linux64/debug-mochitest-media-e10s-2 mda2
>     15 - test-linux64/debug-reftest-no-accel-e10s-3 Ru3
>     12 - test-linux64/debug-mochitest-webgl-1 gl1
>     12 - test-linux64/debug-jsreftest-3 J3
>     12 - test-linux64/debug-jsreftest-1 J1
>     12 - test-linux64/debug-jsreftest-2 J2
>     12 - test-linux64/debug-mochitest-webgl-e10s-3 gl3
>      9 - test-linux64/debug-reftest-e10s-7 R7
>      9 - test-linux64/debug-reftest-e10s-5 R5
>      9 - test-linux64/debug-reftest-no-accel-e10s-4 Ru4
>      9 - test-linux64/debug-reftest-no-accel-e10s-5 Ru5
>      9 - test-linux64/debug-reftest-no-accel-e10s-7 Ru7
>      9 - test-linux64/debug-reftest-e10s-4 R4
>      6 - test-linux64/debug-mochitest-webgl-e10s-1 gl1
>      6 - test-linux64/debug-mochitest-webgl-2 gl2
>      3 - test-linux64/debug-mochitest-webgl-e10s-2 gl2
>      3 - test-linux64/debug-reftest-e10s-2 R2
>      3 - test-linux64/debug-jsreftest-e10s-3 J3
>      3 - test-linux64/debug-reftest-no-accel-e10s-2 Ru2
>      3 - test-linux64/debug-jsreftest-e10s-2 J2
>      3 - test-linux64/debug-jsreftest-e10s-1 J1
>      3 - test-linux64/debug-reftest-e10s-6 R6
>      3 - test-linux64/debug-reftest-no-accel-e10s-6 Ru6

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

>   4098 -        Shutdown
>   1365 - [e10s] Shutdown
>   1266 -        jetpack-package/addon-sdk/source/test/test-simple-prefs.js.testUnloadOfDynamicPrefGeneration
>    270 - [e10s] toolkit/mozapps/extensions/test/browser/browser_discovery.js
>    267 - [e10s] browser/components/sessionstore/test/browser_354894_perwindowpb.js
>    246 -        browser/components/sessionstore/test/browser_354894_perwindowpb.js
>    240 - [e10s] toolkit/mozapps/extensions/test/browser/browser_bug562797.js
>    195 -        dom/tests/browser/browser_focus_steal_from_chrome.js
>    183 - [e10s] dom/tests/browser/browser_focus_steal_from_chrome.js
>    183 -        browser/components/extensions/test/browser/browser_ext_browserAction_popup.js

[1] https://hg.mozilla.org/mozilla-central/annotate/200182ef1156/extensions/cookie/nsPermissionManager.cpp#l90
This warning was introduced in bug 1269361, I'll see if I can get a regression range.
See Also: → 1269361
This appears to be a regression from bug 1340710:

> 5:57.40 INFO: Last good revision: dc335045a33b563f7e4010c9a33d4c9f407d6b0f
> 5:57.40 INFO: First bad revision: 5dd02b882459fe98a58cde580a215793def4880e
> 5:57.40 INFO: Pushlog:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=dc335045a33b563f7e4010c9a33d4c9f407d6b0f&tochange=5dd02b882459fe98a58cde580a215793def4880e
Blocks: 1340710
Component: DOM → Security: CAPS
Flags: needinfo?(ehsan)
Summary: 95,700 instances of "NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005" emitted from extensions/cookie/nsPermissionManager.cpp during linux64 debug testing → 191,400 instances of "NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005" and NS_FAILED emitted from extensions/cookie/nsPermissionManager.cpp during linux64 debug testing
I will be able to look at this no earlier than in the first week of April (hopefully.)
Flags: needinfo?(ehsan)
Flags: needinfo?(ehsan)
I managed to look at this today.

The call stack says it all:

(lldb) bt 30
* thread #1: tid = 0x909522, 0x0000000104582eb9 XUL`nsPrincipal::GetOriginInternal(this=0x0000000122abf480, aOrigin="") + 521 at nsPrincipal.cpp:163, queue = 'com.apple.main-thread', stop reason = step over
    frame #0: 0x0000000104582eb9 XUL`nsPrincipal::GetOriginInternal(this=0x0000000122abf480, aOrigin="") + 521 at nsPrincipal.cpp:163
  * frame #1: 0x0000000104576a58 XUL`mozilla::BasePrincipal::GetOriginNoSuffix(this=0x0000000122abf480, aOrigin="") + 120 at BasePrincipal.cpp:328
    frame #2: 0x00000001043c6ee7 XUL`(anonymous namespace)::GetOriginFromPrincipal(aPrincipal=0x0000000122abf480, aOrigin="") + 87 at nsPermissionManager.cpp:106
    frame #3: 0x00000001043c6da0 XUL`nsPermissionManager::PermissionKey::CreateFromPrincipal(aPrincipal=0x0000000122abf480, aResult=0x00007fff5fbee134) + 64 at nsPermissionManager.cpp:613
    frame #4: 0x00000001043d4d2f XUL`nsPermissionManager::GetPermissionHashKey(this=0x00000001229f0560, aPrincipal=0x0000000122abf480, aType=3, aExactHostMatch=false) + 79 at nsPermissionManager.cpp:2154
    frame #5: 0x00000001043d43bb XUL`nsPermissionManager::CommonTestPermission(this=0x00000001229f0560, aPrincipal=0x0000000122abf480, aType="allowXULXBL", aPermission=0x00007fff5fbee388, aExactHostMatch=false, aIncludingSession=true) + 939 at nsPermissionManager.cpp:2126
    frame #6: 0x00000001043d4646 XUL`nsPermissionManager::TestPermissionFromPrincipal(this=0x00000001229f0560, aPrincipal=0x0000000122abf480, aType="allowXULXBL", aPermission=0x00007fff5fbee388) + 54 at nsPermissionManager.cpp:2008
    frame #7: 0x0000000104e7f59e XUL`TestSitePerm(aPrincipal=0x0000000122abf480, aType="allowXULXBL", aPerm=1, aExactHostMatch=false) + 270 at nsContentUtils.cpp:3475
    frame #8: 0x0000000104e7f484 XUL`nsContentUtils::IsSitePermAllow(aPrincipal=0x0000000122abf480, aType="allowXULXBL") + 36 at nsContentUtils.cpp:3485
    frame #9: 0x0000000104e79e67 XUL`nsContentUtils::AllowXULXBLForPrincipal(aPrincipal=0x0000000122abf480) + 215 at nsContentUtils.cpp:6664
    frame #10: 0x0000000104f3e087 XUL`TreatAsRemoteXUL(aPrincipal=0x0000000122abf480) + 119 at nsGlobalWindow.cpp:2600
    frame #11: 0x0000000104ef63b7 XUL`CreateNativeGlobalForInner(aCx=0x000000011cf3c000, aNewInner=0x000000012c720800, aURI=0x0000000122abf3e0, aPrincipal=0x0000000122abf480, aGlobal=MutableHandle<JSObject *> @ 0x00007fff5fbee5b0, aIsSecureContext=false) + 887 at nsGlobalWindow.cpp:2777
    frame #12: 0x0000000104ef3f6b XUL`nsGlobalWindow::SetNewDocument(this=0x000000012c703800, aDocument=0x000000012507e000, aState=0x0000000000000000, aForceReuseInnerWindow=false) + 3531 at nsGlobalWindow.cpp:2986
    frame #13: 0x0000000107d13812 XUL`nsDocumentViewer::InitInternal(this=0x000000011df55ed0, aParentWidget=0x0000000000000000, aState=0x0000000000000000, aBounds=0, 0, 10, 10, aDoCreation=true, aNeedMakeCX=true, aForceSetNewDocument=true) + 2482 at nsDocumentViewer.cpp:920
    frame #14: 0x0000000107d12e56 XUL`nsDocumentViewer::Init(this=0x000000011df55ed0, aParentWidget=0x0000000000000000, aBounds=0, 0, 10, 10) + 70 at nsDocumentViewer.cpp:663
    frame #15: 0x000000010985af28 XUL`nsDocShell::SetupNewViewer(this=0x000000012c28a800, aNewViewer=0x000000011df55ed0) + 3976 at nsDocShell.cpp:9460
    frame #16: 0x0000000109859c9b XUL`nsDocShell::Embed(this=0x000000012c28a800, aContentViewer=0x000000011df55ed0, aCommand="", aExtraInfo=0x0000000000000000) + 59 at nsDocShell.cpp:7286
    frame #17: 0x0000000109861a9c XUL`nsDocShell::CreateAboutBlankContentViewer(this=0x000000012c28a800, aPrincipal=0x0000000000000000, aBaseURI=0x0000000000000000, aTryToSaveOldPresentation=true, aCheckPermitUnload=true) + 1964 at nsDocShell.cpp:8159
    frame #18: 0x0000000109834444 XUL`nsDocShell::EnsureContentViewer(this=0x000000012c28a800) + 420 at nsDocShell.cpp:8014
    frame #19: 0x0000000109840bed XUL`nsDocShell::GetDocument(this=0x000000012c28a800) + 29 at nsDocShell.cpp:4575
    frame #20: 0x0000000104f39e28 XUL`nsPIDOMWindow<mozIDOMWindowProxy>::MaybeCreateDoc(this=0x000000012c703800) + 168 at nsGlobalWindow.cpp:3981
    frame #21: 0x0000000103049ca4 XUL`nsPIDOMWindow<mozIDOMWindowProxy>::GetDoc(this=0x000000012c703800) + 52 at nsPIDOMWindow.h:213
    frame #22: 0x000000010423aa23 XUL`nsPIDOMWindowOuter::EnsureInnerWindow(this=0x000000012c703820) + 131 at nsPIDOMWindow.h:924
    frame #23: 0x0000000104f3bf3b XUL`nsGlobalWindow::WrapObject(this=0x000000012c703800, cx=0x000000011cf3c000, aGivenProto=Handle<JSObject *> @ 0x00007fff5fbef758) + 75 at nsGlobalWindow.h:318
    frame #24: 0x00000001042a53b2 XUL`XPCConvert::NativeInterface2JSObject(d=JS::MutableHandleValue @ 0x00007fff5fbef980, dest=0x0000000000000000, aHelper=0x00007fff5fbefa80, iid=0x00007fff5fbefdb0, allowNativeWrapper=true, pErr=0x00007fff5fbefd34) + 674 at XPCConvert.cpp:792
    frame #25: 0x00000001042a49fe XUL`XPCConvert::NativeData2JS(d=JS::MutableHandleValue @ 0x00007fff5fbefbd8, s=0x00007fff5fbefeb8, type=0x00007fff5fbefd48, iid=0x00007fff5fbefdb0, pErr=0x00007fff5fbefd34) + 3358 at XPCConvert.cpp:346


This happens when we are trying to get the origin out of a principal for about:blank, which will throw, which is expected.  We should just turn this warning off.
Flags: needinfo?(ehsan)
Assignee: nobody → ehsan
Comment on attachment 8851303 [details] [diff] [review]
Turn off the spammy warning that goes off every time we create an about:blank content viewer

Review of attachment 8851303 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks!
Attachment #8851303 - Flags: review?(michael) → review+
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/27cda2c75c46
Turn off the spammy warning that goes off every time we create an about:blank content viewer; r=mystor
https://hg.mozilla.org/mozilla-central/rev/27cda2c75c46
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: