Closed Bug 825034 Opened 12 years ago Closed 12 years ago

Browser does not exit automatically after running mochitest-metro-chrome tests

Categories

(Firefox for Metro Graveyard :: General, defect)

x86_64
Windows 8
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mbrubeck, Assigned: jimm)

References

Details

(Keywords: regression, Whiteboard: [metro-mvp][LOE:2][completed-elm])

Attachments

(1 file)

After running our Metro browser-chrome tests, the browser does not exit and must be killed manually. When this happens, the browser also seems to continue using the temporary test profile instead of the default profile on future launches. This is a recent regression for me, but sfoster has been seeing it for a while.
I'm seeing this on trunk as well. I notice that if I let it hang out long enough, I can get the debugger and see the following thrown from line 17 of crashinjectdll.cpp: Unhandled exception at 0x62F51000 (crashinjectdll.dll) in metrotestharness.exe: 0xC0000005: Access violation writing location 0x00000000. my metro-mochitest log has: *** Start BrowserChrome Test Results *** TEST-INFO | checking window state TEST-INFO | (browser-test.js) | Console message: [JavaScript Error: "Not a number" {file: "resource://gre/modules/PlacesDBUtils.jsm" line: 955}] TEST-INFO | (browser-test.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'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'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';} In the console, once the browser has been killed, I see: INFO | automation.py | Application ran for: 0:21:47.014000 INFO | automation.py | Reading PID log: c:\users\a\appdata\local\temp\tmp61tjo4p idlog SUCCESS: The process with PID 6204 has been terminated. ERROR: The process "8096" not found. SUCCESS: The process with PID 8088 has been terminated. WARNING | automationutils.processLeakLog() | refcount logging is off, so leaks c an't be detected! INFO | runtests.py | Running tests: end. c:\Users\A\elm\browser\build.mk:91:0: command 'rm -f ./mochitest-metro-chrome.lo g && c:/Users/A/elm/obj/_virtualenv/Scripts/python.exe _tests/testing/mochitest/ runtests.py --autorun --close-when-done --console-level=INFO --log-file=./mochit est-metro-chrome.log --file-level=INFO --failure-file=c:/Users/A/elm/obj/_tests/ testing/mochitest/makefailures.json --testing-modules-dir=c:/Users/A/elm/obj/_te sts/modules --extra-profile-file=./dist/plugins --symbols-path=./dist/crashrepor ter-symbols --metro-immersive --browser-chrome' failed, return code 5 the temp pid log referenced was gone before I could get to it, so I do not know which process was pid 8096 :/
I also note that I cannot actually run any of the individual browser chrome tests (browser_context_ui, browser_onscreenkeyboard.js/html, browser_test). In all tests, the last thing the console spits out is "INFO | metrotestharness.exe | Waiting on child process..." I'm not convinced that the tests themselves even start, as I cannot even get a printf out of my test code.
Blocks: 801056
metrotestharness.exe writes the test command line params out to an ini file that gets picked up by nsBrowserApp startup code. You might check that for the individual test problem. http://mxr.mozilla.org/projects-central/source/elm/browser/app/nsBrowserApp.cpp#276
Attached patch fixSplinter Review
My bug from the conversion - mixing up the interface constant with the runtime class constant. The ICoreApplication runtime class provides the interface to ICoreApplicationExit.
Assignee: mbrubeck → jmathies
Attachment #698839 - Flags: review?(netzen)
Attachment #698839 - Flags: review?(netzen) → review+
Whiteboard: [metro-mvp][LOE:2] → [metro-mvp][LOE:2][completed-elm]
Resolving bugs in the Firefox for Metro product that are fixed on the elm branch. Sorry for the bugspam. Search your email for "bugspam-elm" if you want to find and delete all of these messages at once.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
If there's no easy way to verify this, I'll leave it to dev to do so.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: