81,000 instances of "NS_ENSURE_TRUE(target) failed" emitted from xpcom/threads/nsThreadUtils.cpp during linux64 debug testing

RESOLVED FIXED in Firefox 56

Status

()

Core
XPCOM
RESOLVED FIXED
8 months ago
8 months ago

People

(Reporter: erahm, Assigned: erahm)

Tracking

(Blocks: 1 bug)

Trunk
mozilla56
Points:
---

Firefox Tracking Flags

(firefox56 fixed)

Details

Attachments

(1 attachment)

> 80973 WARNING: NS_ENSURE_TRUE(target) failed: file xpcom/threads/nsThreadUtils.cpp, line 376

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

>   2999 - test-linux64/debug-web-platform-tests-e10s-10 wpt10
>   2876 - test-linux64/debug-web-platform-tests-e10s-1 wpt1
>   2672 - test-linux64/debug-web-platform-tests-e10s-12 wpt12
>   2623 - test-linux64/debug-web-platform-tests-e10s-9 wpt9
>   2595 - test-linux64/debug-web-platform-tests-e10s-6 wpt6
>   2536 - test-linux64/debug-web-platform-tests-e10s-11 wpt11
>   2483 - test-linux64/debug-web-platform-tests-e10s-4 wpt4
>   2331 - test-linux64/debug-web-platform-tests-e10s-2 wpt2
>   2319 - test-linux64/debug-web-platform-tests-e10s-8 wpt8
>   2199 - test-linux64/debug-web-platform-tests-e10s-5 wpt5
>   2140 - test-linux64/debug-web-platform-tests-e10s-3 wpt3
>   2031 - test-linux64/debug-web-platform-tests-e10s-7 wpt7
>   1798 - test-linux64/debug-mochitest-clipboard-e10s cl
>   1476 - test-linux64/debug-web-platform-tests-10 wpt10
>   1458 - test-linux64/debug-web-platform-tests-1 wpt1
>   1429 - test-linux64/debug-mochitest-browser-chrome-e10s-9 bc9
>   1394 - test-linux64/debug-web-platform-tests-reftests-e10s Wr
>   1350 - test-linux64/debug-web-platform-tests-12 wpt12
>   1314 - test-linux64/debug-web-platform-tests-9 wpt9
>   1304 - test-linux64/debug-web-platform-tests-6 wpt6
>   1278 - test-linux64/debug-web-platform-tests-11 wpt11
>   1242 - test-linux64/debug-web-platform-tests-4 wpt4
>   1188 - test-linux64/debug-web-platform-tests-2 wpt2
>   1140 - test-linux64/debug-web-platform-tests-8 wpt8
>   1098 - test-linux64/debug-web-platform-tests-5 wpt5
>   1080 - test-linux64/debug-web-platform-tests-3 wpt3
>    999 - test-linux64/debug-mochitest-2 2
>    990 - test-linux64/debug-web-platform-tests-7 wpt7
>    964 - test-linux64/debug-mochitest-browser-chrome-e10s-8 bc8
>    923 - test-linux64/debug-mochitest-browser-chrome-e10s-11 bc11
>    912 - test-linux64/debug-mochitest-chrome-1 c1
>    890 - test-linux64/debug-mochitest-chrome-3 c3
>    885 - test-linux64/debug-mochitest-browser-chrome-e10s-5 bc5
>    877 - test-linux64/debug-mochitest-browser-chrome-e10s-2 bc2
>    817 - test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
>    805 - test-linux64/debug-mochitest-browser-chrome-e10s-10 bc10
>    800 - test-linux64/debug-mochitest-browser-chrome-e10s-4 bc4
>    771 - test-linux64/debug-mochitest-browser-chrome-e10s-6 bc6
>    746 - test-linux64/debug-mochitest-browser-chrome-e10s-1 bc1
>    740 - test-linux64/debug-mochitest-clipboard cl
>    732 - test-linux64/debug-mochitest-e10s-10 10
>    702 - test-linux64/debug-web-platform-tests-reftests Wr
>    662 - test-linux64/debug-mochitest-chrome-2 c2
>    631 - test-linux64/debug-mochitest-devtools-chrome-e10s-3 dt3
>    596 - test-linux64/debug-mochitest-e10s-5 5
>    554 - test-linux64/debug-mochitest-e10s-6 6
>    539 - test-linux64/debug-mochitest-e10s-4 4
>    534 - test-linux64/debug-mochitest-4 4
>    529 - test-linux64/debug-mochitest-e10s-3 3
>    522 - test-linux64/debug-mochitest-e10s-7 7
>    522 - test-linux64/debug-mochitest-e10s-1 1
>    520 - test-linux64/debug-mochitest-e10s-2 2
>    509 - test-linux64/debug-mochitest-e10s-8 8
>    504 - test-linux64/debug-mochitest-e10s-9 9
>    487 - test-linux64/debug-mochitest-devtools-chrome-e10s-2 dt2
>    441 - test-linux64/debug-mochitest-browser-chrome-e10s-3 bc3
>    440 - test-linux64/debug-mochitest-devtools-chrome-e10s-8 dt8
>    369 - test-linux64/debug-mochitest-devtools-chrome-e10s-6 dt6
>    358 - test-linux64/debug-mochitest-10 10
>    340 - test-linux64/debug-mochitest-5 5
>    340 - test-linux64/debug-mochitest-3 3
>    325 - test-linux64/debug-mochitest-8 8
>    320 - test-linux64/debug-firefox-ui-functional-remote-e10s en-US
>    302 - test-linux64/debug-mochitest-6 6
>    299 - test-linux64/debug-mochitest-gpu-e10s gpu
>    295 - test-linux64/debug-mochitest-devtools-chrome-e10s-5 dt5
>    293 - test-linux64/debug-mochitest-devtools-chrome-e10s-4 dt4
>    285 - test-linux64/debug-mochitest-1 1
>    282 - test-linux64/debug-mochitest-7 7
>    280 - test-linux64/debug-mochitest-9 9
>    269 - test-linux64/debug-mochitest-browser-chrome-1 bc1
>    260 - test-linux64/debug-mochitest-browser-chrome-11 bc11
>    260 - test-linux64/debug-firefox-ui-functional-local-e10s en-US
>    260 - test-linux64/debug-mochitest-browser-chrome-8 bc8
>    240 - test-linux64/debug-mochitest-browser-chrome-6 bc6
>    240 - test-linux64/debug-mochitest-browser-chrome-7 bc7
>    240 - test-linux64/debug-mochitest-browser-chrome-5 bc5
>    240 - test-linux64/debug-mochitest-browser-chrome-9 bc9
>    226 - test-linux64/debug-mochitest-media-e10s-3 mda3
>    220 - test-linux64/debug-mochitest-browser-chrome-10 bc10
>    200 - test-linux64/debug-mochitest-browser-chrome-3 bc3
>    196 - test-linux64/debug-mochitest-devtools-chrome-5 dt5
>    172 - test-linux64/debug-mochitest-devtools-chrome-e10s-7 dt7
>    150 - test-linux64/debug-mochitest-webgl-e10s-3 gl3
>    148 - test-linux64/debug-mochitest-devtools-chrome-e10s-1 dt1
>    136 - test-linux64/debug-mochitest-browser-chrome-2 bc2
>    124 - test-linux64/debug-mochitest-media-e10s-2 mda2
>    120 - test-linux64/debug-mochitest-devtools-chrome-4 dt4
>    120 - test-linux64/debug-mochitest-media-3 mda3
>    120 - test-linux64/debug-mochitest-browser-chrome-4 bc4
>    104 - test-linux64/debug-mochitest-browser-chrome-e10s-15 bc15
>    100 - test-linux64/debug-mochitest-devtools-chrome-7 dt7
>    100 - test-linux64/debug-mochitest-devtools-chrome-2 dt2
>     89 - test-linux64/debug-mochitest-devtools-chrome-e10s-9 dt9
>     89 - test-linux64/debug-mochitest-browser-chrome-e10s-14 bc14
>     80 - test-linux64/debug-mochitest-webgl-3 gl3
>     80 - test-linux64/debug-mochitest-devtools-chrome-6 dt6
>     80 - test-linux64/debug-mochitest-devtools-chrome-1 dt1
>     76 - test-linux64/debug-mochitest-browser-chrome-e10s-13 bc13
>     75 - test-linux64/debug-mochitest-browser-chrome-e10s-12 bc12
>     74 - test-linux64/debug-mochitest-devtools-chrome-e10s-10 dt10
>     74 - test-linux64/debug-mochitest-webgl-e10s-1 gl1
>     73 - test-linux64/debug-mochitest-browser-chrome-e10s-16 bc16
>     72 - test-linux64/debug-mochitest-media-e10s-1 mda1
>     60 - test-linux64/debug-reftest-e10s-8 R8
>     60 - test-linux64/debug-reftest-e10s-4 R4
>     60 - test-linux64/debug-reftest-e10s-3 R3
>     60 - test-linux64/debug-mochitest-media-2 mda2
>     60 - test-linux64/debug-mochitest-devtools-chrome-9 dt9
>     59 - test-linux64/debug-reftest-e10s-7 R7
>     59 - test-linux64/debug-reftest-e10s-5 R5
>     59 - test-linux64/debug-reftest-no-accel-e10s-1 Ru1
>     59 - test-linux64/debug-reftest-no-accel-e10s-8 Ru8
>     59 - test-linux64/debug-reftest-no-accel-e10s-4 Ru4
>     59 - test-linux64/debug-reftest-e10s-1 R1
>     59 - test-linux64/debug-reftest-no-accel-e10s-5 Ru5
>     59 - test-linux64/debug-reftest-no-accel-e10s-3 Ru3
>     52 - test-linux64/debug-reftest-e10s-2 R2
>     52 - test-linux64/debug-reftest-no-accel-e10s-2 Ru2
>     52 - test-linux64/debug-reftest-e10s-6 R6
>     52 - test-linux64/debug-reftest-no-accel-e10s-6 Ru6
>     52 - test-linux64/debug-reftest-no-accel-e10s-7 Ru7
>     52 - test-linux64/debug-crashtest-e10s C
>     44 - test-linux64/debug-mochitest-webgl-e10s-2 gl2
>     40 - test-linux64/debug-mochitest-webgl-1 gl1
>     40 - test-linux64/debug-mochitest-jetpack JP
>     40 - test-linux64/debug-mochitest-media-1 mda1
>     40 - test-linux64/debug-mochitest-devtools-chrome-3 dt3
>     40 - test-linux64/debug-mochitest-devtools-chrome-8 dt8
>     36 - test-linux64/debug-mochitest-a11y a11y
>     20 - test-linux64/debug-reftest-2 R2
>     20 - test-linux64/debug-reftest-no-accel-4 Ru4
>     20 - test-linux64/debug-mochitest-browser-chrome-14 bc14
>     20 - test-linux64/debug-reftest-no-accel-6 Ru6
>     20 - test-linux64/debug-reftest-1 R1
>     20 - test-linux64/debug-reftest-no-accel-3 Ru3
>     20 - test-linux64/debug-reftest-no-accel-5 Ru5
>     20 - test-linux64/debug-reftest-5 R5
>     20 - test-linux64/debug-reftest-no-accel-2 Ru2
>     20 - test-linux64/debug-reftest-no-accel-7 Ru7
>     20 - test-linux64/debug-crashtest C
>     20 - test-linux64/debug-reftest-7 R7
>     20 - test-linux64/debug-mochitest-browser-chrome-13 bc13
>     20 - test-linux64/debug-mochitest-browser-chrome-15 bc15
>     20 - test-linux64/debug-mochitest-browser-chrome-16 bc16
>     20 - test-linux64/debug-reftest-3 R3
>     20 - test-linux64/debug-mochitest-devtools-chrome-10 dt10
>     20 - test-linux64/debug-reftest-4 R4
>     20 - test-linux64/debug-reftest-6 R6
>     20 - test-linux64/debug-mochitest-browser-chrome-12 bc12
>     20 - test-linux64/debug-reftest-8 R8
>     20 - test-linux64/debug-reftest-no-accel-8 Ru8
>     20 - test-linux64/debug-mochitest-webgl-2 gl2
>     20 - test-linux64/debug-reftest-no-accel-1 Ru1
>     18 - test-linux64/debug-firefox-ui-functional-remote en-US
>     18 - test-linux64/debug-firefox-ui-functional-local en-US
>      2 - test-linux64/debug-gtest GTest

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

