microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
7.84k stars 1.64k forks source link

Tinder crashes upon using facebook.accountKit #693

Open StableNarwhal opened 5 years ago

StableNarwhal commented 5 years ago

I'm on a Pocophone F1 using LineageOS 16 and the newest NanoDroid with microg. Everything else works fine/as expected.

Steps to reproduce:

  1. Install Tinder via Play Store
  2. Open Tinder
  3. Try to login via phone number
  4. Immediate crash to home screen

Logcat:

01-18 19:32:25.630 15500 15500 E AndroidRuntime: FATAL EXCEPTION: main
01-18 19:32:25.630 15500 15500 E AndroidRuntime: Process: com.tinder, PID: 15500
01-18 19:32:25.630 15500 15500 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.tinder/com.facebook.accountkit.ui.AccountKitActivity}: android.content.ActivityNotFoundException: No Activity found to handle null
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3822)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:193)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6718)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
01-18 19:32:25.630 15500 15500 E AndroidRuntime: Caused by: android.content.ActivityNotFoundException: No Activity found to handle null
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2007)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Activity.startIntentSenderForResultInner(Activity.java:4845)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Activity.startIntentSenderForResult(Activity.java:4812)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.support.v4.app.FragmentActivity.startIntentSenderForResult(SourceFile:796)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Activity.startIntentSenderForResult(Activity.java:4779)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.support.v4.app.FragmentActivity.startIntentSenderForResult(SourceFile:781)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.PhoneContentController$d.c(SourceFile:499)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.PhoneContentController$d.b(SourceFile:478)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.PhoneContentController$d.a(SourceFile:410)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.PhoneContentController$d.a(SourceFile:273)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.af.onActivityCreated(SourceFile:66)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at com.facebook.accountkit.ui.PhoneContentController$d.onActivityCreated(SourceFile:204)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Fragment.performActivityCreated(Fragment.java:2531)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1318)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2426)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2205)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2161)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2062)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3051)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:3008)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.FragmentController.dispatchResume(FragmentController.java:204)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.Activity.performResume(Activity.java:7322)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3814)
01-18 19:32:25.630 15500 15500 E AndroidRuntime:    ... 11 more
ghost commented 5 years ago

The exception looks kind of like #689 . Might be the same thing; what is the expected output?

StableNarwhal commented 5 years ago

The exception looks kind of like #689 . Might be the same thing; what is the expected output?

Huh. I actually looked at your issue before while searching for a solution, strange I didn't notice this. Sure could be!

The first 4 screens show the procedure, screen 2 is the expected output. The app crashes right after activating the "Login with phone number" button with the error(s) mentioned in the OP, but doesn't crash while activating the other two buttons. Procedure

ghost commented 5 years ago

I googled some stuff about getting phone numbers to log in with gms, and found https://developers.google.com/android/reference/com/google/android/gms/auth/api/credentials/CredentialsApi . Maybe it has to do with this?

Btw, I don't know anything about android dev.

ghost commented 5 years ago

https://developer.android.com/reference/android/app/Activity.html#startIntentSenderForResult(android.content.IntentSender,%20int,%20android.content.Intent,%20int,%20int,%20int,%20android.os.Bundle) says:

fillInIntent Intent: If non-null, this will be provided as the intent parameter to IntentSender.sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler).

Doesn't explain what happens if the intent is null though 🤔

(Still don't know anything about android dev, but is this actually a microG problem? It doesn't seem like this is part of the google play stuff.)

StableNarwhal commented 5 years ago

Well, looks like nobody else has interest and/or the ability to at least point us in the right direction.

chris42 commented 5 years ago

It appears it is a missing part in microg copying the Firebase functionality. Marvin will focus on microg with quite an amount of time from march on (See here). However, I do not know if this will be within his immediate focus. For know you can only use an older version of failing apps.

Overall I would advise not to update apps reliant on GSF if not absolutely necessary (and then make only the smallest version jump possible), as the API changed a lot, which has not been followed by microg yet.

StableNarwhal commented 5 years ago

It appears it is a missing part in microg copying the Firebase functionality. Marvin will focus on microg with quite an amount of time from march on (See here). However, I do not know if this will be within his immediate focus. For know you can only use an older version of failing apps.

Overall I would advise not to update apps reliant on GSF if not absolutely necessary (and then make only the smallest version jump possible), as the API changed a lot, which has not been followed by microg yet.

Thank you so much for your answer! That explains a lot of issues I had with different apps.

