Closed Bug 870920 Opened 11 years ago Closed 11 years ago

Cannot install packaged apps on 1.1 and trunk

Categories

(Marketplace Graveyard :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox23 affected, b2g18 affected, b2g18-v1.0.1 unaffected)

RESOLVED FIXED
2013-05-16
Tracking Status
firefox23 --- affected
b2g18 --- affected
b2g18-v1.0.1 --- unaffected

People

(Reporter: andre, Assigned: robhudson)

References

Details

(Keywords: regression, smoketest, Whiteboard: A4A)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20130508 Firefox/23.0
Build ID: 20130508031113

Steps to reproduce:

We've build B2G from source using the instructions on MDN. The build and reflash worked fine but now we can't install packaged apps. Both the "kitchensink" and "memos" app fail to install.

The phones affected are all Geeksphone Keons. There are multiple people affected. All that built from source.


Actual results:

All packaged apps fail to install showing "download has stopped" and on logcat we have the following error:

E/GeckoConsole(  107): Content JS INFO at app://system.gaiamobile.org/js/app_install_manager.js:197 in ai_handleDownloadError: downloadError event, error code is INVALID_IDS_JSON

The packaged apps work well when pushed to the device using the simulator


Expected results:

the apps should have installed correctly.
1.1 smoketest regression. Needs to block.
Status: UNCONFIRMED → NEW
blocking-b2g: --- → leo?
Ever confirmed: true
FWIW, I reproduced this also on 5/10 1.1 unagi build.
Summary: can't install packaged apps after building from source on Geeksphone Keons → Cannot install packaged apps on 1.1 and trunk
Fabrice thinks bug 814136 broke this.
Blocks: 814136
Antonio - Any ideas?
Flags: needinfo?(amac)
Here's what I'm getting on my logcat on unagi 1.1:

