Skip to content

-[SBNotificationHub parseResultAndUpdateWithName:data:error:] #146

Description

@bhavesh-di

Bug Title
-[SBNotificationHub parseResultAndUpdateWithName:data:error:]
NSRangeException - *** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array

Exception or Stack Trace
Fatal Exception: NSRangeException
0 CoreFoundation 0x9e38 __exceptionPreprocess
1 libobjc.A.dylib 0x178d8 objc_exception_throw
2 CoreFoundation 0x1af078 -[__NSCFString characterAtIndex:].cold.1
3 CoreFoundation 0x1a42c -[__NSArrayM objectAtIndex:]
4 RNDC 0xea63d8 -[SBNotificationHub parseResultAndUpdateWithName:data:error:] + 287 (SBNotificationHub.m:287)
5 RNDC 0xea62b8 __82-[SBNotificationHub upsertRegistrationWithName:registrationId:payload:completion:]_block_invoke + 274 (SBNotificationHub.m:274)
6 RNDC 0xea06ac -[SBURLConnection connectionDidFinishLoading:] + 116 (SBURLConnection.m:116)
7 FirebasePerformance 0x157d0 (Missing UUID 7934ed34949930e8894c0952de7a1bf4)
8 CFNetwork 0x272f54 __CFTubeSetTubeTypeNotifier
9 CFNetwork 0x272ef4 __CFTubeSetTubeTypeNotifier
10 CFNetwork 0x273014 __CFTubeSetTubeTypeNotifier
11 CFNetwork 0x1bdff8 _CFNetworkErrorGetLocalizedDescription
12 CFNetwork 0x1bc800 _CFNetworkErrorGetLocalizedDescription
13 libdispatch.dylib 0x3f88 _dispatch_client_callout
14 libdispatch.dylib 0x7a08 _dispatch_block_invoke_direct
15 CFNetwork 0x256fb8 _CFURLStorageSessionDisableCache
16 CoreFoundation 0x16c20 CFArrayApplyFunction
17 CFNetwork 0x256e90 _CFURLStorageSessionDisableCache
18 CFNetwork 0x259408 _CFURLStorageSessionDisableCache
19 CoreFoundation 0xd5f24 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION
20 CoreFoundation 0xe22fc __CFRunLoopDoSource0
21 CoreFoundation 0x661c0 __CFRunLoopDoSources0
22 CoreFoundation 0x7bb7c __CFRunLoopRun
23 CoreFoundation 0x80eb0 CFRunLoopRunSpecific
24 GraphicsServices 0x1368 GSEventRunModal
25 UIKitCore 0x3a1668 -[UIApplication _run]
26 UIKitCore 0x3a12cc UIApplicationMain
27 RNDC 0xbfb40 main + 29 (AppDelegate.swift:29)
28 ??? 0x1ec700960 (Missing)
To Reproduce

  • (void)parseResultAndUpdateWithName:(NSString *)name data:(NSData *)data error:(NSError *__autoreleasing *)error {
    NSError *parseError;
    NSArray *registrations = [SBRegistrationParser parseRegistrations:data error:&parseError];
    if (!parseError) {
    //When we getting nil array that time we found crashed
    *[storageManager updateWithRegistrationName:name registration:(SBRegistration )[registrations objectAtIndex:0]];
    } else if (error) {
    (*error) = parseError;
    }
    }

Code Snippet

  • (void)parseResultAndUpdateWithName:(NSString *)name data:(NSData *)data error:(NSError *__autoreleasing *)error {
    NSError *parseError;
    NSArray *registrations = [SBRegistrationParser parseRegistrations:data error:&parseError];
    if (!parseError) {
    //When we getting nil array that time we found crashed
    *[storageManager updateWithRegistrationName:name registration:(SBRegistration )[registrations objectAtIndex:0]];
    } else if (error) {
    (*error) = parseError;
    }
    }

Expected behavior
Handle nil array

Screenshots
image

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions