Error: SIGABRT and NSThread

Hi all
In my 4 tab based UITabBarController application, each tab is using NSThread detachNewThread/performSelectorOnMainThread methods to fetch data from web service.
My problem is that, if I quickly tap randomly the tabs of the UITabBar then I get the SIGABRT error
I am not able to get through this error
Can anybody explain about this error?
THanks

In my experience, once this error starts, the only way to fix it is to create a brand new project file. Nothing seems to get rid of it once it starts in a project file. The error messages are so rudimentary, it reminds me of my days when I wrote software for Commodore 64 or Pascal on Macintosh SE. I bet most of you are clueless about my references.

Does anyone know how to reset this crazy error flag or whatever is happening. Please do not tell us to restart our machines because it happens on the IPhone simulator as well..

i've read a post somewhere from a developer who claims to have submitted an app to apple, was refused because of a SIGABRT crash (on apple's computer, the developer never experienced such a crash), then s/he resubmitted to apple without changing anything and it went thru. take from that what you will.

The SIGABRT error occurs due to an assertion failure. Assertions look like this

Code:

NSAssert(myPointer != nil, @"myPointer was nil!");

When an assertion like this is encountered in the code the condition is checked and if it is false then an exception is thrown. This exception causes the message to be written to the debugger console and the app is terminated.

Assertions like this have been placed in the UIKit and Foundation code to notify the programmer of an error condition as soon as possible when the error is detected. For instance if an 'out of bounds' error occurs with an NSArray (calling objectAtIndex with an index that is >= count) then an assertion failure occurs.

Basic debugging of assertion failures consists of these things: set a breakpoint using the Run > Stop on Objective-C Exceptions menu item, run your app in the debugger so that the assertion error occurs, inspect the debugger console for the message, and inspect the stack trace in the debugger to see where in your code the failure has occurred. It's usually clear what the error is. In fact each error comes with its own explanation in the debugger console. It is possible for assertions to occur that don't trace back into your app's code, for instance for certain errors with how a nib is hooked up. But the debugger console always has the error message that will help to diagnose the problem.

Experienced developers use NSAssert() in their own code to help find bugs faster.

MacRumors attracts a broad audience
of both consumers and professionals interested in
the latest technologies and products. We also boast an active community focused on
purchasing decisions and technical aspects of the iPhone, iPod, iPad, and Mac platforms.