microg / microg/GmsCore

cc.forestapp crashes when trying to log in or sign up

Open
#1,630 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Affected app
Name: Forest
Package id: cc.forestapp

Describe the bug
When trying to log in or sign up (by pressing the "Sign up and log in" button under menu > settings) the app crashes. Sometimes a loading animation shows for a few seconds, sometimes not, but in every case the app crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Open Forest
  2. go to the settings tab via the menu icon on the top left
  3. tap "Sign up and log in

Expected behavior
Ability to log in or sign up

Screenshots
If applicable, add screenshots to help explain your problem.

System
Android Version: 10
Custom ROM: /e/ OS 0.20 (unofficial build but otherwise working correctly)

microG
microG Core version: 0.2.22.212658
microG Self-Check results: All ticked

Additional context
I captured the following via logcat and belive it's the main cause of the crash or at least connected to it:

01-03 18:02:44.607 15506 15547 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.ads.dynamite
01-03 18:02:44.608 15506 15547 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.ads.dynamite
01-03 18:02:44.608 15506 15547 I DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:212910700 and remote module com.google.android.gms.ads.dynamite:0
01-03 18:02:44.608 15506 15547 I DynamiteModule: Selected local version of com.google.android.gms.ads.dynamite
01-03 18:02:44.620 15506 15547 W Ads     : #007 Could not call remote method. @2
01-03 18:02:44.620 15506 15547 W Ads     : com.google.android.gms.internal.ads.zzcgj: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.measurement.DynamiteMeasurementManager

here is a longer version:

