Exception symbolication #64

Merged
merged 8 commits into from Mar 29, 2013

Conversation

Projects
None yet
2 participants
@cppforlife
Contributor

cppforlife commented Feb 18, 2013

Automatically symbolicate exceptions that cause test failures. With this patch you get:

EXCEPTION CDRSpec some failing test
*** -[__NSArrayI objectAtIndex:]: index 4 beyond bounds for empty array
Call stack:
  ...
  *InvalidArrayAccess.m:13
  *CDRSpecSpec.mm:51
  ...
  *main.m:4
  ...

Unless anyone has concerns I'm going to merge this in soon.

@ghost ghost assigned idoru Feb 26, 2013

@idoru

This comment has been minimized.

Show comment Hide comment
@idoru

idoru Feb 28, 2013

Contributor

Is there any way we can do this without shelling out to atos? I'm assuming this is what makes it so costly?

Contributor

idoru commented Feb 28, 2013

Is there any way we can do this without shelling out to atos? I'm assuming this is what makes it so costly?

@cppforlife

This comment has been minimized.

Show comment Hide comment
@cppforlife

cppforlife Mar 1, 2013

Contributor

Unfortunately no since then we would have to reimplement piece of atos. Have you tried running with this pull request? I ve been using this for a bit and I am not really bothered by tiny delay when exceptions occur. More streamlined imho.

Contributor

cppforlife commented Mar 1, 2013

Unfortunately no since then we would have to reimplement piece of atos. Have you tried running with this pull request? I ve been using this for a bit and I am not really bothered by tiny delay when exceptions occur. More streamlined imho.

@idoru

This comment has been minimized.

Show comment Hide comment
@idoru

idoru Mar 3, 2013

Contributor

Sorry for the long delay. I've had some time to play with it today.

It's very nice when only 1 exception occurs, however it quickly gets quite costly if there are more. Is there a way to batch the symbolication at the end, using a unique list of unsymbolicated addresses?

It would be a shame to punish refactoring steps which can often trigger a multitude of exceptions along a common code path.

Contributor

idoru commented Mar 3, 2013

Sorry for the long delay. I've had some time to play with it today.

It's very nice when only 1 exception occurs, however it quickly gets quite costly if there are more. Is there a way to batch the symbolication at the end, using a unique list of unsymbolicated addresses?

It would be a shame to punish refactoring steps which can often trigger a multitude of exceptions along a common code path.

@cppforlife

This comment has been minimized.

Show comment Hide comment
@cppforlife

cppforlife Mar 29, 2013

Contributor

I've changed it to be an opt-in feature via CEDAR_SYMBOLICATE_EXCEPTIONS. Let's see how that goes.

Contributor

cppforlife commented Mar 29, 2013

I've changed it to be an opt-in feature via CEDAR_SYMBOLICATE_EXCEPTIONS. Let's see how that goes.

cppforlife added a commit that referenced this pull request Mar 29, 2013

@cppforlife cppforlife merged commit e15b039 into cedarbdd:master Mar 29, 2013

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