App: [$250] Investigate: πŸ’₯ Crash πŸ’₯ `.anonymous`

Firebase has reported a new crash that we need to fix, here are all the details we found:

Non-fatal Exception: io.invertase.firebase.crashlytics.JavaScriptError

Cannot read property β€˜toLowerCase’ of undefined

address at index.android.bundle:1:2104993 .anonymous

Number of Crashes: 14

Device Information

  • Platforms: iOS, Android
  • App Versions: 1.2.11-2, 1.2.21-4, 1.2.25.0
  • Devices: Apple iPhone10,1 15.6.1, Google sdk_gphone64_arm64 12, samsung SM-G950F 9

Stacktraces

iOS 1.2.25.0

anonymous (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:613:1068:613)
h (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:1708:2)
d (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:1151:2)
i (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:497:2)
anonymous (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:6:62:6)
h (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:1708:2)
d (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:1081:2)
i (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2:497:2)
global (/private/var/containers/Bundle/Application/7F77EEF4-9C23-4928-BFF2-5C55F8B84FA3/New Expensify.app/main.jsbundle:2935:4:2935)
iOS 1.2.25.0

anonymous (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:613:960:613)
h (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:1708:2)
d (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:1151:2)
i (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:497:2)
anonymous (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:6:62:6)
h (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:1708:2)
d (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:1081:2)
i (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2:497:2)
global (/private/var/containers/Bundle/Application/308D5C7E-5BCF-4157-A86E-EB3DD78B1915/New Expensify.app/main.jsbundle:2935:4:2935)
iOS 1.2.25.0

anonymous (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:613:954:613)
apply
anonymous (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:77:1247:77)
k (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:77:498:77)
callTimers (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:77:2647:77)
apply
value (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:42:3798:42)
anonymous (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:42:674:42)
value (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:42:2504:42)
value (/private/var/containers/Bundle/Application/2FADF995-4C52-4B4C-A913-B655B3DBB419/New Expensify.app/main.jsbundle:42:646:42)
Android 1.2.21-4

.anonymous
.loadModuleImplementation
.guardedLoadModule
.metroRequire
.global
Android 1.2.21-4

.anonymous
.loadModuleImplementation
.guardedLoadModule
.metroRequire
.anonymous
.loadModuleImplementation
.guardedLoadModule
.metroRequire
.anonymous
.loadModuleImplementation
.guardedLoadModule
.metroRequire
.global
Android 1.2.11-2
.anonymous
.each
.generateDefaultWorkspaceName
.createWorkspace
.onSelected
.anonymous
.resetFocusAndHideModal
.hideModal
.anonymous
.call
.commitUpdateQueue
.commitLayoutEffects
.commitRootImpl
.commitRoot
.performSyncWorkOnRoot
.flushSyncCallbacks
.scheduleUpdateOnFiber
.enqueueSetState
.anonymous
.anonymous
.tryCallOne
.anonymous
.apply
.anonymous
._callTimer
._callReactNativeMicrotasksPass
.callReactNativeMicrotasks
.__callReactNativeMicrotasks
.anonymous
.__guard
.flushedQueue
.invokeCallbackAndReturnFlushedQueue

Internal Firebase Info

πŸ’₯ DO NOT EDIT THIS SECTION πŸ’₯

Crash IDs: fd1cdb4e916b7497e85f0e22ad937c6e, 29f5a4afa1f0968901244363906bf119, 0c9127e6df526e091a2c1234b473af9b, 2b58bfd50d223d37654eb072cb29246c, 687215b1c83475a4093a48662b02c853, bd7d28688e3cddec972f4526aec7db07 Exception: Cannot read property 'toLowerCase' of undefined

REMINDER: Typically, Firebase Crashlytics issues should be capped at $500.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 37 (32 by maintainers)

Commits related to this issue

Most upvoted comments

@1notchdev, it was deployed to production 5 days ago. As per CONTRIBUTING.md

Payment for your contributions will be made no less than 7 days after the pull request is deployed to production to allow for regression testing. If a regression occurs, payment will be issued 7 days after all regressions are fixed. If you have not received payment after 8 days of the PR being deployed to production and there being no regressions, please email contributors@expensify.com referencing the GH issue and your GH handle.

Thanks everyone!

I like @1notchdev’s proposal more, since it correctly identifies specific function in which the error has occured.

@1notchdev, as per STYLE.md, we shouldn’t use optional chaining, instead, you should use lodashGet()

πŸŽ€πŸ‘€πŸŽ€ C+ reviewed cc: @puneetlath

Thank you for posting your proposal @Uros787.

@eVoloshchak - looks like a proposal is ready for your review. Label already switched to Daily so not doing that.