Re: Daemon taking 100% cpu
Re: Daemon taking 100% cpu
- Subject: Re: Daemon taking 100% cpu
- From: "Quinn \"The Eskimo!\"" <email@hidden>
- Date: Fri, 17 May 2013 12:25:48 +0100
On 17 May 2013, at 10:46, Arjun SM <email@hidden> wrote:
> I have an issue with my daemon taking 100% cpu when left overnight. (Daemon undergoing stress testing at the moment). I am unable to narrow down the issue.
The daemon is triggering a memory access exception (SIGSEGV or SIGBUS) when freeing memory (tiny_malloc_from_free_list), which it catches as a signal (_sigtramp), and in the signal handler it call APIs that aren't signal safe (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)) which then deadlock.
The list of APIs that are guaranteed to be signal safe is vanishingly small; see <x-man-page://2/sigaction> for details.
My best guess is that you have your own in-process crash reporter. That's a bad idea in general, and seems to be the cause of this hang. If you didn't catch the signal, it would've been caught by the system-wide out-of-process crash reporter, which would give you a nice crash log.
Share and Enjoy
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden