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

Crashes related to an invalid popover #585

Open
buddybuild bot opened this issue Aug 27, 2018 · 1 comment
Open

Crashes related to an invalid popover #585

buddybuild bot opened this issue Aug 27, 2018 · 1 comment
Labels

Comments

@buddybuild
Copy link

buddybuild bot commented Aug 27, 2018

Buddybuild detected a crash
Exception Class: NSInvalidArgumentException

-[__NSCFString dismissPopoverAnimated:userInitiated:]: unrecognized selector sent to instance 0x1c40dcbd0

View Full Crash Details

@buddybuild buddybuild bot added the 2.1.1 label Aug 27, 2018
@nbrooke nbrooke changed the title Buddybuild crash report on build #459 Crashes related to an invalid popover Aug 27, 2018
@nbrooke
Copy link
Member

nbrooke commented Aug 27, 2018

There are a set of crashes of this general form across the last couple builds. This one is from the previous release that added the AR functionality, but there are similar ones from the current release, just with a slightly less obvious crash, and the release from last year pre-AR.

Some touch event gets sent to something that seems to be expected to be a popover controller, but isn't, and throws an unrecognized selector exception (as in this one). There are also some that look very similar in terms of callstack, but just die on objc_msg_send (so aren't as obviously popover-involved). #583 could possibly be another symptom of this, it's a crash also in something popover related, that doesn't seem to make any sense (it's a type of popover that AFAICT we never present, which means some sort of invalid object is likely).

Best working theory right now: there is some unusual situation in which one of the popover controllers in the app (the menu dropdowns or the node information) can get over-released, and gets freed while there are still active references to it, and then bad things happen when it is accessed, including this crash, and maybe stomping memory and causing less obviously related crashes.

Of note: the WEPopover library that we use to allow popovers on the iPhone (they were only supported on iPad when originally written) is not the latest version, and indeed is old enough that it does not use ARC (!). So it's a strong candidate for the culprit here. A good first stab at this would be to replace that with something more modern, either an updated version of that, or maybe just ditching that (I think that popovers are better supported by UIKit on iPhones now then they were at the time this was originally written).

cc: @apike

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

No branches or pull requests

1 participant