Open Bug 988524 Opened 6 years ago Updated 2 years ago

crash in java.lang.NullPointerException: at org.mozilla.gecko.sync.Utils.hex2Byte(Utils.java)

Categories

(Firefox for Android :: Android Sync, defect, P5, critical)

Firefox 31
All
Android
defect

Tracking

()

Tracking Status
firefox29 --- affected
firefox30 --- affected
firefox31 --- affected

People

(Reporter: aaronmt, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-d9325897-faeb-4cc0-8047-e7eb82140325.
=============================================================

ava.lang.NullPointerException
	at org.mozilla.gecko.sync.Utils.hex2Byte(Utils.java:162)
	at org.mozilla.gecko.fxa.authenticator.AndroidFxAccount.getState(AndroidFxAccount.java:374)
	at org.mozilla.gecko.fxa.activities.FxAccountStatusFragment.refresh(FxAccountStatusFragment.java:235)
	at org.mozilla.gecko.fxa.activities.FxAccountStatusActivity.onResume(FxAccountStatusActivity.java:82)
	at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
	at android.app.Activity.performResume(Activity.java:5211)
	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2908)
	at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2947)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2394)
	at android.app.ActivityThread.access$600(ActivityThread.java:153)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:137)
	at android.app.ActivityThread.main(ActivityThread.java:5289)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:525)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:126)
	at dalvik.system.NativeStart.main(Native Method)
Android CPU ABI
Component: General → Android Sync
Product: Firefox for Android → Android Background Services
Version: Firefox 29 → Firefox 31
Aargh, so frustrating.  It looks like the code that would tell us something about the Account state has been folded by Proguard.  This certainly looks like a bad State has made its way to disk; hard to say how that has happened.

We have a variety of "belt and braces" solutions in the hopper, all gated on Bug 988437.  For this one, I think we'll:

* add null checking in the JSON extraction in FxAccountStateFactory;
* take care to read and write the internal bundle of the FxAccount in a single call;
* be more careful to display an error when we can't load an existing FxAccount in StatusActivity (all activities).
It's possible this, or the underlying cause of this, is what caused Bug 985784.
Depends on: 988437
Blocks: 988545
No longer depends on: 988545
Crash Signature: [@ java.lang.NullPointerException: at org.mozilla.gecko.sync.Utils.hex2Byte(Utils.java)] → [@ java.lang.NullPointerException: at org.mozilla.gecko.sync.Utils.hex2Byte(Utils.java)] [@ java.lang.NullPointerException: at org.mozilla.gecko.sync.Utils.hex2Byte]
Priority: -- → P5
Product: Android Background Services → Firefox for Android
You need to log in before you can comment on or make changes to this bug.