Strategy for solving a device crash

So my app is finally in TestFlight and being used by internal testers. Most are devs so they know where the @#%&ing weaknesses are likely to be…and they’re finding them!

I’ve got a view with a segmented control which, when tapped, executes a query on my SQLite database. So the segments represent filters. If you tap the segmented control repeatedly (i.e. more than about 10 times) to alternate between filters, forcing the query to run, the app will eventually crash on the device. It does not crash in the iOS Simulator.

I’ve got the crash logs but they don’t mean anything to me. These seem to be the relevant log entries:

ReportCrash[9035] <Error>: task_set_exception_ports(B07, 400, D03, 0, 0) failed with error (4: (os/kern) invalid argument)
com.apple.xpc.launchd[1] (UIKitApplication:com.company.app[0xead7][9033]) <Notice>: Service exited due to signal: Segmentation fault: 11

How should I proceed to track this down?

give us a try of your app on testflight

It’s only for internal users at the moment. We haven’t commenced the external beta.

Commenting out the SQLite method call doesn’t resolve the crash. It seems to have something to do with another part of my view. If I run my app, and go into the view, and tap around repeatedly on the segmented control then I can’t cause a crash. However if I go into my view, PushTo another view, close that other view, and then tap around repeatedly on the segmented control I’ll get the crash.

I was hoping there was a way to “marry” the crash log to the .DSYM file to work out where it was occurring on the device?

Thank you for the link Jean-Paul. I followed those steps and “symbolicated” my crash log…and it reports:

[quote]Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000060
Triggered by Thread: 0[/quote]

Edit:
There is a list of method calls in Thread 0 and the last one executed is an AddHandler in a view that should not even be loaded given the things I am doing to reproduce the crash. There are numbers either size of the view name in the log, e.g.:

Does anybody know what the “:44” in this example represents?

It was the internal compiler line number, which isn’t useful.

Thanks Joe. Do you have any tips about what I should be looking for in the crash log?

You should disregard file names for compiler-generated symbols like AddHandler stubs. The AddHandler stub has nothing at all to do with MyViewName.

Could you post the whole crash log somewhere?

Can I email it to you? Because it references my product name, I’d rather not make the log public in case it one day appears in searches related to my product name. :slight_smile:

Sure.

I have the same problem. How you have solved?