0

In Ensembles, I'm getting a crash at this line in CDERebaser.m in the method "rebaseWithCompletion":

BOOL passedChecks = [revisionManager checkRebasingPrerequisitesForEvents:eventsToMerge error:&error];

The crash is EXC_BAD_ACCESS.

I've had Ensembles working in production on the store for a few months with no issue at all until now. This crash just started randomly occurring. No updates to the app were made.

Any ideas?

** UPDATE **

Stepping through it, it seems to fail in this conditional statement in CDERevisionManager.m:

    if (![self checkContinuityOfStoreModificationEvents:eventsWithBaseline]) {
        methodError = [NSError errorWithDomain:CDEErrorDomain code:CDEErrorCodeDiscontinuousRevisions userInfo:nil];
        result = NO;
        return;
    }
onemoreanimal
  • 183
  • 2
  • 5
  • Do you have the latest version? Many of those error memory bugs have been fixed. They were due to changes on autorelease pools in Core Data – Drew McCormack Jan 21 '17 at 09:37
  • I am using version 1.6.1. I updated through CocoaPods and I believe that is the latest. – onemoreanimal Jan 22 '17 at 22:41
  • I've made some changes that I hope fix the issue. Difficult to test. I have pushed them to the master branch, but there is no release yet. You should be able to test by referencing the master branch directly on GitHub with Cocoapods. – Drew McCormack Jan 24 '17 at 07:30
  • Thanks Drew. I still get the same crash. I tried updating Ensembles with Cocoapods using this line: pod 'Ensembles', :git => 'https://github.com/drewmccormack/ensembles.git', :branch => 'master'. Is that the way you meant? – onemoreanimal Jan 25 '17 at 08:30
  • Yeah, that is what I meant. Not sure what could cause the crash then. If you can isolate it more, let me know. Using zombies may help. – Drew McCormack Jan 26 '17 at 09:49
  • Here is the zombie: http://i63.tinypic.com/160soqf.png Unfortunately I couldn't get Ensembles to symbolicate in Instruments. Let me know if I can provide anything more to help. – onemoreanimal Jan 28 '17 at 01:02
  • Looking at the zombie, I suspect Cocoapods did not make use of the latest master branch. You probably need to configure it to do that. I guess it will get the latest release tag otherwise. (The reason I can see that is that the new code does not call the `errorWithDomain:` method anymore.) – Drew McCormack Jan 30 '17 at 07:38
  • To verify, I did a comparison using FileMerge between CDERevisionManager.m in my project and the one on GitHub (with an edit date of 23 Jan) and it shows 0 differences, but I still get this zombie: "An Objective-C message was sent to a deallocated 'NSError' object (zombie) at address: 0x170a5cd10." Any ideas I can do to pinpoint it further? – onemoreanimal Feb 01 '17 at 05:31
  • Not sure what is happening then, I'm afraid. If you look at that commit, the `[NSError errorWithDomain...` calls are removed (https://github.com/drewmccormack/ensembles/commit/3bac90a11b6c489e1f95cdc945f4094dbefd51ea). So I don't see how they would appear in the zombie traceback unless something has gone wrong getting the latest code. – Drew McCormack Feb 01 '17 at 15:51

0 Answers0