Closed
Bug 1033059
Opened 10 years ago
Closed 10 years ago
multiple tests time out due to "invalid path component"
Categories
(Firefox Graveyard :: Webapp Runtime, defect)
Firefox Graveyard
Webapp Runtime
Tracking
(Not tracked)
RESOLVED
FIXED
Firefox 33
People
(Reporter: myk, Assigned: myk)
References
Details
Attachments
(1 file)
(deleted),
patch
|
marco
:
review+
|
Details | Diff | Splinter Review |
On some webapprt-test-chrome runs on the Cedar branch, a bunch of tests are timing out.
On Mac, it's due to "invalid path component" at <http://mxr.mozilla.org/mozilla-central/source/toolkit/webapps/WebappOSUtils.jsm?rev=05d9e7977182#232>, which is Mac-only:
00:59:59 INFO - TEST-START | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js
00:59:59 INFO - *************************
00:59:59 INFO - A coding exception was thrown and uncaught in a Task.
00:59:59 INFO - Full message: TypeError: invalid path component
00:59:59 INFO - Full stack: join@resource://gre/modules/osfile/ospath_unix.jsm:87:1
00:59:59 INFO - this.WebappOSUtils.getPackagePath@resource://gre/modules/WebappOSUtils.jsm:101:19
00:59:59 INFO - this.DOMApplicationRegistry.addInstalledApp<@resource://gre/modules/Webapps.jsm:2278:19
00:59:59 INFO - this.startup/<@resource://app/modules/Startup.jsm:111:1
00:59:59 INFO - TaskImpl_run@resource://gre/modules/Task.jsm:301:39
00:59:59 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:863:23
00:59:59 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:742:7
00:59:59 INFO - openModalWindow@resource://gre/components/nsPrompter.js:369:5
00:59:59 INFO - ModalPrompter.prototype.openPrompt@resource://gre/components/nsPrompter.js:552:9
00:59:59 INFO - ModalPrompter.prototype.confirmEx@resource://gre/components/nsPrompter.js:696:9
00:59:59 INFO - Prompter.prototype.confirmEx@resource://gre/components/nsPrompter.js:78:16
00:59:59 INFO - this.WebappManager.doInstall@resource://app/modules/WebappManager.jsm:54:18
00:59:59 INFO - this.WebappManager.observe@resource://app/modules/WebappManager.jsm:30:11
00:59:59 INFO - doInstall/installApp<@resource://gre/modules/Webapps.jsm:1956:1
00:59:59 INFO - doInstall/<@resource://gre/modules/Webapps.jsm:1989:11
00:59:59 INFO - *************************
00:59:59 INFO - *************************
00:59:59 INFO - A coding exception was thrown and uncaught in a Task.
00:59:59 INFO - Full message: TypeError: invalid path component
00:59:59 INFO - Full stack: join@resource://gre/modules/osfile/ospath_unix.jsm:87:1
00:59:59 INFO - this.WebappOSUtils.getPackagePath@resource://gre/modules/WebappOSUtils.jsm:101:19
00:59:59 INFO - this.DOMApplicationRegistry.addInstalledApp<@resource://gre/modules/Webapps.jsm:2278:19
00:59:59 INFO - this.startup/<@resource://app/modules/Startup.jsm:111:1
00:59:59 INFO - this.startup@resource://app/modules/Startup.jsm:80:1
00:59:59 INFO - observeInstall@chrome://webapprt/content/mochitest-shared.js:71:19
00:59:59 INFO - doInstall/installApp<@resource://gre/modules/Webapps.jsm:1956:1
00:59:59 INFO - doInstall/<@resource://gre/modules/Webapps.jsm:1989:11
00:59:59 INFO - *************************
01:00:05 INFO - TEST-KNOWN-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | A promise chain failed to handle a rejection
01:00:44 INFO - libpng warning: zero length keyword
01:00:44 INFO - libpng warning: Empty language field in iTXt chunk
01:00:44 INFO - TEST-INFO | screencapture: exit 0
01:00:44 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Test timed out
01:00:44 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Cleanup function threw an exception at chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js:35 - TypeError: mutObserverAlarmSet is null
- https://tbpl.mozilla.org/php/getParsedLog.php?id=42423278&full=1&branch=cedar
The Windows and Linux runs don't provide as much info, unfortunately, saying only that "a promise chain failed to handle a rejection." And they don't have the line in question. But the set of tests that time out is similar, so I suspect there's a common cause.
Here's Windows:
23:24:37 INFO - TEST-START | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js
23:24:37 INFO - TEST-KNOWN-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | A promise chain failed to handle a rejection
23:24:42 INFO - TEST-KNOWN-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | A promise chain failed to handle a rejection
23:25:23 INFO - TEST-INFO | screenshot: exit status 0
23:25:23 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Test timed out
23:25:23 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Cleanup function threw an exception at chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js:35 - TypeError: mutObserverAlarmSet is null
- https://tbpl.mozilla.org/php/getParsedLog.php?id=42419269&full=1&branch=cedar
And here's Linux:
20:59:49 INFO - TEST-START | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js
20:59:55 INFO - TEST-KNOWN-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | A promise chain failed to handle a rejection
21:00:34 INFO - Xlib: extension "RANDR" missing on display ":0".
21:00:35 INFO - TEST-INFO | screentopng: exit 0
21:00:35 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Test timed out
21:00:35 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js | Cleanup function threw an exception at chrome://mochitests/content/webapprtChrome/webapprt/test/chrome/browser_alarm.js:35 - TypeError: mutObserverAlarmSet is null
- https://tbpl.mozilla.org/php/getParsedLog.php?id=42411294&tree=Cedar&full=1
Assignee | ||
Comment 1•10 years ago
|
||
I can reproduce the Windows failure locally, although I can't reproduce the Mac one. Perhaps because Mac puts apps in a different place (~/Applications) on the test boxes? I'll try to reproduce on Linux next.
Assignee | ||
Comment 2•10 years ago
|
||
becomeWebapp calls confirmInstall, but it doesn't wait for it to complete before calling startup, which calls addInstalledApp, which tries to add the app, except that it isn't actually installed, so WebappOSUtils.getPackagePath returns null, which _computeFileHash passes to nsIFile.initWithPath, triggering an exception.
There's probably more we can do to make addInstalledApp more robust against failure, but this patch makes the test await confirmInstall before calling startup, so the app is registered in the registry by the time startup calls addInstalledApp.
This fixes the bug on Windows and Linux. I can't confirm that it fixes the problem on Mac, since I can't reproduce. That might end up being a different problem. Either way, we should land this fix and then see if that problem continues appearing on Mac.
Updated•10 years ago
|
Attachment #8449720 -
Flags: review?(mar.castelluccio) → review+
Assignee | ||
Comment 3•10 years ago
|
||
Comment 4•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 33
Updated•9 years ago
|
Product: Firefox → Firefox Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•