Closed Bug 732751 Opened 13 years ago Closed 13 years ago

java.lang.SecurityException: caller uid 10090 is different than the authenticator's uid during setup

Categories

(Firefox for Android Graveyard :: Android Sync, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: wesj, Unassigned)

References

Details

I can't set up Sync from my own local builds. Not sure if I'm supposed to, or if there's some security lock there. STR: Start Fennec On about:home click Setup Sync button Wait for JPAKE code to appear. Enter on Desktop Results: On device sync changes to a progress bar and a waiting screen for a bit. Then shows me a new JPAKE code. Sync does not work. Desktop acts like everything was successful. logcat says: 03-03 18:06:55.230 12445 12529 E JPakeClient: Exception in stage org.mozilla.gecko.sync.jpake.stage.CompleteStage@40726dc8 03-03 18:06:55.230 12445 12529 E JPakeClient: java.lang.SecurityException: caller uid 10090 is different than the authenticator's uid 03-03 18:06:55.230 12445 12529 E JPakeClient: at android.os.Parcel.readException(Parcel.java:1322) 03-03 18:06:55.230 12445 12529 E JPakeClient: at android.os.Parcel.readException(Parcel.java:1276) 03-03 18:06:55.230 12445 12529 E JPakeClient: at android.accounts.IAccountManager$Stub$Proxy.addAccount(IAccountManager.java:547) 03-03 18:06:55.230 12445 12529 E JPakeClient: at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:489) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.setup.activities.AccountActivity.createAccount(AccountActivity.java:216) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.setup.activities.SetupSyncActivity.onComplete(SetupSyncActivity.java:365) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.JPakeClient.complete(JPakeClient.java:333) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.stage.CompleteStage.execute(CompleteStage.java:12) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.JPakeClient.runNextStage(JPakeClient.java:225) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.stage.DecryptDataStage.execute(DecryptDataStage.java:72) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.JPakeClient.runNextStage(JPakeClient.java:225) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.stage.GetRequestStage$1.handleSuccess(GetRequestStage.java:71) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.stage.GetRequestStage$2.handleHttpResponse(GetRequestStage.java:121) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.net.BaseResource.execute(BaseResource.java:207) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.net.BaseResource.go(BaseResource.java:229) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.net.BaseResource.get(BaseResource.java:235) 03-03 18:06:55.230 12445 12529 E JPakeClient: at org.mozilla.gecko.sync.jpake.stage.GetRequestStage$GetStepTimerTask.run(GetRequestStage.java:193) 03-03 18:06:55.230 12445 12529 E JPakeClient: at java.util.Timer$TimerImpl.run(Timer.java:284)
Do you have your build installed at the same time as a Nightly or Aurora build?
OS: Linux → Android
Hardware: x86 → ARM
Summary: Sync can't set up → java.lang.SecurityException: caller uid 10090 is different than the authenticator's uid during setup
To explain: If you have two versions of Firefox installed (e.g., Nightly and a Fennec build), they both claim to know how to authenticate Firefox Sync accounts, because they both ship the account management code. Whichever one the system picks has its uid assigned to the account type. If you're running the other one's setup code, then when it tries to create an account its uid won't match, and you'll get: java.lang.SecurityException: caller uid 10090 is different than the authenticator's uid There are three solutions to this. 1. Have every version of Firefox specify the same sharedUserId, and be signed with the same certificate. That will allow Nightly to use Aurora's account code. Not scalable: you can't sign your own binaries with the Firefox Beta key. 2. Have every version of Firefox specify a different account type, so you'll get N entries in Add An Account for "Firefox Sync", one for each browser. Not pleasant for other reasons. 3. Don't bundle Sync with Firefox; install it separately. That requires installing a separate APK. I've taken the fourth road: *don't do that*. If you want to use Firefox Sync, you must have only one version of Firefox installed when you set it up, and the behavior if you have more than one version installed is undefined.
Yes, I have both a Nightly and my local version installed. Thanks for explaining Richard. Glad to at least know what was wrong.
Thanks Wes! One day we'll have a good solution to this…
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
Blocks: 710407
Product: Mozilla Services → Android Background Services
Product: Android Background Services → Firefox for Android
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.