Re: Mystery threads eating CPU cycles
Re: Mystery threads eating CPU cycles
- Subject: Re: Mystery threads eating CPU cycles
- From: Douglas Davidson <email@hidden>
- Date: Mon, 11 Nov 2002 10:57:25 -0800
On Monday, November 11, 2002, at 10:31 AM, Mike Laster wrote:
I have a server process that after about a day of running starts
eating about 50% of the CPU cycles, even though it should be
completely idle (no clients talking to it). If I run sample on it, I
see a couple of threads running that appear to be the source of the
problem. However, these aren't threads that I
have created. From what I've seen, any thread started with NSThread
has their stack start with pthread_body(), and these don't:
1000 Thread_1103
1000 NSExceptionHandlerUncaughtSignalHandler
1000 _sigtramp
1000 NSExceptionHandlerUncaughtSignalHandler
1000 NSExceptionHandlerUncaughtSignalHandler [STACK TOP]
1000 Thread_1203
1000 malloc_zone_from_ptr
1000 0x33d0
1000 _sigtramp
1000 NSExceptionHandlerUncaughtSignalHandler
1000 NSExceptionHandlerUncaughtSignalHandler [STACK TOP]
I'm linked into ExceptionHandling.framework which is supposed to catch
system signals and turn them into NSExceptions. It almost looks like
NSExceptionHandlerUncaughtSignalHandler is getting a signal while
handling one, and going into an infinite loop. Is this a bug in
ExceptionHandling.framework?
Probably so, but the original signal that started this probably would
otherwise have been fatal. It seems likely that the odd stack traces
you are getting from sample are confused because of the signals; these
probably are ordinary threads, just with incomplete backtraces. Try
turning off ExceptionHandling signal handling, running in gdb, and
trying to locate the source of the original signal.
Douglas Davidson
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.