Bug: Intermittent toolkit/components/normandy/test/browser/browser_Heartbeat.js | Uncaught exception - at chrome://mochitests/content/browser/toolkit/components/normandy/test/browser/browser_Heartbeat.js:62 - TypeError: can't access property "once", hb.eventEm
Status: RESOLVED
Priority: P5
Resolution: INCOMPLETE
Created: 2020-06-10 17:50:13+00:00
Resolved: 2021-05-04 17:01:47+00:00

**Filed by:** btara [at] mozilla.com
**Parsed log:** https://treeherder.mozilla.org/logviewer.html#?job_id=305805529&repo=mozilla-central
**Full log:** https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/HBah9drSR-WWCZQc6kZxMw/runs/0/artifacts/public/logs/live_backing.log

---

```
[task 2020-06-10T14:56:49.088Z] 14:56:49     INFO - TEST-START | toolkit/components/normandy/test/browser/browser_Heartbeat.js
[task 2020-06-10T14:56:49.149Z] 14:56:49     INFO - GECKO(17690) | [Child 18087, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:49.170Z] 14:56:49     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f72490d4400 == 1 [pid = 18087] [id = {beec61ba-0e36-4d18-8a5f-4f03dd32a1b9}]
[task 2020-06-10T14:56:49.231Z] 14:56:49     INFO - GECKO(17690) | [Parent 17690, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/generic/nsFrameSelection.cpp, line 1623
[task 2020-06-10T14:56:49.241Z] 14:56:49     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f725ee93520) [pid = 18087] [serial = 1] [outer = (nil)]
[task 2020-06-10T14:56:49.241Z] 14:56:49     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f7242f67800) [pid = 18087] [serial = 2] [outer = 0x7f725ee93520]
[task 2020-06-10T14:56:49.569Z] 14:56:49     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f7249006000) [pid = 18087] [serial = 3] [outer = 0x7f725ee93520]
[task 2020-06-10T14:56:49.604Z] 14:56:49     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18111.log
[task 2020-06-10T14:56:49.606Z] 14:56:49     INFO - GECKO(17690) | [18111, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:49.782Z] 14:56:49     INFO - GECKO(17690) | [Child 17788: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (0x7fbfd56e0800) [pid = 17788] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:49.921Z] 14:56:49     INFO - GECKO(17690) | [Child 17788: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (0x7fbff1993520) [pid = 17788] [serial = 1] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.331Z] 14:56:50     INFO - GECKO(17690) | [Child 18111, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:50.350Z] 14:56:50     INFO - GECKO(17690) | [Child 18111: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f7aaec98000 == 1 [pid = 18111] [id = {b94b1703-79c3-4a74-9f40-e6ad4f35adb4}]
[task 2020-06-10T14:56:50.453Z] 14:56:50     INFO - GECKO(17690) | [Child 18111: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f7ac4a93520) [pid = 18111] [serial = 1] [outer = (nil)]
[task 2020-06-10T14:56:50.455Z] 14:56:50     INFO - GECKO(17690) | [Child 18111: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f7aa8bc6800) [pid = 18111] [serial = 2] [outer = 0x7f7ac4a93520]
[task 2020-06-10T14:56:50.543Z] 14:56:50     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18138.log
[task 2020-06-10T14:56:50.551Z] 14:56:50     INFO - GECKO(17690) | [18138, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:50.668Z] 14:56:50     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18139.log
[task 2020-06-10T14:56:50.668Z] 14:56:50     INFO - GECKO(17690) | [18139, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:50.773Z] 14:56:50     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (0x7f912a5e2c00) [pid = 17814] [serial = 6] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.774Z] 14:56:50     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (0x7f912a57b000) [pid = 17814] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.775Z] 14:56:50     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (0x7f912a5e5000) [pid = 17814] [serial = 8] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.776Z] 14:56:50     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 11 (0x7f912a5e0400) [pid = 17814] [serial = 4] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.776Z] 14:56:50     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 10 (0x7f912a5e7c00) [pid = 17814] [serial = 10] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:50.798Z] 14:56:50     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f72490d4400 == 0 [pid = 18087] [id = {beec61ba-0e36-4d18-8a5f-4f03dd32a1b9}] [url = https://example.org/learnmore]
[task 2020-06-10T14:56:51.152Z] 14:56:51     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7f725ee93520) [pid = 18087] [serial = 1] [outer = (nil)] [url = https://example.org/learnmore]
[task 2020-06-10T14:56:51.160Z] 14:56:51     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f7242f67800) [pid = 18087] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:51.161Z] 14:56:51     INFO - GECKO(17690) | [Child 18087: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f7249006000) [pid = 18087] [serial = 3] [outer = (nil)] [url = https://example.org/learnmore]
[task 2020-06-10T14:56:51.281Z] 14:56:51     INFO - GECKO(17690) | [Child 18087, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-06-10T14:56:51.337Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18155.log
[task 2020-06-10T14:56:51.339Z] 14:56:51     INFO - GECKO(17690) | [18155, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:51.460Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18157.log
[task 2020-06-10T14:56:51.461Z] 14:56:51     INFO - GECKO(17690) | [18157, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:51.469Z] 14:56:51     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f912a57fc00 == 4 [pid = 17814] [id = {aef5a187-0d3c-476a-86c7-0371ca3dfcab}] [url = moz-extension://1a91ffe1-f437-4028-b703-4a6584949c86/_generated_background_page.html]
[task 2020-06-10T14:56:51.470Z] 14:56:51     INFO - GECKO(17690) | [Child 17814: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 9 (0x7f9145a936f0) [pid = 17814] [serial = 3] [outer = (nil)] [url = moz-extension://1a91ffe1-f437-4028-b703-4a6584949c86/_generated_background_page.html]
[task 2020-06-10T14:56:51.497Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18160.log
[task 2020-06-10T14:56:51.498Z] 14:56:51     INFO - GECKO(17690) | [18160, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:51.559Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18162.log
[task 2020-06-10T14:56:51.576Z] 14:56:51     INFO - GECKO(17690) | [18162, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:51.637Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18167.log
[task 2020-06-10T14:56:51.638Z] 14:56:51     INFO - GECKO(17690) | [18167, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:51.718Z] 14:56:51     INFO - GECKO(17690) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmp78GgRU.mozrunner/runtests_leaks_tab_pid18176.log
[task 2020-06-10T14:56:51.719Z] 14:56:51     INFO - GECKO(17690) | [18176, Main Thread] WARNING: XPCOM_MEM_BLOAT_LOG is set, disabling native allocations.: file /builds/worker/checkouts/gecko/tools/profiler/core/platform.cpp, line 243
[task 2020-06-10T14:56:52.478Z] 14:56:52     INFO - GECKO(17690) | [Child 18138, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:52.615Z] 14:56:52     INFO - GECKO(17690) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-06-10T14:56:52.616Z] 14:56:52     INFO - GECKO(17690) | [Child 18157, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp, line 377
[task 2020-06-10T14:56:52.623Z] 14:56:52     INFO - GECKO(17690) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-06-10T14:56:52.624Z] 14:56:52     INFO - GECKO(17690) | [Child 18160, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp, line 377
[task 2020-06-10T14:56:52.745Z] 14:56:52     INFO - GECKO(17690) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-06-10T14:56:52.746Z] 14:56:52     INFO - GECKO(17690) | [Child 18167, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp, line 377
[task 2020-06-10T14:56:52.841Z] 14:56:52     INFO - GECKO(17690) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-06-10T14:56:52.842Z] 14:56:52     INFO - GECKO(17690) | [Child 18162, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp, line 377
[task 2020-06-10T14:56:52.917Z] 14:56:52     INFO - GECKO(17690) | [Child 18139, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:52.973Z] 14:56:52     INFO - GECKO(17690) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-06-10T14:56:52.974Z] 14:56:52     INFO - GECKO(17690) | [Child 18176, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp, line 377
[task 2020-06-10T14:56:53.188Z] 14:56:53     INFO - GECKO(17690) | [Child 18160, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.192Z] 14:56:53     INFO - GECKO(17690) | [Child 18157, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.261Z] 14:56:53     INFO - GECKO(17690) | [Child 18155, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.358Z] 14:56:53     INFO - GECKO(17690) | [Child 18162, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.494Z] 14:56:53     INFO - GECKO(17690) | [Child 18111: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f7aaeb99800) [pid = 18111] [serial = 3] [outer = 0x7f7ac4a93520]
[task 2020-06-10T14:56:53.631Z] 14:56:53     INFO - GECKO(17690) | [Child 18162, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-06-10T14:56:53.647Z] 14:56:53     INFO - GECKO(17690) | [Child 18167, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.655Z] 14:56:53     INFO - GECKO(17690) | [Child 18157, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-06-10T14:56:53.656Z] 14:56:53     INFO - GECKO(17690) | [Child 18160, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp, line 3359
[task 2020-06-10T14:56:53.703Z] 14:56:53     INFO - GECKO(17690) | [Child 18176, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp, line 1629
[task 2020-06-10T14:56:53.864Z] 14:56:53     INFO - GECKO(17690) | [Child 17788: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (0x7fbfd6386400) [pid = 17788] [serial = 4] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:53.865Z] 14:56:53     INFO - GECKO(17690) | [Child 17788: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7fbfdbb4d000) [pid = 17788] [serial = 3] [outer = (nil)] [url = about:blank]
[task 2020-06-10T14:56:53.905Z] 14:56:53     INFO - TEST-INFO | started process screentopng
[task 2020-06-10T14:56:54.262Z] 14:56:54     INFO - TEST-INFO | screentopng: exit 0
[task 2020-06-10T14:56:54.265Z] 14:56:54     INFO - Buffered messages logged at 14:56:49
[task 2020-06-10T14:56:54.269Z] 14:56:54     INFO - Entering test bound 
[task 2020-06-10T14:56:54.272Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Correct number of notifications open - 1 == 1 - 
[task 2020-06-10T14:56:54.275Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Correct number of stars - 5 == 5 - 
[task 2020-06-10T14:56:54.278Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Engagement button not shown - 0 == 0 - 
[task 2020-06-10T14:56:54.279Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Learn more url correct - "https://example.org/learnmore" == "https://example.org/learnmore" - 
[task 2020-06-10T14:56:54.281Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Learn more label correct - "Learn More" == "Learn More" - 
[task 2020-06-10T14:56:54.283Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Message is correct - "test" == "test" - 
[task 2020-06-10T14:56:54.290Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Learn more link opened the right url - "https://example.org/learnmore" == "https://example.org/learnmore" - 
[task 2020-06-10T14:56:54.292Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | payload field offeredTS is a number - "number" == "number" - 
[task 2020-06-10T14:56:54.295Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | payload field learnMoreTS is a number - "number" == "number" - 
[task 2020-06-10T14:56:54.297Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | payload field closedTS is a number - "number" == "number" - 
[task 2020-06-10T14:56:54.299Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 0 is type "number" - "number" == "number" - 
[task 2020-06-10T14:56:54.303Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 1 is type "number" - "number" == "number" - 
[task 2020-06-10T14:56:54.305Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 2 is type "number" - "number" == "number" - 
[task 2020-06-10T14:56:54.308Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 3 is type "number" - "number" == "number" - 
[task 2020-06-10T14:56:54.312Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 4 is type "number" - "number" == "number" - 
[task 2020-06-10T14:56:54.314Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 0 is less than or equal to element 1 - 0 <= 1591801009138 - 
[task 2020-06-10T14:56:54.315Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 1 is less than or equal to element 2 - 1591801009138 <= 1591801009221 - 
[task 2020-06-10T14:56:54.316Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 2 is less than or equal to element 3 - 1591801009221 <= 1591801009819 - 
[task 2020-06-10T14:56:54.316Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | element 3 is less than or equal to element 4 - 1591801009819 <= 1591801009840 - 
[task 2020-06-10T14:56:54.322Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | No notifications left - 0 == 0 - 
[task 2020-06-10T14:56:54.322Z] 14:56:54     INFO - Leaving test bound 
[task 2020-06-10T14:56:54.323Z] 14:56:54     INFO - Entering test bound 
[task 2020-06-10T14:56:54.323Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Stars not shown - 0 == 0 - 
[task 2020-06-10T14:56:54.324Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Engagement button added - {"_inheritedElements":{".button-text":{"_lastFormattedAccessKey":null},".button-menu-dropmarker":null},"initializedAttributeInheritance":true,"buttonInfo":{"label":"Click me!","callback":"() => {\n            // Let the consumer know user engaged.\n            this.maybeNotifyHeartbeat(\"Engaged\");\n\n            this.userEngaged({\n              type: \"button\",\n              flowId: this.options.flowId,\n            });\n\n            // Return true so that the notification bar doesn't close itself since\n            // we have a thank you message to show.\n            return true;\n          }"}} == true - 
[task 2020-06-10T14:56:54.324Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Engagement button has correct label - "Click me!" == "Click me!" - 
[task 2020-06-10T14:56:54.325Z] 14:56:54     INFO - Buffered messages logged at 14:56:53
[task 2020-06-10T14:56:54.325Z] 14:56:54     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Engagement button opened the right url - true == true - 
[task 2020-06-10T14:56:54.326Z] 14:56:54     INFO - Buffered messages finished
[task 2020-06-10T14:56:54.326Z] 14:56:54     INFO - TEST-UNEXPECTED-FAIL | toolkit/components/normandy/test/browser/browser_Heartbeat.js | Uncaught exception - at chrome://mochitests/content/browser/toolkit/components/normandy/test/browser/browser_Heartbeat.js:62 - TypeError: can't access property "once", hb.eventEmitter is null
[task 2020-06-10T14:56:54.326Z] 14:56:54     INFO - Stack trace:
[task 2020-06-10T14:56:54.327Z] 14:56:54     INFO - assertTelemetrySent/<@chrome://mochitests/content/browser/toolkit/components/normandy/test/browser/browser_Heartbeat.js:62:5
[task 2020-06-10T14:56:54.327Z] 14:56:54     INFO - assertTelemetrySent@chrome://mochitests/content/browser/toolkit/components/normandy/test/browser/browser_Heartbeat.js:61:10
[task 2020-06-10T14:56:54.327Z] 14:56:54     INFO - @chrome://mochitests/content/browser/toolkit/components/normandy/test/browser/browser_Heartbeat.js:214:51
[task 2020-06-10T14:56:54.327Z] 14:56:54     INFO - Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:1064:34
[task 2020-06-10T14:56:54.328Z] 14:56:54     INFO - async*Tester_execTest@chrome://mochikit/content/browser-test.js:1104:11
[task 2020-06-10T14:56:54.328Z] 14:56:54     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:927:14
[task 2020-06-10T14:56:54.329Z] 14:56:54     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:918:23
[task 2020-06-10T14:56:54.329Z] 14:56:54     INFO - Leaving test bound 
...
```