Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

123453467: The subclass of NSIncrementalStore causes infinite recursion after iOS upgrade #21308

Open
openradar-mirror opened this issue Aug 22, 2019 · 0 comments

Comments

@openradar-mirror
Copy link

Description

When calling metadataForPersistentStoreOfType:URL:error: to get metadata for custom NSIncrementalStore, the method causes an infinite loop.

Inside subclass of NSIncrementalStore I have code like this:

  • (BOOL)loadMetadata:(NSError *__autoreleasing *)error {
    NSURL *storeURL = [self URL];

    NSDictionary *metadata = @{NSStoreUUIDKey: ,
    NSStoreTypeKey: @"MyIncrementalStore"};
    [self setMetadata:metadata];

    return YES;
    }

It seems that setMetadata: method calls loadMetadata: and it creates an infinite recursion(see screenshots).

https://www.dropbox.com/s/hj2nl3oenm5ycly/app%20crash.png?dl=0 https://www.dropbox.com/s/ze56t153jlvx1lc/Screen%20Shot%202019-08-22%20at%2010.44.40%20AM.png?dl=0

I've noticed it only after upgrade from iOS 13 beta 4 to iOS beta 6. The bug isn't reproducible on older iOS versions and on freshly installed apps.

Apple’s documentation also suggests the same approach at https://developer.apple.com/library/archive/documentation/DataManagement/Conceptual/IncrementalStorePG/ImplementationStrategy/ImplementationStrategy.html#//apple_ref/doc/uid/TP40010706-CH2-SW2

Product Version: iOS 13 beta 6
Created: 2019-08-22T13:51:27.136470
Originated: 2019-08-15T00:00:00
Open Radar Link: http://www.openradar.me/123453467

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

No branches or pull requests

1 participant