>  19907 - [e10s] Shutdown
>   9131 -        Shutdown
>    208 - [e10s] dom/tests/browser/browser_largeAllocation_non_win32.js
>    128 -        dom/base/test/chrome/test_swapFrameLoaders.xul
>     94 - [e10s] dom/base/test/browser_force_process_selector.js
>     87 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/bugs/495385-2d.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/bugs/495385-2-ref.html
>     87 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/counters/t1204-implied-02-d-test.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/counters/t1204-implied-02-d-reference.html
>     86 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/variables/variable-declaration-45.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/w3c-css/submitted/variables/support/color-green-ref.html
>     86 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/mathml/stretchy-munderover-2e.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/mathml/stretchy-munderover-2-ref.html
>     79 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/table-anonymous-boxes/208305-1.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/table-anonymous-boxes/208305-1-ref.html

[1] https://hg.mozilla.org/mozilla-central/annotate/72346a4d6afc/xpcom/threads/nsThreadUtils.cpp#l376
This could be fallout from some of Bill's thread changes.
Flags: needinfo?(wmccloskey)
The code was added in bug 1358898.
Flags: needinfo?(wmccloskey) → needinfo?(bugs)
We should remove this warning so that the code is consistent with NS_DispatchTo*Thread.
Created attachment 8879619 [details] [diff] [review]
Stop warning if target is null in idle dispatch
Attachment #8879619 - Flags: review?(nfroyd)
Assignee: nobody → erahm
Status: NEW → ASSIGNED

Updated

8 months ago
Attachment #8879619 - Flags: review?(nfroyd) → review+
Flags: needinfo?(bugs)

Comment 6

8 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/7d042155a088
Status: ASSIGNED → RESOLVED
Last Resolved: 8 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.