Closed Bug 1147992 Opened 5 years ago Closed 5 years ago

crash in android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.facebook.graphql.model.GraphQLPrefetchInfo at android.os.Parcel.readParcelable(Parcel.java)

Categories

(Firefox for Android :: General, defect, critical)

36 Branch
All
Android
defect
Not set
critical

Tracking

()

VERIFIED FIXED
Firefox 39
Tracking Status
firefox36 --- wontfix
firefox37 + fixed
firefox38 + fixed
firefox39 + fixed
fennec 37+ ---

People

(Reporter: rnewman, Assigned: rnewman)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-3de6067a-dce3-4b7f-871f-072352150321.
=============================================================

        final String args;
        if (context instanceof Activity) {
            args = ((Activity) context).getIntent().getStringExtra("args");
        } else {
            args = null;
        }

android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.facebook.graphql.model.GraphQLPrefetchInfo
	at android.os.Parcel.readParcelable(Parcel.java:2080)
	at android.os.Parcel.readValue(Parcel.java:1968)
	at android.os.Parcel.readMapInternal(Parcel.java:2229)
	at android.os.Bundle.unparcel(Bundle.java:223)
	at android.os.Bundle.getString(Bundle.java:1063)
	at android.content.Intent.getStringExtra(Intent.java:4492)
	at org.mozilla.gecko.GeckoProfile.get(GeckoProfile.java:98)
	at org.mozilla.gecko.BrowserApp.onCreate(BrowserApp.java:496)


Goddamnit, Android.
Line last touched in Bug 1074340.
Attachment #8583935 - Flags: review?(mark.finkle) → review+
[Tracking Requested - why for this release]: We might want this fix on 37. Crash if Firefox is not running when opening a link from Facebook app to Firefox.
tracking-fennec: --- → ?
Comment on attachment 8583935 [details] [diff] [review]
Be paranoid when reading strings from intents, yet again. v1

Approval Request Comment
[Feature/regressing bug #]:
  N/A
  This happens whenever Android sends us an intent including a non-standard instance (in this case, Facebook is adding something), and the sending process dies before we can process the intent. Not our bug; this is a workaround.

[User impact if declined]:
  Crashes opening links from Facebook.

[Describe test coverage new/current, TreeHerder]:
  None.

[Risks and why]: 
  Very low risk: established workaround applied to a new case.

[String/UUID change made/needed]:
  None.
Attachment #8583935 - Flags: approval-mozilla-release?
Attachment #8583935 - Flags: approval-mozilla-beta?
Attachment #8583935 - Flags: approval-mozilla-aurora?
Comment on attachment 8583935 [details] [diff] [review]
Be paranoid when reading strings from intents, yet again. v1

We're not going to ship any more fixes for 36 and we have already built and qualified the 37 RC. We can consider this for a ridealong if we need to ship a 37 based point release. We should take this change on Aurora after it has hit m-c. Release- and Beta-
Attachment #8583935 - Flags: approval-mozilla-release?
Attachment #8583935 - Flags: approval-mozilla-release-
Attachment #8583935 - Flags: approval-mozilla-beta?
Attachment #8583935 - Flags: approval-mozilla-beta-
Tracking for 37 in case we do a point release.
https://hg.mozilla.org/mozilla-central/rev/ca43c5951976
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 39
This is now the number 2 top crash in 36.0.4.
Any idea why this has spiked?
Will this fix bug 1106090 as well?

android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.facebook.graphql.model.GraphQLPrefetchInfo
	at android.os.Parcel.readParcelableCreator(Parcel.java:2289)
	at android.os.Parcel.readParcelable(Parcel.java:2239)
	at android.os.Parcel.readValue(Parcel.java:2146)
	at android.os.Parcel.readArrayMapInternal(Parcel.java:2479)
	at android.os.BaseBundle.unparcel(BaseBundle.java:221)
	at android.os.BaseBundle.getString(BaseBundle.java:918)
	at android.content.Intent.getStringExtra(Intent.java:5378)
	at org.mozilla.gecko.GeckoProfile.get(GeckoProfile.java:98)
	at org.mozilla.gecko.BrowserApp.onCreate(BrowserApp.java:496)
	at android.app.Activity.performCreate(Activity.java:6221)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2614)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2728)
	at android.app.ActivityThread.access$900(ActivityThread.java:172)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:145)
	at android.app.ActivityThread.main(ActivityThread.java:5837)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
Flags: needinfo?(rnewman)
(In reply to Lawrence Mandel [:lmandel] (use needinfo) from comment #10)
> Any idea why this has spiked?

New version of Facebook, perhaps?


(In reply to Kevin Brosnan [:kbrosnan] from comment #11)
> Will this fix bug 1106090 as well?

Yeah, straight dupe.
Flags: needinfo?(rnewman)
Duplicate of this bug: 1106090
I have a question out to my Facebook friends.
Previous bug: Bug 1077645.
Previous Chromium issue: https://code.google.com/p/chromium/issues/detail?id=412527

which was for the Facebook "ActionSource" class.
Depends on: 1077645
Apparently FB has turned off the server-side feature that was driving this client behavior, so our crash rate should nosedive. Kevin and Aaron, would you keep an eye on this, please?
Flags: needinfo?(kbrosnan)
If that's the case, we won't need to respin for 37 but should ensure that this fix gets in 38 soon and should keep this tracked for 37 in case this crash spikes again before we release 38.
Hard to tell volume in less than a day. Still seeing crashes for example one at 2015-03-28 21:49:49 where it is currently 22:26.
Flags: needinfo?(kbrosnan)
(In reply to Lawrence Mandel [:lmandel] (use needinfo) from comment #18)
> If that's the case, we won't need to respin for 37 but should ensure that
> this fix gets in 38 soon and should keep this tracked for 37 in case this
> crash spikes again before we release 38.

Still waiting for approval for uplift to 38.
Comment on attachment 8583935 [details] [diff] [review]
Be paranoid when reading strings from intents, yet again. v1

I was waiting for the patch to land in m-c.
Attachment #8583935 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Looks like we are back to background noise levels in the 3 day view.
Crash Signature: [@ android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.facebook.graphql.model.GraphQLPrefetchInfo at android.os.Parcel.readParcelable(Parcel.java)] → [@ android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.facebook.graphql.model.GraphQLPrefetchInfo at android.os.Parcel.readParcelable(Parcel.java)] [@ android.os.BadParcelableException: ClassNotFoundException when unmarshall…
tracking-fennec: ? → 37+
Comment on attachment 8583935 [details] [diff] [review]
Be paranoid when reading strings from intents, yet again. v1

Reopening the request for uplift to the point release. This is low risk and prevents a crash that is controlled by a third party. If we can close up the crash ourselves, I'd feel more confident.
Attachment #8583935 - Flags: approval-mozilla-release- → approval-mozilla-release?
Comment on attachment 8583935 [details] [diff] [review]
Be paranoid when reading strings from intents, yet again. v1

Agreed about low risk. We'll take this as a ride along in the 37.0.1 point release. Release+
Attachment #8583935 - Flags: approval-mozilla-release? → approval-mozilla-release+
I have tried different workaround and different apps - I am not hitting it. I will keep an eye on it too for the crashstats.
Status: RESOLVED → VERIFIED
See Also: → 1299939
You need to log in before you can comment on or make changes to this bug.