Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Bug] Fenix crashes when trying to access Saved Logins if Fingerprint Biometrics are set #6628

Closed
abodea opened this issue Nov 15, 2019 · 11 comments
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. eng:qa:verified QA Verified Feature:Logins S1 Blocks development/testing, may impact more than 25% of users, causes data loss, potential chemspill

Comments

@abodea
Copy link
Member

abodea commented Nov 15, 2019

Preconditions

Set Biometrics FIngerprint

Steps to reproduce

  1. Launch Fenix.
  2. Login with valid credentials.
  3. Reach the Passwords section.
  4. Attempts to access Saved Logins section.

Expected behavior

The unlocking method is displayed and the Saved logins section can be accessed.

Actual behavior

Fenix crashes.

Device information

  • Android device: Samsung Galaxy S10+(Android 9).
  • Fenix version: Nightly 11/15

ezgif-1-6629a316f9a8

java.lang.SecurityException: Must have android.permission.USE_BIOMETRIC permission.: Neither user 10208 nor current process has android.permission.USE_BIOMETRIC.`

┆Issue is synchronized with this [Jira Task](https://mozilla-hub.atlassian.net/browse/FNXV2-14396)
@abodea abodea added 🐞 bug Crashes, Something isn't working, .. b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info S1 Blocks development/testing, may impact more than 25% of users, causes data loss, potential chemspill labels Nov 15, 2019
@abodea
Copy link
Member Author

abodea commented Nov 15, 2019

--------- beginning of crash
2019-11-15 18:18:53.828 4653-4653/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.mozilla.fenix.nightly, PID: 4653
    java.lang.SecurityException: Must have android.permission.USE_BIOMETRIC permission.: Neither user 10208 nor current process has android.permission.USE_BIOMETRIC.
        at android.os.Parcel.createException(Parcel.java:1966)
        at android.os.Parcel.readException(Parcel.java:1934)
        at android.os.Parcel.readException(Parcel.java:1884)
        at com.samsung.android.bio.face.IFaceService$Stub$Proxy.hasEnrolledFaces(IFaceService.java:627)
        at com.samsung.android.bio.face.SemBioFaceManager.hasEnrolledFaces(SemBioFaceManager.java:1077)
        at android.hardware.biometrics.BiometricPrompt.semHandlePreAuthenticationErrors(BiometricPrompt.java:785)
        at android.hardware.biometrics.BiometricPrompt.handlePreAuthenticationErrors(BiometricPrompt.java:748)
        at android.hardware.biometrics.BiometricPrompt.authenticate(BiometricPrompt.java:642)
        at androidx.biometric.BiometricFragment.onCreateView(BiometricFragment.java:25)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:4)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:77)
        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:4)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:215)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2)
        at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:6)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
        at android.app.Activity.performStart(Activity.java:7348)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3131)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7032)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
2019-11-15 18:18:53.828 4653-4653/? I/mozac/CrashReporter: Received crash: UncaughtExceptionCrash(throwable=java.lang.SecurityException: Must have android.permission.USE_BIOMETRIC permission.: Neither user 10208 nor current process has android.permission.USE_BIOMETRIC., breadcrumbs=[Breadcrumb(message=Changing to fragment homeFragment, isCustomTab: false, data={}, category=DestinationChanged, level=INFO, type=DEFAULT, date=Fri Nov 15 18:18:49 GMT+02:00 2019), Breadcrumb(message=Changing to fragment settingsFragment, isCustomTab: false, data={}, category=DestinationChanged, level=INFO, type=DEFAULT, date=Fri Nov 15 18:18:51 GMT+02:00 2019), Breadcrumb(message=Changing to fragment loginsFragment, isCustomTab: false, data={}, category=DestinationChanged, level=INFO, type=DEFAULT, date=Fri Nov 15 18:18:52 GMT+02:00 2019)])
2019-11-15 18:18:53.828 4653-4653/? I/mozac/CrashReporter: Showing prompt
2019-11-15 18:18:53.831 5721-7043/? I/ActivityManager: START u0 {act=null typ=null flg=0x10018000 cmp=ComponentInfo{org.mozilla.fenix.nightly/mozilla.components.lib.crash.prompt.CrashReporterActivity}} from uid 10208
2019-11-15 18:18:53.832 5721-7043/? D/CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 2530000  uid : 1000  pid : 5721  pkgName : AMS_APP_SWITCH@CPU_MIN@46
2019-11-15 18:18:53.833 5721-7043/? D/ActivityManagerPerformance: AMP_acquire() APP_SWITCH
2019-11-15 18:18:53.833 5721-5721/? D/Telecom:SamsungPrebindingServiceImpl: onTopActivityChanged ComponentInfo{org.mozilla.fenix.nightly/androidx.biometric.DeviceCredentialHandlerActivity}
2019-11-15 18:18:53.834 5721-5721/? D/Telecom:SamsungPrebindingServiceImpl: onTopActivityChanged ComponentInfo{com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity}
2019-11-15 18:18:53.836 5250-5250/? I/SurfaceFlinger: id=964 createSurf (6080x6080),2 flag=4, AppWindowToken{a7e9da2 token=Token{1318d6d ActivityRecord{b9c8184 u0 org.mozilla.fenix.nightly/mozilla.components.lib.crash.prompt.CrashReporterActivity t17}}}#0
2019-11-15 18:18:53.838 5721-5721/? D/CS_HdrController: updateMultiWindowState : 0
2019-11-15 18:18:53.838 5721-5721/? D/MdnieScenarioControlService: MultiWindowState : false
2019-11-15 18:18:53.838 5721-5721/? D/CS_HdrController: updateMultiWindowState : 0
2019-11-15 18:18:53.839 5721-7043/? D/Debug: !@DumpState : SHIP
2019-11-15 18:18:53.839 5721-7043/? D/Debug: !@DumpState : debug level:0x4f4c
2019-11-15 18:18:53.839 5721-7043/? D/Debug: !@Dumpstate : Finally, system will skip dumpstate
2019-11-15 18:18:53.838 5721-5721/? D/MdnieScenarioControlService: MultiWindowState : false
2019-11-15 18:18:53.839 5721-7043/? W/ActivityManager: crash : org.mozilla.fenix.nightly,0
2019-11-15 18:18:53.841 4653-4653/? I/Process: Sending signal. PID: 4653 SIG: 9
2019-11-15 18:18:53.842 1537-1537/? I/BatteryReceiver: Received : com.samsung.android.sm.ACTION_ERROR
2019-11-15 18:18:53.842 1537-1537/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1610 android.content.ContextWrapper.startService:677 com.samsung.android.sm.battery.receiver.BatteryReceiver.d:134 com.samsung.android.sm.battery.receiver.BatteryReceiver.onReceive:52 android.app.ActivityThread.handleReceiver:3596 
2019-11-15 18:18:53.845 1537-4857/? D/AppErrorNotification: errorType : 24, process : org.mozilla.fenix.nightly , uid : 0
2019-11-15 18:18:53.846 5721-5743/? W/BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
2019-11-15 18:18:53.848 5721-5743/? W/BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
2019-11-15 18:18:53.850 2118-2118/? D/DQA: get data intent
2019-11-15 18:18:53.850 2118-2118/? D/DQA: save data
2019-11-15 18:18:53.850 2118-2118/? D/SamsungAnalytics:DQA: [Log Sender] insert
2019-11-15 18:18:53.856 5721-7073/? D/[a11y]: getUserAccounts0
2019-11-15 18:18:53.869 5721-7043/? D/[a11y]: getUserAccounts0
2019-11-15 18:18:53.878 1537-4857/? W/PkgUtils: p: com.google.android.gms, u:0
2019-11-15 18:18:53.912 5721-5827/? I/SensorService: [REARLIGHT] lux value : 13, code value : 245, als value : 8
2019-11-15 18:18:53.922 5721-5884/? W/InputDispatcher: channel '51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9, fd=570
2019-11-15 18:18:53.922 5721-5884/? E/InputDispatcher: channel '51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2019-11-15 18:18:53.922 5721-15069/? I/WindowManager: WIN DEATH: Window{51ebad u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity}
2019-11-15 18:18:53.922 5721-6201/? D/InputTransport: Input channel destroyed: fd=581
2019-11-15 18:18:53.922 5721-15069/? W/InputDispatcher: Attempted to unregister already unregistered input channel '51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity (server)'
2019-11-15 18:18:53.922 5721-15069/? V/WindowManager: Remove Window{51ebad u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity}: mSurfaceController=Surface(name=org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity[4653])/@0xb383e63 mAnimatingExit=false mRemoveOnExit=false mHasSurface=true surfaceShowing=true isAnimationSet=true app-animation=true mWillReplaceWindow=false inPendingTransaction=true mDisplayFrozen=false callers=com.android.server.wm.WindowState.access$300:280 com.android.server.wm.WindowState$DeathRecipient.binderDied:3318 android.os.BinderProxy.sendDeathNotice:1206 <bottom of call stack> <bottom of call stack> <bottom of call stack> 
2019-11-15 18:18:53.922 7814-7814/? D/InputTransport: Input channel destroyed: fd=90
2019-11-15 18:18:53.922 5721-12696/? I/ActivityManager: Process org.mozilla.fenix.nightly (pid 4653) has died: fore TOP (558,3340)
2019-11-15 18:18:53.923 5721-5746/? W/libprocessgroup: kill(-4653, 9) failed: No such process
2019-11-15 18:18:53.923 5721-15069/? I/WindowManager: Cancelling animation restarting=true, leash=null, surface=Surface(name=51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity)/@0xd86ea60, parent=Surface(name=AppWindowToken{6ecbab3 token=Token{c9aa022 ActivityRecord{b0a09ed u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity t17}}})/@0xb0f55d2, caller=com.android.server.wm.SurfaceAnimator.startAnimation:119 com.android.server.wm.WindowContainer.startAnimation:1213 com.android.server.wm.WindowState.startAnimation:5783 com.android.server.wm.WindowState.startAnimation:5766 com.android.server.wm.WindowStateAnimator.applyAnimationLocked:1785 
2019-11-15 18:18:53.923 5721-15069/? I/WindowManager: Reparenting to leash, surface=Surface(name=51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity)/@0xd86ea60, caller=com.android.server.wm.SurfaceAnimator.startAnimation:127 com.android.server.wm.WindowContainer.startAnimation:1213 com.android.server.wm.WindowState.startAnimation:5783 com.android.server.wm.WindowState.startAnimation:5766 com.android.server.wm.WindowStateAnimator.applyAnimationLocked:1785 
2019-11-15 18:18:53.923 5202-5202/? I/Zygote: Process 4653 exited due to signal (9)
2019-11-15 18:18:53.923 5250-5250/? I/SurfaceFlinger: id=965 createSurf (6080x6080),2 flag=4, Surface(name=51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity)/@0xd86ea60 - animation-leash#0
2019-11-15 18:18:53.924 4698-4698/? I/ServiceChildProcess: Service has been unbound. Stopping.
2019-11-15 18:18:53.924 5721-15069/? D/SurfaceControl: reparent is called, sc=Surface(name=51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity)/@0xd86ea60, newParentHandle=android.os.BinderProxy@e8e28d9, transaction=android.view.SurfaceControl$Transaction@9eff7de, caller=com.android.server.wm.SurfaceAnimator.createAnimationLeash:387 com.android.server.wm.SurfaceAnimator.startAnimation:127 com.android.server.wm.WindowContainer.startAnimation:1213 com.android.server.wm.WindowState.startAnimation:5783 com.android.server.wm.WindowState.startAnimation:5766 com.android.server.wm.WindowStateAnimator.applyAnimationLocked:1785 com.android.server.wm.WindowState.removeIfPossible:2804 
2019-11-15 18:18:53.926 5250-5293/? D/Layer: [51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity#0]::reparent oldParent:[AppWindowToken{6ecbab3 token=Token{c9aa022 ActivityRecord{b0a09ed u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity t17}}}#0], newParent:[Surface(name=51ebad org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity)/@0xd86ea60 - animation-leash#0]
2019-11-15 18:18:53.926 5721-15069/? D/InputTransport: Input channel destroyed: fd=570
2019-11-15 18:18:53.928 5721-12696/? I/WindowManager: Cancelling animation restarting=false, leash=null, surface=Surface(name=AppWindowToken{eed3616 token=Token{a9a2f31 ActivityRecord{d073fd8 u0 org.mozilla.fenix.nightly/androidx.biometric.DeviceCredentialHandlerActivity t17}}})/@0xc0f617f, parent=Surface(name=Task=17)/@0x419b6a3, caller=com.android.server.wm.SurfaceAnimator.cancelAnimation:188 com.android.server.wm.WindowContainer.cancelAnimation:1221 com.android.server.wm.AppWindowToken.cancelAnimation:2431 com.android.server.wm.AppWindowToken.onRemovedFromDisplay:815 com.android.server.wm.DisplayContent.removeAppToken:1073 
2019-11-15 18:18:53.928 5721-12696/? D/InputDispatcher: Focused application released
2019-11-15 18:18:53.928 5721-5746/? W/libprocessgroup: kill(-4653, 9) failed: No such process
2019-11-15 18:18:53.928 5721-5746/? I/libprocessgroup: Successfully killed process cgroup uid 10208 pid 4653 in 5ms
2019-11-15 18:18:53.928 5721-12696/? V/WindowManager: Setting visibility of Window{51ebad u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity EXITING}: false, caller=com.android.server.wm.WindowContainer.sendAppVisibilityToClients:623 com.android.server.wm.AppWindowToken.setClientHidden:460 com.android.server.wm.AppWindowToken.onAnimationFinished:2388 com.android.server.wm.AppWindowToken.setVisibility:551 com.android.server.wm.AppWindowToken.onRemovedFromDisplay:766 
2019-11-15 18:18:53.929 5250-5293/? I/SurfaceFlinger: id=963 Removed AppWindowToken{eed3616 token=Token{a9a2f31 ActivityRecord{d073fd8 u0 org.mozilla.fenix.nightly/androidx.biometric.DeviceCredentialHandlerActivity t17}}}#0 (1/84)
2019-11-15 18:18:53.930 5721-12696/? V/WindowManager: Setting visibility of Window{b0166a8 u0 com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity}: true, caller=com.android.server.wm.WindowContainer.sendAppVisibilityToClients:623 com.android.server.wm.AppWindowToken.setClientHidden:460 com.android.server.wm.AppWindowContainerController.setVisibility:440 com.android.server.am.ActivityRecord.setVisibility:1871 com.android.server.am.ActivityRecord.setVisible:1879 
2019-11-15 18:18:53.930 5721-12696/? V/WindowOrientationListener: getProposedRotation :-1
2019-11-15 18:18:53.930 5721-12696/? V/WindowManager: rotationForOrientationLw(orient=5, last=0); user=0  sensorRotation=-1 mLidState=-1 mDockMode=0 mHdmiPlugged=false
2019-11-15 18:18:53.930 2265-2265/? W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@f815ea3
2019-11-15 18:18:53.932 5721-12696/? D/GamePkgDataHelper: notifyAppCreate(), pkgName: org.mozilla.fenix.nightly, sendRet: true
2019-11-15 18:18:53.932 5721-5987/? D/GamePkgDataHelper: getGamePkgData(). org.mozilla.fenix.nightly
2019-11-15 18:18:53.932 5721-5987/? D/GameManagerService: handleMessage(), MSG_APP_CREATE. ignore. pkgName: org.mozilla.fenix.nightly
2019-11-15 18:18:53.933 5721-12696/? D/InputDispatcher: Focused application set to: a7e9da2
2019-11-15 18:18:53.933 5721-12696/? D/GameManagerService: noteResumeComponent(), resumeComponent: org.mozilla.fenix.nightly
2019-11-15 18:18:53.933 5721-5987/? D/GameManagerService: handleForegroundChange(). pkgName: org.mozilla.fenix.nightly, clsName: mozilla.components.lib.crash.prompt.CrashReporterActivity,FgActivityName:org.mozilla.fenix.nightly/mozilla.components.lib.crash.prompt.CrashReporterActivity
2019-11-15 18:18:53.933 5721-5987/? D/GameManagerService:   handleForegroundChange(). same package. game has never resumed yet. ignore
2019-11-15 18:18:53.934 5721-12696/? D/MARsPolicyManager: onPackageResumedFG pkgName = org.mozilla.fenix.nightly, userId = 0
2019-11-15 18:18:53.937 4698-4698/? I/Process: Sending signal. PID: 4698 SIG: 9
2019-11-15 18:18:53.937 5721-5744/? D/WindowManager: setSystemUiVisibility: vis= 0xa018, fullscreenVis= 0x0, dockedVis= 0x0, win=Window{51ebad u0 org.mozilla.fenix.nightly/org.mozilla.fenix.HomeActivity EXITING}
2019-11-15 18:18:53.937 5721-5744/? D/CodecSolution: isMaxAspectPackageEx: org.mozilla.fenix.nightly : true(1)
2019-11-15 18:18:53.937 5721-5744/? D/CodecSolution: isMaxAspectPackageEx: org.mozilla.fenix.nightly : true(1)
2019-11-15 18:18:53.938 6436-12038/? D/ForegroundUtils: could not check pending caller
2019-11-15 18:18:53.938 6436-12038/? I/chatty: uid=1027(nfc) Binder:6436_4 identical 1 line
2019-11-15 18:18:53.938 6436-12038/? D/ForegroundUtils: could not check pending caller
2019-11-15 18:18:53.938 6087-6087/? D/LightBarController: onNavigationVisibilityChanged : vis = a018, nbModeChanged = false navigationBarMode = 4
2019-11-15 18:18:53.940 7087-7109/? D/RecentsTaskLoadPlan: lastReportedWindowingMode is not exist.
2019-11-15 18:18:53.940 7087-7087/? I/Launcher: onWindowVisibilityChanged : false
2019-11-15 18:18:53.940 5250-5250/? I/Layer: id=963 onRemoved AppWindowToken{eed3616 token=Token{a9a2f31 ActivityRecord{d073fd8 u0 org.mozilla.fenix.nightly/androidx.biometric.DeviceCredentialHandlerActivity t17}}}#0 
2019-11-15 18:18:53.941 7087-7109/? D/RecentsTaskLoadPlan: lastReportedWindowingMode is not exist.
2019-11-15 18:18:53.942 5721-6201/? V/WindowManager: Relayout Window{b0166a8 u0 com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity}: viewVisibility=4 req=1440x3040 {(0,0)(fillxfill) sim={adjust=nothing} layoutInDisplayCutoutMode=always ty=BASE_APPLICATION fmt=TRANSPARENT wanim=0x10302ec
      fl=81910d00
      pfl=20000
      vsysui=700 dimDuration=100 naviIconColor=0}
2019-11-15 18:18:53.944 7087-7087/? D/ViewRootImpl@a25f31[LauncherActivity]: Relayout returned: old=[0,0][1440,3040] new=[0,0][1440,3040] result=0x1 surface={valid=false 0} changed=false
2019-11-15 18:18:53.944 7087-7087/? D/ViewRootImpl@a25f31[LauncherActivity]: setWindowStopped(false) old=true
2019-11-15 18:18:53.944 7087-7087/? D/TrayManager: TrayManagerImp:resetMoving() mMoved: false
2019-11-15 18:18:53.944 7087-7087/? D/TrayManager: TrayManagerImp:setTrayTranslationY() current: Overground dest: Underground
2019-11-15 18:18:53.944 7087-7087/? D/TrayManager: send changed offset. sender: Overground current: Overground dest: Underground
2019-11-15 18:18:53.945 7087-7087/? D/HomeContainer: setAlpha : 1.0 visibility : 0
2019-11-15 18:18:53.945 5250-5250/? I/SurfaceFlinger: Display 0 HWC layers:
        type    |    handle    | flag |  format   |   source crop (l,t,r,b)    |         frame       | name 
    ------------+--------------+------+-----------+----------------------------+---------------------+------
         Device | 0x7484249d20 | 0000 | RGBA_8888 |   0.0    0.0    1.0    1.0 |  719 1508  720 1509 | [3746]#0
         Device | 0x7474269f40 | 0000 | RGBA_8888 |   0.0    0.0 1440.0 2872.0 |    0    0 1440 2872 | [3746]#1
         Device | 0x7484645ec0 | 0000 | RGBA_8888 |   0.0    0.0  157.0  157.0 |    0 1430  157 1587 | [3746]#2
         Device | 0x7484647040 | 0000 | RGBA_8888 |   0.0    0.0 1440.0 3040.0 |    0    0 1440 3040 | [3746]#3
         Device | 0x74842492a0 | 0000 | RGBA_8888 |   0.0    0.0 1440.0  142.0 |    0    0 1440  142 | StatusBar[6087]#0
         Device | 0x748424a7a0 | 0000 | RGBA_8888 |   0.0    0.0   67.0  576.0 | 1373  497 1440 1073 | com.samsung.android.app.cocktailbars[...]arservice.CocktailBarService[8806]#0
         Device | 0x7484647900 | 0000 | RGBA_8888 |   0.0    0.0 1440
2019-11-15 18:18:53.945 5250-5250/? I/SurfaceFlinger: .0  168.0 |    0 2872 1440 3040 | NavigationBar[6087]#0
         Device | 0x7484644800 | 0000 | RGBA_8888 |   0.0    0.0  116.0  116.0 |  194  565  310  681 | Sprite#2
2019-11-15 18:18:53.946 9475-9475/? D/DeviceData: buildFlatBuffer - building flatbuffer 
2019-11-15 18:18:53.946 9475-9475/? D/DeviceData: buildFlatBuffer composed: ms = 0bufflen = 1440
2019-11-15 18:18:53.946 9475-9610/? I/1_0_18_MPSD_UMD_CHOREOGRAPHER: triggerEventInModels 138 EVENT:[12]
2019-11-15 18:18:53.946 7087-7087/? D/MultiSelectPanel: updateTextViewPosition() isLandDisplay[false], isWrapContent[false]
2019-11-15 18:18:53.946 9475-9610/? I/1_0_18_MPSD_IAD_MANAGER: update EVENT:[12]
2019-11-15 18:18:53.946 7087-7087/? D/MultiSelectPanel: updateTextViewPosition() isLandDisplay[false], isWrapContent[false]
2019-11-15 18:18:53.947 2265-2265/? I/DecorView: createDecorCaptionView >> DecorView@5a771f7[], isFloating: true, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
2019-11-15 18:18:53.948 7087-7087/? D/ViewRootImpl@a25f31[LauncherActivity]: setWindowStopped(false) old=false
2019-11-15 18:18:53.948 7087-7087/? V/Launcher: Launcher.onResume()
2019-11-15 18:18:53.948 7087-7087/? D/Launcher: !@Boot_DEBUG: Launcher.onResume()
2019-11-15 18:18:53.953 7087-7087/? D/ExternalMethodQueue: Getting and clearing EXTERNAL_METHOD_LIST: null
2019-11-15 18:18:53.953 7087-7087/? D/ExternalRequestQueue: Getting and clearing EXTERNAL_REQUEST_LIST: 0
2019-11-15 18:18:53.954 24001-24359/? W/SessionLifecycleManager: Handover failed. Creating new session controller.
2019-11-15 18:18:53.955 9475-9475/? D/DeviceData: buildFlatBuffer - building flatbuffer 
2019-11-15 18:18:53.955 9475-9475/? D/DeviceData: buildFlatBuffer composed: ms = 0bufflen = 1328
2019-11-15 18:18:53.955 9475-9610/? I/1_0_18_MPSD_UMD_CHOREOGRAPHER: triggerEventInModels 138 EVENT:[12]
2019-11-15 18:18:53.955 9475-9610/? I/1_0_18_MPSD_IAD_MANAGER: update EVENT:[12]
2019-11-15 18:18:53.955 24001-24359/? E/PBSessionCacheImpl: sessionId[105559088092937044] not persisted.

@ekager
Copy link
Contributor

ekager commented Nov 20, 2019

This seems to be device specific, correct @abodea ?
I can't reproduce on my Pixel/Android10 device but I don't think @sblatz could reproduce on his Samsung on Android 9. :/

@abodea
Copy link
Member Author

abodea commented Nov 22, 2019

Hey, @ekager please note the following:

Device Android version Reproducible?
Google Pixel 3a XL Android 10 No
Google Pixel 3a XLl Android 9 No
Huawei Mate 20 Lite l Android 9 No
Samsung Galaxy Note 9 Android 8.1.1 No
Samsung Galaxy Note 9 Android 9 Yes
Samsung Galaxy s10+ Android 9 Yes

So this might be related to the Samsung devices running Android 9.

ekager added a commit to ekager/fenix that referenced this issue Nov 22, 2019
@ekager ekager added the eng:qa:needed QA Needed label Nov 22, 2019
@ekager
Copy link
Contributor

ekager commented Nov 22, 2019

@abodea since I don't have a test device this is a bit difficult but I found a similar problem online and implemented something they suggested. Could you please test again? :)
And also test on older devices (without biometrics) to make sure I didn't break anything there?
Thank you!!

@Hubfront
Copy link

Hubfront commented Nov 24, 2019

I use the Note 10 plus with Android 9 and Fenix nightly crashes if i try to access saved logins with both ways: fingerprint and pattern.

@abodea
Copy link
Member Author

abodea commented Nov 25, 2019

Hello, @ekager I re-tested this issue, for more information please note the following:

+ Fenix doesn't crash if the user is not logged in
+ Fenix doesn't crash if the user is not logged in with or without a biometric set
- Fenix crashes when accessing Saved Logins after a login/sync
- Fenix still crashes after logging out when accessing Saved Logins
  • I re-tested this issue on the latest Nightly build 11/25
  • Note that if I reproduced a crash on a device, after logout I was able to reproduce the crash all the time, no matter if I'm not logged in anymore
  • I added 3 different android versions log cats, but from what I saw they are all the same.
  • Note that after accessing Saved Logins right after a sync Fenix crashes with or without a biometric set.
Device Android version Logged in? Crash?
LG Nexus 4 5.1.1 No No
OnePlus A3 6.0.1 No No
Samsung Galaxy S7 l 7 No No
Huawei Mate 20 Lite 8.1.0 No No
Samsung Galaxy Note 9 9 No No
Samsung Galaxy S10+ 9 No No
Google Pixel 3a XL 9 No No
Google Pixel 3a XL 10 No No
LG Nexus 4 5.1.1 Yes 💥 Yes
OnePlus A3 6.0.1 Yes 💥 Yes
Samsung Galaxy S7 l 7 Yes 💥 Yes
Huawei Mate 20 Lite 8.1.0 Yes 💥 Yes
Samsung Galaxy Note 9 9 Yes 💥 Yes
Samsung Galaxy S10+ 9 Yes 💥 Yes
Google Pixel 3a XL 9 Yes 💥 Yes
Google Pixel 3a XL 10 Yes 💥 Yes

LG Nexus 4 (Android 5.1.1)

Crashlog

--------- beginning of crash
11-25 15:37:52.562 13032-13032/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.mozilla.fenix.nightly, PID: 13032
    android.content.res.Resources$NotFoundException: Resource ID #0x0
        at android.content.res.Resources.getValue(Resources.java:1266)
        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2649)
        at android.content.res.Resources.getLayout(Resources.java:1082)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
        at org.mozilla.fenix.logins.SavedLoginsAdapter.onCreateViewHolder(SavedLoginsAdapter.kt:1)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:122)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:9)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:127)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:8)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:9)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:2)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
    	at android.view.Choreographer$CallbackRecord.run(Choreo

Samsung Galaxy S7(Android 7)

Crashlog

--------- beginning of crash
2019-11-25 15:26:14.966 23119-23119/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.mozilla.fenix.nightly, PID: 23119
    android.content.res.Resources$NotFoundException: Resource ID #0x0
        at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:202)
        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2968)
        at android.content.res.Resources.getLayout(Resources.java:1984)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:425)
        at org.mozilla.fenix.logins.SavedLoginsAdapter.onCreateViewHolder(SavedLoginsAdapter.kt:1)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:122)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:9)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:127)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:8)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:9)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:2)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:822)
        at android.view.View.layout(View.java:18799)
        at android.view.ViewGroup.layout(ViewGroup.java:5952)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2634)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2350)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1509)
2019-11-25 15:26:14.966 23119-23119/? E/AndroidRuntime:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7051)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
        at android.view.Choreographer.doCallbacks(Choreographer.java:702)
        at android.view.Choreographer.doFrame(Choreographer.java:638)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6692)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
2019-11-25 15:26:14.970 3671-6993/? D/Debug: !@DumpState : SHIP
2019-11-25 15:26:14.970 3671-6993/? D/Debug: !@DumpState : debug level:0x4f4c
2019-11-25 15:26:14.970 3671-6993/? D/Debug: !@Dumpstate : Finally, system will skip dumpstate
2019-11-25 15:26:15.003 3671-3761/? D/WindowManager: addWindow: android.view.ViewRootImpl$W@2940def displayId=0
2019-11-25 15:26:15.004 3671-3761/? D/InputTransport: Input channel constructed: fd=473
2019-11-25 15:26:15.004 3671-3761/? D/InputTransport: Input channel constructed: fd=474
2019-11-25 15:26:15.005 3671-3761/? V/MARsPolicyManager: handelAlertToastWindowStarted pkgName = android
2019-11-25 15:26:15.006 9525-9525/? I/DMT-DropBoxReceiver: Received : android.intent.action.DROPBOX_ENTRY_ADDED

Samsung Galaxy S10+

Crashlog

--------- beginning of crash
2019-11-25 12:19:24.291 31644-31644/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.mozilla.fenix.nightly, PID: 31644
    android.content.res.Resources$NotFoundException: Resource ID #0x0
        at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:228)
        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2170)
        at android.content.res.Resources.getLayout(Resources.java:1170)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
        at org.mozilla.fenix.logins.SavedLoginsAdapter.onCreateViewHolder(SavedLoginsAdapter.kt:1)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:122)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:9)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:127)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:8)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:9)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:2)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:1041)
        at android.view.View.layout(View.java:22420)
        at android.view.ViewGroup.layout(ViewGroup.java:6579)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3343)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2807)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1853)
2019-11-25 12:19:24.291 31644-31644/? E/AndroidRuntime:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8476)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7032)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

Google Pixel 3a XL(Android 10)

Crashlog

--------- beginning of crash
2019-11-25 16:20:04.199 13303-13303/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.mozilla.fenix.nightly, PID: 13303
    android.content.res.Resources$NotFoundException: Resource ID #0x0
        at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:237)
        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2281)
        at android.content.res.Resources.getLayout(Resources.java:1175)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
        at org.mozilla.fenix.logins.SavedLoginsAdapter.onCreateViewHolder(SavedLoginsAdapter.kt:1)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:122)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:9)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:127)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:8)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:9)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:2)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:779)
        at android.view.View.layout(View.java:21927)
        at android.view.ViewGroup.layout(ViewGroup.java:6260)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3080)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2590)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1721)
2019-11-25 16:20:04.199 13303-13303/? E/AndroidRuntime:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7598)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
        at android.view.Choreographer.doCallbacks(Choreographer.java:790)
        at android.view.Choreographer.doFrame(Choreographer.java:725)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

@abodea abodea removed the eng:qa:needed QA Needed label Nov 25, 2019
@sblatz
Copy link
Contributor

sblatz commented Nov 25, 2019

Thank you so much for all of the detail @abodea! Makes sense why I couldn't reproduce on my Galaxy S9 (I was not logged in).

@Hubfront
Copy link

Hubfront commented Nov 25, 2019

I just did go offline (flight mode) with my Note 10 plus, switched it off and powered it on again. After it had started I checked that it was still offline then tried to get the saved logins in nightly, again it crashed using both methods: fingerprint and pattern.

@Hubfront
Copy link

Hubfront commented Dec 5, 2019

In new nightly no crash anymore.

@sblatz sblatz added the eng:qa:needed QA Needed label Dec 5, 2019
@project-bot project-bot bot added this to Ready for QA in Fenix Sprint Kanban Dec 5, 2019
@sblatz
Copy link
Contributor

sblatz commented Dec 5, 2019

I think @ekager fixed this :)

@abodea
Copy link
Member Author

abodea commented Dec 10, 2019

Verified as fixed on the latest Nightly from 12/10 for more details check the following:

Device Android version Logged in? Crash?
LG Nexus 4 5.1.1 No No
OnePlus A3 6.0.1 No No
Samsung Galaxy S7 l 7 No No
Huawei Mate 20 Lite 8.1.0 No No
Samsung Galaxy Note 9 9 No No
Samsung Galaxy S10+ 9 No No
Google Pixel 3a XL 9 No No
Google Pixel 3a XL 10 No No
LG Nexus 4 5.1.1 Yes No
OnePlus A3 6.0.1 Yes No
Samsung Galaxy S7 l 7 Yes No
Huawei Mate 20 Lite 8.1.0 Yes No
Samsung Galaxy Note 9 9 Yes No
Samsung Galaxy S10+ 9 Yes No
Google Pixel 3a XL 9 Yes No
Google Pixel 3a XL 10 Yes No

@abodea abodea closed this as completed Dec 10, 2019
@project-bot project-bot bot moved this from Ready for QA to Sprint 12.2 Done in Fenix Sprint Kanban Dec 10, 2019
@abodea abodea added eng:qa:verified QA Verified and removed eng:qa:needed QA Needed labels Dec 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. eng:qa:verified QA Verified Feature:Logins S1 Blocks development/testing, may impact more than 25% of users, causes data loss, potential chemspill
Projects
None yet
Development

No branches or pull requests

5 participants