Ah well, Marvins work with this project is simply awesome and I can't even begin to grasp the amount of time and knowledge he continues to pour into it. It'd be nice to have this growing issue fixed asap, but, as we all know, this project lives and dies with the volunteers sacrificing their free time to push the ongoing development forward. So no complains here, simply gratitude.

In the meantime, I'm SOL, though. The few apps I use which rely on GSF aren't available in APK form, at least from "trustworthy" sources. Especially older versions.

Again, thanks for the update!

StableNarwhal commented 5 years ago

Short update from me:

I managed to aquire a few older APKs regarding the apps with issues. It doesn't seem to be a problem regarding the current Firebase implementation, since even APKs from 2017 show the same or this issue:

  1. Open the old version of the app, click on the "Login with phone number" button (as described by the picture series in OP)
  2. Instead of crashing to homescreen, the expected screen (picture 2) comes up, but after entering the phone number, it immediately shows a new screen with the generic error message "A system error has occurred. Please try again."

I can still use that account from other devices, so I'm pretty sure that this is some deeper issue regarding microg, not necessarily the Firebase implementation. I'll logcat the behaviour later today and post ist.

crushv commented 5 years ago

This issue seems to be fixed in latest versions of tinder/microg, can go through the phone auth flow without crash

StableNarwhal commented 5 years ago

This issue seems to be fixed in latest versions of tinder/microg, can go through the phone auth flow without crash

Still the same issue for me, are you using the official microg sources or NanoDroid? I might have to try the LineageOS for microg ROM.

StableNarwhal commented 5 years ago

So I just flashed and setup the latest LOS16+microg ROM for my device (berrylium) and the issue still persists. Would you mind describing your setup?

crushv commented 5 years ago

@Strel0ka LOS15+microg from for oneplus3, i fetched the android app bundle using https://github.com/onyxbits/raccoon4 and then installed the split apks with https://github.com/Aefyr/SAI (because latest versions of tinder are only distributed as AABs I can't seem to install them with yalp/aurora)

StableNarwhal commented 5 years ago

@crushv Maybe this is a device/LOS16 specific bug. I installed the NanoDroid Playstore on top of the latest LOS16+microg and got the app that way, i'll try your described approach in a few hours. I don't think it'll change anything, but who knows. Thanks!

StableNarwhal commented 5 years ago

Another short push/update from me.

I'm currently on the official Lineage16+microg ROM for beryllium and flashed the latest NanoDroid (with microG GmsCore (0.2.6.15181-75)) on top of it. The issue still persists, though I was able to find one other instance of this specific error in the meantime: Click.

I'm rooted via magisk(v19), maybe this will help in a fix? @mar-v-in

DevPre24 commented 4 years ago

Still an issue unfortunately.

StableNarwhal commented 4 years ago

Still an issue.

532910 commented 3 years ago

Looks like TikTok registration fails with the same issue:

