Closed Bug 956789 Opened 10 years ago Closed 10 years ago

Crash in attempt to share - android.content.ActivityNotFoundException (on uninstalled applications)

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox26 affected, firefox27 affected, firefox28 affected, firefox29 affected)

RESOLVED FIXED
Firefox 29
Tracking Status
firefox26 --- affected
firefox27 --- affected
firefox28 --- affected
firefox29 --- affected

People

(Reporter: aaronmt, Unassigned)

Details

(Keywords: crash, reproducible)

Crash Data

E/GeckoAppShell(13541): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 1 ("main")
E/GeckoAppShell(13541): android.content.ActivityNotFoundException: Unable to find explicit activity class {org.mozilla.firefox/org.mozilla.gecko.sync.setup.activities.SendTabActivity}; have you declared this activity in your AndroidManifest.xml?
E/GeckoAppShell(13541): 	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
E/GeckoAppShell(13541): 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
E/GeckoAppShell(13541): 	at android.app.Activity.startActivityForResult(Activity.java:3424)
E/GeckoAppShell(13541): 	at android.app.Activity.startActivityForResult(Activity.java:3385)
E/GeckoAppShell(13541): 	at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.GeckoActivity.startActivityForResult(GeckoActivity.java:68)
E/GeckoAppShell(13541): 	at android.app.Activity.startActivity(Activity.java:3627)
E/GeckoAppShell(13541): 	at android.app.Activity.startActivity(Activity.java:3595)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.GeckoActivity.startActivity(GeckoActivity.java:62)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.widget.GeckoActionProvider$Callbacks.chooseActivity(GeckoActionProvider.java:137)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.widget.GeckoActionProvider$Callbacks.onMenuItemClick(GeckoActionProvider.java:147)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.menu.GeckoMenuItem.invoke(GeckoMenuItem.java:379)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.menu.GeckoMenu.handleMenuItemClick(GeckoMenu.java:522)
E/GeckoAppShell(13541): 	at org.mozilla.gecko.menu.GeckoMenu.onItemClick(GeckoMenu.java:515)
E/GeckoAppShell(13541): 	at android.widget.AdapterView.performItemClick(AdapterView.java:299)
E/GeckoAppShell(13541): 	at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
E/GeckoAppShell(13541): 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
E/GeckoAppShell(13541): 	at android.widget.AbsListView$3.run(AbsListView.java:3638)
E/GeckoAppShell(13541): 	at android.os.Handler.handleCallback(Handler.java:733)
E/GeckoAppShell(13541): 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/GeckoAppShell(13541): 	at android.os.Looper.loop(Looper.java:136)
E/GeckoAppShell(13541): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
E/GeckoAppShell(13541): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/GeckoAppShell(13541): 	at java.lang.reflect.Method.invoke(Method.java:515)
E/GeckoAppShell(13541): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/GeckoAppShell(13541): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/GeckoAppShell(13541): 	at dalvik.system.NativeStart.main(Native Method)
E/Gecko   (13541): mozalloc_abort: Redirecting call to abort() to mozalloc_abort
I/ActivityManager(  773): START u0 {act=android.intent.action.SEND typ=text/plain flg=0x80001 cmp=org.mozilla.firefox/org.mozilla.gecko.sync.setup.activities.SendTabActivity (has clip) (has extras)} from pid 13541

https://crash-stats.mozilla.com/report/index/970816db-c856-483c-9818-f2ec92140106

We should check to see if the activity exists and safeguard.

Steps

i) Install and run Firefox
ii) Uninstall an application that appears in the share menu
iii) Access the activity in the share menu from the uninstalled application

Expected: Activity not show up if the application has been uninstalled
Actual: Crash
I/ActivityManager(  773): START u0 {act=android.intent.action.SEND typ=text/plain flg=0x80001 cmp=org.mozilla.firefox/org.mozilla.gecko.sync.setup.activities.SendTabActivity (has clip) (has extras)} from pid 13541
D/audio_hw_primary(  182): select_devices: out_snd_device(2: speaker) in_snd_device(0: )
I/ActivityManager(  773): Process org.mozilla.fennec (pid 13541) has died.
I/WindowState(  773): WIN DEATH: Window{42f9c348 u0 org.mozilla.fennec/org.mozilla.fennec.App}
Any regression range for this or does this crash on all channels?
tracking-fennec: --- → ?
Long-standing issue.

I think the patch in bug https://bugzilla.mozilla.org/show_bug.cgi?id=881861 might fix this. It should land now to try this out since it's tracking 28.
Are you sending a tab to a different version of Firefox installed on the same phone, or to the same one?

If it's the latter, Bug 881861 shouldn't be relevant -- when we do an upgrade, our process gets relaunched.
(In reply to Richard Newman [:rnewman] from comment #4)
> Are you sending a tab to a different version of Firefox installed on the
> same phone, or to the same one?

Not related. This crash is repdoducible with any application on the device; we need to rebuild the listing and listen to changes from the ActivityManager when changes in the system takes place and Firefox is still running.

E.g, Open Firefox, uninstall Twitter, attempt to share to Twitter.
The new synthetic apk code registers fennec to listen for app uninstalls. When it lands, maybe we can reuse that.
(In reply to Aaron Train [:aaronmt] from comment #5)
> (In reply to Richard Newman [:rnewman] from comment #4)
> > Are you sending a tab to a different version of Firefox installed on the
> > same phone, or to the same one?
> 
> Not related. This crash is repdoducible with any application on the device;
> we need to rebuild the listing and listen to changes from the
> ActivityManager when changes in the system takes place and Firefox is still
> running.
> 
> E.g, Open Firefox, uninstall Twitter, attempt to share to Twitter.

OK, this is useful.  So it's not a problem with the SendTab share handler, it's a problem with the code in Fennec that handles it.  A stack for Twitter would be helpful; rnewman and I assumed this was a SendTab problem.
Let's fix bug 881861 correctly
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
tracking-fennec: ? → ---
Still reproducible on Nightly (01/27).
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Fixed via bug 881861
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 29
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.