05-10 11:31:08.777: E/GeckoConsole(109): Content JS INFO at app://system.gaiamobile.org/js/app_install_manager.js:197 in ai_handleDownloadError: downloadError event, error code is MISSING_IDS_JSON
Unable to reproduce on Android (Nightly 05/10) seems unaffected.
(In reply to Aaron Train [:aaronmt] from comment #6)
> Unable to reproduce on Android (Nightly 05/10) seems unaffected.

Hmm...that's probably because FxAndroid doesn't have privileged app support yet. The regressing bug only affects privileged apps.
(In reply to Jason Smith [:jsmith] from comment #7)
> (In reply to Aaron Train [:aaronmt] from comment #6)
> > Unable to reproduce on Android (Nightly 05/10) seems unaffected.
> 
> Hmm...that's probably because FxAndroid doesn't have privileged app support
> yet. The regressing bug only affects privileged apps.

Meant to say - signed apps from marketplace.
This is related with bug 816136. As I said in comment 56 on that bug [1], after that landed the signed apps *require* having an ids.json as part of the signed package. The /security/manager/ssl/tests/unit/test_signed_apps/sign_b2g_app.py script on that bug adds that file when signing a package. Signed packages that don't include that file won't be installed. 

According to bug 852720, comment 65, though, I thought that packaged apps from the Marketplace already included that information [2].

I'm making a new build for unagi and will check with our own packaged apps.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=814136#c56
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=852720#c65
Assignee: nobody → amac
Flags: needinfo?(amac)
Ok, I did try with a new build (from May 8th, I'm compiling a new one right now just in case but I checked that this build included the ids changes) and with our own signed packages (from our dogfooding store) and it works correctly.

Can you point me to a package that's failing?
Flags: needinfo?(jsmith)
(In reply to Antonio Manuel Amaya Calvo from comment #10)
> Ok, I did try with a new build (from May 8th, I'm compiling a new one right
> now just in case but I checked that this build included the ids changes) and
> with our own signed packages (from our dogfooding store) and it works
> correctly.
> 
> Can you point me to a package that's failing?

https://marketplace.firefox.com/app/poppit was failing for me on today's build.
Flags: needinfo?(jsmith)
The kitchensink package and the memos app are both failing.

memos is at https://marketplace.firefox.com/app/memos/
kitchensink is at https://marketplace.firefox.com/app/kitchensink/

both work when pushed to the device using the simulator
FYI - Rob just confirmed Poppit is does not have ids.json in the package.
Update in IRC:

* Poppit - No ids.json
* Memos - Has an ids.json
* Kitchen Sink - Has an ids.json
The ids.json on the marketplace have the fields: 

"app_id" and "version_id": 1446546

While Webapps.jsm actually expects the fields: 

"id", "version"

which are the ones that the test app actually includes, too.

I think we had a small miscommunication there. I can create a new patch here changing the signing script and the Webapps.jsm verifying code to check for the new fields, or you can change the way the zips are being signed to include the fields that are being actually checked.

Let me know what you prefer.
Flags: needinfo?(bsmith)
The error I experienced is INVALID_IDS_JSON and not MISSING_IDS_JSON, so even if the ids.json is present, there is something wrong. Can you install packaged apps from the marketplace if you build from source?
(In reply to Antonio Manuel Amaya Calvo from comment #15)
> The ids.json on the marketplace have the fields: 
> 
> "app_id" and "version_id": 1446546
> 
> While Webapps.jsm actually expects the fields: 
> 
> "id", "version"
> 
> which are the ones that the test app actually includes, too.

I think Webapps.jsm and the test app are correct.
Flags: needinfo?(bsmith)
blocking-b2g: leo? → ---
Component: DOM: Apps → General
Product: Core → Marketplace
Version: unspecified → 1.0
Okay. That officially now makes this a marketplace bug.
Assignee: amac → nobody
Rob - Can you look into this?
Flags: needinfo?(robhudson.mozbugs)
Assignee: nobody → robhudson.mozbugs
Target Milestone: --- → 2013-05-16
Flags: needinfo?(robhudson.mozbugs)
https://github.com/mozilla/zamboni/commit/49437a2
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Hi Guys,

I am the one who originally posted the bug. I am still receiving the same error. I've built and flashed v1-train on two Keons right now and I can't install packaged apps. I receive the following information on logcat:

E/GeckoConsole(  107): Content JS INFO at app://system.gaiamobile.org/js/app_install_manager.js:197 in ai_handleDownloadError: downloadError event, error code is INVALID_IDS_JSON

This happens with all package apps I try.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I'm guessing the fix hasn't been pushed yet.
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
(In reply to Jason Smith [:jsmith] from comment #23)
> I'm guessing the fix hasn't been pushed yet.

Pushed to production, I mean.
Oh, I see. I am new to bug reporting, sorry for reopening it.
(In reply to andre from comment #25)
> Oh, I see. I am new to bug reporting, sorry for reopening it.
You don't need to rebuild B2G to get the fix, btw, since the fix is on the marketplace, not on the code that runs on the device. Once the marketplace get the new code, you'll be able to install your apps again.
Push date is in the target milestone, fwiw. Live next Thursday.
Repros on Inari 1.1 commercial RIL and on Unagi master build.

Inari details:
Build ID: 20130516070206
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18/rev/4b5fe47ad76c
Gaia: 08074c417f9e095168f38a449dabe0e2325b7353
Version #: 18.0
(In reply to Wil Clouser [:clouserw] from comment #27)
> Push date is in the target milestone, fwiw. Live next Thursday.

Next Thursday as in the 23rd, or yesterday? This issue still exists at the moment, should this bug really be marked as fixed yet? This seems similar to inbound/central for normal Gecko work, where a bug isn't marked as fixed until it hits central.
I can access the new marketplace (which I like a lot btw :) ), but I still have the same issue (tested with the "Distant Orbit" app).
Rob - Any ideas why?
Flags: needinfo?(robhudson.mozbugs)
(In reply to Chris Lord [:cwiiis] from comment #30)
> Next Thursday as in the 23rd, or yesterday?

It was yesterday, yes.

I'm realizing now, however, what the problem is.

The ids.json file is added upon package submission. So me fixing the code to change the JSON key names to match what device side expects will only apply to newly uploaded packages. All existing packages will still have the old ids.json files, and thus, fail installation.

Can we confirm that for a newly uploaded package that this works? If so, we can think about how to fix old packages.
Flags: needinfo?(robhudson.mozbugs)
Discussed in IRC, but Rob & I confirmed this issue we are seeing here is happening with the old packages, not the new ones.
I filed bug 873600 to fix pre-existing packages.
Whiteboard: A4A
Blocks: 830876
You need to log in before you can comment on or make changes to this bug.