Skip to content

HybridApp crashes are spiking! #56252

Closed
Closed

Description

@luacmartins

@Expensify/mobile-deployers we got a notification from Firebase because of increased crashes on HybridApp android (2.54% of users).

The stack trace don't give us much to go off of, but Logs & Breadcrumbs seem to point to onEnter on SlidingMenuController.

We need to investigate this and fix it.

Activity

  1. Julesssss commented on Feb 3, 2025

    @Julesssss
    Contributor

    iOS has an ongoing issue affecting 1-2% of users, which we think could be the same crash. This is a good starting point so for now, I'll attach it to this issue.

    iOS logs show that it occurs in YAPLLogManager.getSecureParamString.

    This might be a good task for our SWM external teams, I'll speak with Mariusz today and see if anyone in the team can take a look.

    Image
     CoreFoundation                 0x2d5fc __exceptionPreprocess
    1  libobjc.A.dylib                0x31244 objc_exception_throw
    2  CoreFoundation                 0x186174 +[NSObject(NSObject) _copyDescription]
    3  CoreFoundation                 0x305c8 ___forwarding___
    4  CoreFoundation                 0x2fef0 _CF_forwarding_prep_0
    5  Expensify                      0x3ddb8 +[YAPLLogManager getSecureParamString:] + 169 (YAPLLogManager.m:169)
    6  Expensify                      0x3de48 +[YAPLLogManager getSecureParamString:] + 177 (YAPLLogManager.m:177)
    7  Expensify                      0x3d9c0 +[YAPLLogManager logWithLevel:message:parameters:tags:syncWithServer:isInsecure:] + 135 (YAPLLogManager.m:135)
    8  Expensify                      0x9f028 specialized yaplLog.handle(withArguments:) + 44 (yaplLog.swift:44)
    9  Expensify                      0x9e6f0 @objc yaplLog.handle(withArguments:) (<compiler-generated>)
    10 Expensify                      0x19f04 -[YAPL yaplCall:] + 191 (YAPL.m:191)
    11 Expensify                      0x19d24 __20-[YAPL initJSEngine]_block_invoke.13 + 124 (YAPL.m:124)
    12 CoreFoundation                 0x2fe34 __invoking___
    13 CoreFoundation                 0x2ee7c -[NSInvocation invoke]
    14 JavaScriptCore                 0xa8db8 JSC::ObjCCallbackFunctionImpl::call(JSContext*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)
    15 JavaScriptCore                 0xa8174 JSC::objCCallbackFunctionCallAsFunction(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)
    16 JavaScriptCore                 0xa7c3c JSC::callObjCCallbackFunction(JSC::JSGlobalObject*, JSC::CallFrame*)
    17 JavaScriptCore                 0x1696544 pas_reallocation_did_fail
    
  2. self-assigned this
    on Feb 5, 2025
  3. Julesssss commented on Feb 5, 2025

    @Julesssss
    Contributor

    @WoLewicki some additional logs:

    logs1.log
    stacktrace1.txt

  4. WoLewicki commented on Feb 5, 2025

    @WoLewicki
    Contributor

    Looking at the crash description: [__NSSingleObjectArrayI stringValue]: unrecognized selector sent to instance 0x3018683b0, it comes from trying to call stringValue on an NSArray which does not implement this method. It seems that NSArray was never properly handled so we just return early in such cases: https://github.com/Expensify/Mobile-Expensify/pull/13413

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions