Closed
Bug 836859
Opened 12 years ago
Closed 12 years ago
Trying download an update for the maps packaged app fails with INVALID_SIGNATURE
Categories
(Core Graveyard :: DOM: Apps, defect)
Tracking
(blocking-b2g:tef+, firefox19 wontfix, firefox20 wontfix, firefox21 fixed, b2g18 fixed, b2g18-v1.0.0 fixed, b2g18-v1.0.1 fixed)
People
(Reporter: jsmith, Assigned: fabrice)
References
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
ferjm
:
review+
|
Details | Diff | Splinter Review |
Build: 1/31
Device: Unagi
Steps:
1. Try to download the update for the maps packaged app
Expected:
The update should complete successfully.
Actual:
The update fails with INVALID_SIGNATURE.
Reporter | ||
Updated•12 years ago
|
Blocks: b2g-app-updates
Reporter | ||
Updated•12 years ago
|
blocking-b2g: --- → tef?
Reporter | ||
Comment 1•12 years ago
|
||
There's a separate problem with the fact that the download failing is putting the app in a bad state (doesn't remain launchable). I thought that was fixed, but apparently not (or it wasn't uplifted).
Reporter | ||
Updated•12 years ago
|
Component: Gaia::System → DOM: Apps
Product: Boot2Gecko → Core
Version: unspecified → Trunk
Reporter | ||
Updated•12 years ago
|
blocking-b2g: tef? → ---
Component: DOM: Apps → Consumer Pages
Product: Core → Marketplace
Version: Trunk → 1.0
Reporter | ||
Comment 2•12 years ago
|
||
Talking with Fabrice, client side appears to be operating normally. Maybe a signing server bug? Ryan?
Flags: needinfo?(rtilder)
Reporter | ||
Comment 3•12 years ago
|
||
Platform code looks okay. Reading it as I understand, we always require the app to be signed when pulling from a trusted store. Nothing showing up on the marketplace side. Maybe a out of date certdb issue?
Flags: needinfo?(rtilder)
Reporter | ||
Updated•12 years ago
|
Component: Consumer Pages → DOM: Apps
Product: Marketplace → Core
Version: 1.0 → Trunk
Reporter | ||
Updated•12 years ago
|
blocking-b2g: --- → tef?
Reporter | ||
Comment 4•12 years ago
|
||
Well...I just tried doing a simple packaged app update off of marketplace with two signed apps and did not see a problem.
So what's so special about the maps app that's causing it to fail?
Reporter | ||
Updated•12 years ago
|
Keywords: regression
Reporter | ||
Comment 5•12 years ago
|
||
Fabrice confirmed this is a gecko issue:
fabrice gecko issue, where we pick up the package path in the current manifest instead of the new staged update manifest
fabrice and the maps app is the only one that changes that path for now
Assignee | ||
Comment 6•12 years ago
|
||
The patch itself is not interesting, but the cause is:
- we were not setting the installState when installing 3rd party apps.
- in startDownload, installState == undefined, so isUpdate = false. At this point, we re-use the old manifest instead of the staged one, and consider that we are trying to re-download the installation package.
- in the case of the maps app, the initial package uri is bogus (it's http://marketplace.firefox.com/application.zip). But we open an http channel and download this 404 page, try to open it as a zip and to compute a signature. That fails.
- lastly, since we though that we were retrying an initial download, we set the installState to "pending", which prevent the app to be launched again.
The patch sets installState for 3rd party preinstalled apps, and also protects against http errors when we download a package.
Assignee: nobody → fabrice
Attachment #708859 -
Flags: review?(ferjmoreno)
Comment 7•12 years ago
|
||
Comment on attachment 708859 [details] [diff] [review]
patch
Review of attachment 708859 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks Fabrice. Looks good. r=me
::: dom/apps/src/Webapps.jsm
@@ +2117,5 @@
>
> + // If we get a 4XX or a 5XX http status, bail out like if we had a
> + // network error.
> + let responseStatus = requestChannel.responseStatus;
> + if (responseStatus >= 400 && responseStatus <= 599) {
nit: we could use the above condition:
if (!Components.isSuccessCode(aStatusCode) ||
(responseStatus >= 400 && responseStatus <= 599)) {
...
}
Attachment #708859 -
Flags: review?(ferjmoreno) → review+
Assignee | ||
Comment 8•12 years ago
|
||
Comment 10•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
Reporter | ||
Updated•12 years ago
|
Reporter | ||
Updated•12 years ago
|
QA Contact: jsmith
Assignee | ||
Comment 11•12 years ago
|
||
Comment on attachment 708859 [details] [diff] [review]
patch
[Approval Request Comment]
Another defense in depth / better error management patch. No risk there.
Attachment #708859 -
Flags: approval-mozilla-b2g18?
Comment 12•12 years ago
|
||
Definitely want this, marking tef+ and will clear the approval nomination.
blocking-b2g: tef? → tef+
Updated•12 years ago
|
Attachment #708859 -
Flags: approval-mozilla-b2g18?
Comment 13•12 years ago
|
||
https://hg.mozilla.org/releases/mozilla-b2g18/rev/d8dad1530a3b
https://hg.mozilla.org/releases/mozilla-b2g18_v1_0_0/rev/af0e6726fd8a
Reporter | ||
Comment 14•12 years ago
|
||
Verified on b2g18 2/6/2013.
Status: RESOLVED → VERIFIED
Keywords: verifyme
Updated•12 years ago
|
status-b2g18-v1.0.1:
--- → fixed
Updated•7 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•