The attached patch changes a few backtrace termination scenarios in frame.c to issue a warning and terminate the backtrace rather than use the error() function. The change is being made to help out end-users that use macros with backtraces in them. At present, there a number of platforms where backtraces through assembler code (e.g. glibc thread creation) cause backtraces to get somewhat lost. When the frame code issues the error, any macro issuing the backtrace is terminated. If an end-user is applying such a macro to all threads, it ends prematurely for no good reason. With the change, the message is still issued and the backtrace is stopped. Ok to commit? 2004-10-26 Jeff Johnston * frame.c (get_prev_frame_1): Change inner frame and equivalent frame tests to issue a warning rather than an error. (get_prev_frame): When backtrace limit is exceeded, terminate with a warning rather than an error.