E AndroidRuntime: FATAL EXCEPTION: main                                                                                                                                          E AndroidRuntime: Process: com.zhiliaoapp.musically, PID: 15828                                                                                                                  E AndroidRuntime: android.content.ActivityNotFoundException: No Activity found to handle null                                                                                    E AndroidRuntime:       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2058)                                                                       E AndroidRuntime:       at android.app.Activity.startIntentSenderForResultInner(Activity.java:5473)                                                                              E AndroidRuntime:       at android.app.Activity.startIntentSenderForResult(Activity.java:5439)
E AndroidRuntime:       at androidx.fragment.app.FragmentActivity.startIntentSenderForResult(SourceFile:117637130)                                                               E AndroidRuntime:       at androidx.core.app.b.a(SourceFile:134479878)
E AndroidRuntime:       at androidx.fragment.app.FragmentActivity.startIntentSenderFromFragment(SourceFile:134479926)                                                            E AndroidRuntime:       at androidx.fragment.app.FragmentActivity$a.a(SourceFile:134414350)
E AndroidRuntime:       at androidx.fragment.app.Fragment.startIntentSenderForResult(SourceFile:117702671)                                                                       E AndroidRuntime:       at com.ss.android.ugc.aweme.account.login.sms.a.c(SourceFile:393326)                                                                                     E AndroidRuntime:       at com.ss.android.ugc.aweme.account.login.sms.a.a(SourceFile:16908290)
E AndroidRuntime:       at com.ss.android.ugc.aweme.account.login.v2.ui.a.w.onViewCreated(SourceFile:33882201)                                                                   E AndroidRuntime:       at androidx.fragment.app.h.a(SourceFile:1471)                                                                                                            E AndroidRuntime:       at androidx.fragment.app.i.a(Unknown Source:0)                                                                                                           E AndroidRuntime:       at androidx.fragment.app.h.c(SourceFile:17301542)                                                                                                        E AndroidRuntime:       at androidx.fragment.app.h.a(SourceFile:1852)                                                                                                            E AndroidRuntime:       at androidx.fragment.app.a.f(SourceFile:393378)                                                                                                          E AndroidRuntime:       at androidx.fragment.app.h.b(SourceFile:67698726)                                                                                                        E AndroidRuntime:       at androidx.fragment.app.h.a(SourceFile:2411)                                                                                                            E AndroidRuntime:       at androidx.fragment.app.h.b(SourceFile:34078808)                                                                                                        E AndroidRuntime:       at androidx.fragment.app.h.b(SourceFile:2243)                                                                                                            E AndroidRuntime:       at androidx.fragment.app.a.e(SourceFile:196614)                                                                                                          E AndroidRuntime:       at androidx.fragment.app.l.finishUpdate(SourceFile:16908292)                                                                                             E AndroidRuntime:       at com.ss.android.ugc.aweme.views.e.finishUpdate(SourceFile:16908290)                                                                                    E AndroidRuntime:       at androidx.viewpager.widget.ViewPager.populate(SourceFile:17301922)                                                                                     E AndroidRuntime:       at androidx.viewpager.widget.ViewPager.populate(SourceFile:65538)                                                                                        E AndroidRuntime:       at androidx.viewpager.widget.ViewPager.onMeasure(SourceFile:34013397)                                                                                    E AndroidRuntime:       at com.ss.android.ugc.aweme.views.RtlViewPager.onMeasure(SourceFile:33816618)
E AndroidRuntime:       at android.view.View.measure(View.java:25086)                                                                                                            E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)                                                                                   E AndroidRuntime:       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)                                                                          E AndroidRuntime:       at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)                                                                                    E AndroidRuntime:       at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)                                                                                          E AndroidRuntime:       at android.view.View.measure(View.java:25086)                                                                                                            E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)
E AndroidRuntime:       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)                                                                          E AndroidRuntime:       at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)                                                                                    E AndroidRuntime:       at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)                                                                                          E AndroidRuntime:       at android.view.View.measure(View.java:25086)                                                                                                            E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)                                                                                   E AndroidRuntime:       at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                                                                            E AndroidRuntime:       at android.view.View.measure(View.java:25086)                                                                                                            E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)                                                                                   E AndroidRuntime:       at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)                                                                                            E AndroidRuntime:       at android.view.View.measure(View.java:25086)                                                                                                            E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)
E AndroidRuntime:       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
E AndroidRuntime:       at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
E AndroidRuntime:       at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
E AndroidRuntime:       at android.view.View.measure(View.java:25086)
E AndroidRuntime:       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6872)
E AndroidRuntime:       at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
E AndroidRuntime:       at com.android.internal.policy.DecorView.onMeasure(DecorView.java:742)
E AndroidRuntime:       at android.view.View.measure(View.java:25086)
E AndroidRuntime:       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3083)
E AndroidRuntime:       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1857)
E AndroidRuntime:       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2146)
E AndroidRuntime:       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1745)
E AndroidRuntime:       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7768)
E AndroidRuntime:       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:967)
E AndroidRuntime:       at android.view.Choreographer.doCallbacks(Choreographer.java:791)
E AndroidRuntime:       at android.view.Choreographer.doFrame(Choreographer.java:726)
E AndroidRuntime:       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
E AndroidRuntime:       at android.os.Handler.handleCallback(Handler.java:883)
E AndroidRuntime:       at android.os.Handler.dispatchMessage(Handler.java:100)
E AndroidRuntime:       at android.os.Looper.loop(Looper.java:214)
E AndroidRuntime:       at android.app.ActivityThread.main(ActivityThread.java:7356)
E AndroidRuntime:       at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime:       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
E AndroidRuntime:       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940
MiggL commented 3 years ago

I no longer have this issue after upgrading to LineageOS 17.1 (Android 10) I am using a Samsung Galaxy S5 (klte).

532910 commented 3 years ago

This way tiktok is another issue: #1364

daanjderuiter commented 3 years ago

No longer an issue here either on 17.1 (guacamole), can anyone still reproduce this?

aidaho commented 3 years ago

I've reinstalled the app, logged in just fine and was greeted by a notice stating I was banned from the app.
This particular issue looks to be fixed.