From e36502673d98df089acbc645f077ee0c2be20c5d Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 6 Oct 2009 15:35:22 -0700 Subject: [PATCH] fix [2170898] abort() doesn't print a stack tarce the issue here is that abort() can be called from anywhere, in particular from malloc or free. When we try to use the debug_log functions, these can end up calling into some code (like malloc/free) that called abort() in the first place and end up in an infinite recursion loop. --- libc/unistd/abort.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libc/unistd/abort.c b/libc/unistd/abort.c index d4e40e199..f323941ab 100644 --- a/libc/unistd/abort.c +++ b/libc/unistd/abort.c @@ -73,10 +73,8 @@ abort(void) } /* temporary, for bug hunting */ - debug_log("abort() called in pid %d\n", getpid()); /* seg fault seems to produce better debuggerd results than SIGABRT */ *((char*)0xdeadbaad) = 39; - debug_log("somehow we're not dead?\n"); /* -- */ (void)kill(getpid(), SIGABRT); -- 2.11.0