Closed Bug 886995 Opened 7 years ago Closed 7 years ago

browser_CTP_drag_drop.js | uncaught exception - TypeError: gNewWindow.PopupNotifications.panel.firstChild is null at chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js:96 | Test timed out | Found a browser window...

Categories

(Core :: Plug-ins, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla25
Tracking Status
firefox24 --- fixed
firefox25 --- fixed

People

(Reporter: RyanVM, Assigned: keeler)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=24555945&tree=Mozilla-Inbound

Ubuntu VM 12.04 mozilla-inbound opt test mochitest-browser-chrome on 2013-06-24 23:37:44 PDT for push 7f9cf2a04252
slave: tst-linux32-ec2-061

23:40:03     INFO -  TEST-START | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js
23:40:03     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Console message: PAC file installed from data:text/plain,function%20FindProxyForURL(url,%20host){%20%20var%20origins%20=%20['http://127.0.0.1:80',%20'http://127.0.0.1:8888',%20'http://test:80',%20'http://mochi.test:8888',%20'http://example.org:80',%20'http://test1.example.org:80',%20'http://test2.example.org:80',%20'http://sub1.test1.example.org:80',%20'http://sub1.test2.example.org:80',%20'http://sub2.test1.example.org:80',%20'http://sub2.test2.example.org:80',%20'http://example.org:8000',%20'http://test1.example.org:8000',%20'http://test2.example.org:8000',%20'http://sub1.test1.example.org:8000',%20'http://sub1.test2.example.org:8000',%20'http://sub2.test1.example.org:8000',%20'http://sub2.test2.example.org:8000',%20'http://example.com:80',%20'http://www.example.com:80',%20'http://test1.example.com:80',%20'http://test2.example.com:80',%20'http://sub1.test1.example.com:80',%20'http://sub1.test2.example.com:80',%20'http://sub2.test1.example.com:80',%20'http://sub2.test2.example.com:80',%20'http://noxul.example.com:80',%20'https://example.com:443',%20'https://test1.example.com:443',%20'https://test2.example.com:443',%20'https://sub1.test1.example.com:443',%20'https://sub1.test2.example.com:443',%20'https://sub2.test1.example.com:443',%20'https://sub2.test2.example.com:443',%20'https://nocert.example.com:443',%20'https://self-signed.example.com:443',%20'https://untrusted.example.com:443',%20'https://expired.example.com:443',%20'https://requestclientcert.example.com:443',%20'https://requireclientcert.example.com:443',%20'https://mismatch.expired.example.com:443',%20'https://mismatch.untrusted.example.com:443',%20'https://untrusted-expired.example.com:443',%20'https://mismatch.untrusted-expired.example.com:443',%20'https://ev-valid.example.com:443',%20'https://ev-invalid.example.com:443',%20'http://fxfeeds.mozilla.com:80',%20'http://www.mozilla.org:80',%20'http://sub1.xn--lt-uia.example.org:8000',%20'http://sub2.xn--lt-uia.example.org:80',%20'http://xn--exmple-cua.test:80',%20'http://sub1.xn--exmple-cua.test:80',%20'http://xn--exaple-kqf.test:80',%20'http://sub1.xn--exaple-kqf.test:80',%20'https://xn--hxajbheg2az3al.xn--jxalpdlp:443',%20'https://sub1.xn--hxajbheg2az3al.xn--jxalpdlp:443',%20'http://xn--hxajbheg2az3al.xn--jxalpdlp:80',%20'http://sub1.xn--hxajbheg2az3al.xn--jxalpdlp:80',%20'https://bug413909.xn--hxajbheg2az3al.xn--jxalpdlp:443',%20'http://sectest1.example.org:80',%20'http://sub.sectest2.example.org:80',%20'http://sectest2.example.org:80',%20'http://sub.sectest1.example.org:80',%20'https://sectest1.example.org:443',%20'https://sub.sectest2.example.org:443',%20'https://sectest2.example.org:443',%20'https://sub.sectest1.example.org:443',%20'http://malware.example.com:80',%20'https://www.bank1.com:443',%20'https://www.bank2.com:443',%20'https://redirproxy.example.com:443',%20'http://bug704464-1.example.com:80',%20'http://bug704464-2.example.com:80',%20'http://bug704464-3.example.com:80',%20'http://bug702292.example.com:80',%20'http://w3c-test.org:80',%20'http://w3c-test.org:81',%20'http://w3c-test.org:82',%20'http://w3c-test.org:83',%20'http://www.w3c-test.org:80',%20'http://www.w3c-test.org:81',%20'http://www.w3c-test.org:82',%20'http://www.w3c-test.org:83',%20'http://www1.w3c-test.org:80',%20'http://www1.w3c-test.org:81',%20'http://www1.w3c-test.org:82',%20'http://www1.w3c-test.org:83',%20'http://www2.w3c-test.org:80',%20'http://www2.w3c-test.org:81',%20'http://www2.w3c-test.org:82',%20'http://www2.w3c-test.org:83',%20'http://xn--n8j6ds53lwwkrqhv28a.w3c-test.org:80',%20'http://xn--n8j6ds53lwwkrqhv28a.w3c-test.org:81',%20'http://xn--n8j6ds53lwwkrqhv28a.w3c-test.org:82',%20'http://xn--n8j6ds53lwwkrqhv28a.w3c-test.org:83',%20'http://xn--lve-6lad.w3c-test.org:80',%20'http://xn--lve-6lad.w3c-test.org:81',%20'http://xn--lve-6lad.w3c-test.org:82',%20'http://xn--lve-6lad.w3c-test.org:83',%20'https://w3c-test.org:443',%20'https://www.w3c-test.org:443',%20'https://www1.w3c-test.org:443',%20'https://www2.w3c-test.org:443',%20'https://xn--n8j6ds53lwwkrqhv28a.w3c-test.org:443',%20'https://xn--lve-6lad.w3c-test.org:443',%20'http://test.w3.org:80'];%20%20var%20regex%20=%20new%20RegExp('^([a-z][-a-z0-9+.]*)'%20+%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'://'%20+%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'(?:[^/@]*@)?'%20+%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'(.*?)'%20+%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'(?::(\\d+))?/');%20%20var%20matches%20=%20regex.exec(url);%20%20if%20(!matches)%20%20%20%20return%20'DIRECT';%20%20var%20isHttp%20=%20matches[1]%20==%20'http';%20%20var%20isHttps%20=%20matches[1]%20==%20'https';%20%20var%20isWebSocket%20=%20matches[1]%20==%20'ws';%20%20var%20isWebSocketSSL%20=%20matches[1]%20==%20'wss';%20%20if%20(!matches[3])%20%20{%20%20%20%20if%20(isHttp%20|%20isWebSocket)%20matches[3]%20=%20'80';%20%20%20%20if%20(isHttps%20|%20isWebSocketSSL)%20matches[3]%20=%20'443';%20%20}%20%20if%20(isWebSocket)%20%20%20%20matches[1]%20=%20'http';%20%20if%20(isWebSocketSSL)%20%20%20%20matches[1]%20=%20'https';%20%20var%20origin%20=%20matches[1]%20+%20'://'%20+%20matches[2]%20+%20':'%20+%20matches[3];%20%20if%20(origins.indexOf(origin)%20<%200)%20%20%20%20return%20'DIRECT';%20%20if%20(isHttp)%20%20%20%20return%20'PROXY%20127.0.0.1:8888';%20%20if%20(isHttps%20||%20isWebSocket%20||%20isWebSocketSSL)%20%20%20%20return%20'PROXY%20127.0.0.1:4443';%20%20return%20'DIRECT';}
23:40:03     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should have a click-to-play notification in the initial tab
23:40:04     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should have a click-to-play notification in the tab in the new window
23:40:04     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should not have a click-to-play notification in the old window now
23:40:04     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should have a click-to-play notification in the initial tab again
23:40:04     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should have a click-to-play notification in the initial tab
23:40:05     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should have a click-to-play notification in the tab in the new window
23:40:05     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Should not have a click-to-play notification in the old window now
23:40:05     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | plugin should not be activated
23:40:05  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | uncaught exception - TypeError: gNewWindow.PopupNotifications.panel.firstChild is null at chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js:96
23:40:05     INFO -  Stack trace:
23:40:05     INFO -      JS frame :: chrome://mochikit/content/tests/SimpleTest/SimpleTest.js :: simpletestOnerror :: line 1136
23:40:05     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
23:40:05     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Console message: [JavaScript Error: "TypeError: gNewWindow.PopupNotifications.panel.firstChild is null" {file: "chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js" line: 96}]
23:40:33  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Test timed out
23:40:33     INFO -  args: ['/builds/slave/test/build/tests/bin/screentopng']
23:40:33     INFO -  Xlib:  extension "RANDR" missing on display ":0".
23:40:47     INFO -  SCREENSHOT: <see log>
23:40:47     INFO -  INFO TEST-END | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | finished in 30175ms
23:40:47     INFO -  TEST-INFO | checking window state
23:40:47  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | Found a browser window after previous test timed out
23:40:47     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/browser_CTP_drag_drop.js | must wait for focus
Blocks: 880735
Priority: -- → P3
Attached patch test fixSplinter Review
Looking at the code, this test is waiting for a notification to not be dismissed before continuing. It looks like PopupNotifications.jsm does set "dismissed" to false before populating the notification, but I don't see any yields or anything that could allow for dismissed to be false while the notification is still unpopulated (assuming run-to-completion semantics). Maybe I'm missing something.
Anyway, if we have the test wait until the notification is populated as well as not dismissed, it should stop failing.
Assignee: nobody → dkeeler
Status: NEW → ASSIGNED
Attachment #773692 - Flags: review?(jaws)
Comment on attachment 773692 [details] [diff] [review]
test fix

I'm skeptical that this will help, but it certainly won't hurt.
Attachment #773692 - Flags: review?(jaws) → review+
Huh, this appears to have fixed it. I'm still a bit puzzled about how this situation could happen.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Whiteboard: [leave open]
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.