01-03 18:02:44.499 15506 15506 I FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
01-03 18:02:44.510 15506 15506 I FirebaseCrashlytics: Initializing Firebase Crashlytics 18.0.1 for cc.forestapp
01-03 18:02:44.510 15506 15533 W cc.forestapp: Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (greylist-max-o, reflection, denied)
01-03 18:02:44.511 15506 15533 W cc.forestapp: Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
01-03 18:02:44.511 15506 15533 W cc.forestapp: Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
01-03 18:02:44.515 14291 14313 D ChimeraServiceProvider: query: content://com.google.android.gms.chimera/api_force_staging/com.google.android.gms.measurement.dynamite?requestStartTime=1109764601
01-03 18:02:44.517 15506 15536 W DynamiteModule: Failed to retrieve remote module version.
01-03 18:02:44.523 15506 15536 I cc.forestapp: The ClassLoaderContext is a special shared library.
01-03 18:02:44.534 15506 15536 E cc.forestapp: Dex checksum does not match for dex: /system/priv-app/GmsCore/GmsCore.apk.Expected: 3774916637, actual: 470592251
01-03 18:02:44.538 15506 15536 I cc.forestapp: The ClassLoaderContext is a special shared library.
01-03 18:02:44.554 15506 15536 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
01-03 18:02:44.559 15506 15536 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.measurement.dynamite
01-03 18:02:44.560 15506 15536 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.measurement.dynamite
01-03 18:02:44.560 15506 15536 I DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:51 and remote module com.google.android.gms.measurement.dynamite:0
01-03 18:02:44.560 15506 15506 I FirebaseInitProvider: FirebaseApp initialization successful
01-03 18:02:44.560 15506 15536 I DynamiteModule: Selected local version of com.google.android.gms.measurement.dynamite
01-03 18:02:44.561 15506 15536 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
01-03 18:02:44.561 15506 15536 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.measurement.dynamite
01-03 18:02:44.561 15506 15536 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.measurement.dynamite
--------- switch to radio
01-03 18:02:44.581  2969  3080 E RILC    : signalLevelInfosChanged: sehRadioService[0]->mSehRadioIndication == NULL
--------- switch to events
01-03 18:02:44.590  3287  3591 I service_manager_stats: [200,171,679469]
--------- switch to main
01-03 18:02:44.593 15506 15542 D TransportRuntime.JobInfoScheduler: Upload for context TransportContext(cct, DEFAULT, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy1wYS5nb29nbGVhcGlzLmNvbS92MS9maXJlbG9nL2xlZ2FjeS9iYXRjaGxvZ1xBSXphU3lDY2traUg4aTJaQVJ3T3MxTEV6RktsZDE1YU9HOG96S28=) is already scheduled. Returning...
01-03 18:02:44.599 15506 15547 W ContextImpl: Failed to ensure /data/user/0/com.google.android.gms/shared_prefs: mkdir failed: EACCES (Permission denied)
01-03 18:02:44.605 15506 15547 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
01-03 18:02:44.607 15506 15547 W GmsDynamiteLoaderImpl: No such module known: com.google.android.gms.ads.dynamite
01-03 18:02:44.608 15506 15547 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.ads.dynamite
01-03 18:02:44.608 15506 15547 I DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:212910700 and remote module com.google.android.gms.ads.dynamite:0
01-03 18:02:44.608 15506 15547 I DynamiteModule: Selected local version of com.google.android.gms.ads.dynamite
01-03 18:02:44.620 15506 15547 W Ads     : #007 Could not call remote method. @2
01-03 18:02:44.620 15506 15547 W Ads     : com.google.android.gms.internal.ads.zzcgj: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.measurement.DynamiteMeasurementManager
01-03 18:02:44.620 15506 15547 W Ads     :      at com.google.android.gms.internal.ads.zzcgk.zza(com.google.android.gms:play-services-ads-lite@@20.4.0:2)
01-03 18:02:44.620 15506 15547 W Ads     :      at com.google.android.gms.internal.ads.zzbum.run(com.google.android.gms:play-services-ads-lite@@20.4.0:11)
01-03 18:02:44.620 15506 15547 W Ads     :      at java.lang.Thread.run(Thread.java:919)
01-03 18:02:44.620 15506 15547 W Ads     : Caused by: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.measurement.DynamiteMeasurementManager
01-03 18:02:44.620 15506 15547 W Ads     :      at com.google.android.gms.dynamite.DynamiteModule.instantiate(com.google.android.gms:play-services-basement@@17.6.0:3)
01-03 18:02:44.620 15506 15547 W Ads     :      at com.google.android.gms.internal.ads.zzcgk.zza(com.google.android.gms:play-services-ads-lite@@20.4.0:1)
01-03 18:02:44.620 15506 15547 W Ads     :      ... 2 more
01-03 18:02:44.620 15506 15547 W Ads     : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.measurement.DynamiteMeasurementManager" on path: DexPathList[[zip file "/data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/base.apk", zip file "/data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.arm64_v8a.apk", zip file "/data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.xhdpi.apk"],nativeLibraryDirectories=[/data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/lib/arm64, /data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/base.apk!/lib/arm64-v8a, /data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.arm64_v8a.apk!/lib/arm64-v8a, /data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.xhdpi.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64, /system/vendor/lib64]]
01-03 18:02:44.620 15506 15547 W Ads     :      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
01-03 18:02:44.620 15506 15547 W Ads     :      at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
01-03 18:02:44.620 15506 15547 W Ads     :      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
01-03 18:02:44.620 15506 15547 W Ads     :      at com.google.android.gms.dynamite.DynamiteModule.instantiate(com.google.android.gms:play-services-basement@@17.6.0:1)
01-03 18:02:44.620 15506 15547 W Ads     :      ... 3 more
01-03 18:02:44.620 15506 15547 W Ads     :      Suppressed: java.io.IOException: No original dex files found for dex location /data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.arm64_v8a.apk
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexFile.openDexFileNative(Native Method)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexFile.openDexFile(DexFile.java:365)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexFile.<init>(DexFile.java:107)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexFile.<init>(DexFile.java:80)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexPathList.loadDexFile(DexPathList.java:444)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexPathList.makeDexElements(DexPathList.java:403)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.DexPathList.<init>(DexPathList.java:164)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:126)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:101)
01-03 18:02:44.620 15506 15547 W Ads     :              at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:74)
01-03 18:02:44.620 15506 15547 W Ads     :              at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:87)
01-03 18:02:44.620 15506 15547 W Ads     :              at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:116)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:114)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:60)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:856)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.LoadedApk.getClassLoader(LoadedApk.java:955)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.LoadedApk.getResources(LoadedApk.java:1193)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ContextImpl.createAppContext(ContextImpl.java:2462)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ContextImpl.createAppContext(ContextImpl.java:2454)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6343)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ActivityThread.access$1300(ActivityThread.java:219)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.os.Handler.dispatchMessage(Handler.java:107)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.os.Looper.loop(Looper.java:214)
01-03 18:02:44.620 15506 15547 W Ads     :              at android.app.ActivityThread.main(ActivityThread.java:7356)
01-03 18:02:44.620 15506 15547 W Ads     :              at java.lang.reflect.Method.invoke(Native Method)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
01-03 18:02:44.621 15506 15547 W Ads     :      Suppressed: java.io.IOException: No original dex files found for dex location /data/app/cc.forestapp-7GmX05pUCgYSfncnak4BKA==/split_config.xhdpi.apk
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexFile.openDexFileNative(Native Method)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexFile.openDexFile(DexFile.java:365)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexFile.<init>(DexFile.java:107)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexFile.<init>(DexFile.java:80)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexPathList.loadDexFile(DexPathList.java:444)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexPathList.makeDexElements(DexPathList.java:403)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.DexPathList.<init>(DexPathList.java:164)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:126)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:101)
01-03 18:02:44.621 15506 15547 W Ads     :              at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:74)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:87)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:116)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:114)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:60)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:856)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.LoadedApk.getClassLoader(LoadedApk.java:955)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.LoadedApk.getResources(LoadedApk.java:1193)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ContextImpl.createAppContext(ContextImpl.java:2462)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ContextImpl.createAppContext(ContextImpl.java:2454)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6343)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ActivityThread.access$1300(ActivityThread.java:219)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.os.Handler.dispatchMessage(Handler.java:107)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.os.Looper.loop(Looper.java:214)
01-03 18:02:44.621 15506 15547 W Ads     :              at android.app.ActivityThread.main(ActivityThread.java:7356)
01-03 18:02:44.621 15506 15547 W Ads     :              at java.lang.reflect.Method.invoke(Native Method)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
01-03 18:02:44.621 15506 15547 W Ads     :              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
01-03 18:02:44.626 15506 15548 I FA      : App measurement initialized, version: 42004
01-03 18:02:44.626 15506 15548 I FA      : To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
01-03 18:02:44.626 15506 15548 I FA      : To enable faster debug mode event logging run:
01-03 18:02:44.626 15506 15548 I FA      :   adb shell setprop debug.firebase.analytics.app cc.forestapp
01-03 18:02:44.679  2891 11627 I display : [PrimaryDisplay] [DYNAMIC_RECOMP] HWC_2_GLES by low FPS(4)
01-03 18:02:44.709 15506 15506 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: false
01-03 18:02:44.730 14291 14291 D GmsMeasureBrokerSvc: onBind: Intent { act=com.google.android.gms.measurement.START pkg=com.google.android.gms }
01-03 18:02:44.995 15506 15506 E ===     : system : en_US, selected : {"locale":"en"}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by reproducing the Forest login or sign-up crash on Android with the reported microG and /e/ OS versions, then compare the crash with the supplied logcat, including Firebase and Google Ads initialization; done means identifying and fixing the crash without breaking authentication.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, firebase, java
Domain
authentication, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.