microg / microg/GmsCore

cab.snapp.passenger App Crash

Open
#1,899 4 comments 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: Snapp
Package id: cab.snapp.passenger

Describe the bug
The app crashes and doesn't open at all.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app.

Expected behavior
It should open.

System
Android Version: 9
Custom ROM: LineageOS 16

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

Logcat

03-12 16:21:03.086 28184 28184 E AndroidRuntime: FATAL EXCEPTION: main
03-12 16:21:03.086 28184 28184 E AndroidRuntime: Process: cab.snapp.passenger, PID: 28184
03-12 16:21:03.086 28184 28184 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {cab.snapp.passenger/cab.snapp.passenger.app_starter.LauncherActivity}: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3822)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:193)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6718)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
03-12 16:21:03.086 28184 28184 E AndroidRuntime: Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at java.lang.String.substring(String.java:2036)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at cab.snapp.passenger.framework.c.b.getServiceVersionName(SourceFile:36)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at cab.snapp.passenger.app_starter.units.splash.a.reportGooglePLayServiceVersion$impl_ProdRelease(SourceFile:282)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at cab.snapp.passenger.app_starter.units.splash.a.handleDefaultOnUnitResume(SourceFile:231)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at cab.snapp.passenger.app_starter.units.splash.a.onUnitResume(SourceFile:140)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at cab.snapp.arch.protocol.BaseController.onResume(SourceFile:62)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.Fragment.performResume(SourceFile:3180)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStateManager.resume(SourceFile:606)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(SourceFile:285)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStore.moveToExpectedState(SourceFile:113)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveToState(SourceFile:1424)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchStateChange(SourceFile:2968)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchResume(SourceFile:2900)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.Fragment.performResume(SourceFile:3189)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStateManager.resume(SourceFile:606)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(SourceFile:285)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentStore.moveToExpectedState(SourceFile:113)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveToState(SourceFile:1424)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchStateChange(SourceFile:2968)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchResume(SourceFile:2900)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentController.dispatchResume(SourceFile:285)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentActivity.onResumeFragments(SourceFile:334)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.fragment.app.FragmentActivity.onPostResume(SourceFile:323)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at androidx.appcompat.app.AppCompatActivity.onPostResume(SourceFile:240)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.Activity.performResume(Activity.java:7325)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3814)
03-12 16:21:03.086 28184 28184 E AndroidRuntime:        ... 11 more
03-12 16:21:03.267 28184 28184 E WebEngage: App has crashed
03-12 16:21:03.267 28184 28184 E WebEngage: java.lang.RuntimeException: Unable to resume activity {cab.snapp.passenger/cab.snapp.passenger.app_starter.LauncherActivity}: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
03-12 16:21:03.312 19731 19731 D MeasurementService: onBind: Intent { act=com.google.android.gms.measurement.START pkg=com.google.android.gms }
03-12 16:21:03.315 27907 27983 I AppMetrica-Attribution: Choosing distribution data: ClidsInfo(chosen=Candidate(clids=null, source=APP), candidates=[Candidate(clids=null, source=APP)])
03-12 16:21:03.330 27907 27983 I AppMetrica-Attribution: Choosing distribution data: ClidsInfo(chosen=Candidate(clids=null, source=APP), candidates=[Candidate(clids=null, source=APP)])
03-12 16:21:03.385 27907 27982 I AppMetrica-Attribution: Choosing distribution data: ClidsInfo(chosen=Candidate(clids=null, source=APP), candidates=[Candidate(clids=null, source=APP)])
03-12 16:21:03.615   672   688 W ActivityManager:   Force finishing activity cab.snapp.passenger/.app_starter.LauncherActivity
03-12 16:21:03.398 27907 27982 I AppMetrica-Attribution: Choosing distribution data: ClidsInfo(chosen=Candidate(clids=null, source=APP), candidates=[Candidate(clids=null, source=APP)])
03-12 16:21:03.680 28184 28184 I Process : Sending signal. PID: 28184 SIG: 9
03-12 16:21:03.703   672  2523 I ActivityManager: Process cab.snapp.passenger (pid 28184) has died: fore TOP
03-12 16:21:03.705   672   721 W libprocessgroup: kill(-28184, 9) failed: No such process
03-12 16:21:03.705   672   721 I libprocessgroup: Successfully killed process cgroup uid 10091 pid 28184 in 0ms

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

Start with the provided logcat, especially getServiceVersionName and reportGooglePLayServiceVersion, and reproduce the crash with Snapp on Android 9, LineageOS 16, and microG 0.2.27.223616. Trace the relevant Play Services compatibility path; done means the app reaches its normal startup screen without the reported StringIndexOutOfBoundsException.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile-dev
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.