+#ifdef HAS_EXECINFO
+ log(DEFAULT,"Please report the backtrace lines shown below with any bugreport to the bugtracker at http://www.inspircd.org/bugtrack/");
+ size = backtrace(array, 30);
+ strings = backtrace_symbols(array, size);
+ for (size_t i = 0; i < size; i++) {
+ log(DEFAULT,"[%d] %s", i, strings[i]);
+ }
+ free(strings);
+ WriteOpers("*** SIGSEGV: Please see the ircd.log for backtrace and report the error to http://www.inspircd.org/bugtrack/");
+#else
+ log(DEFAULT,"You do not have execinfo.h so i could not backtrace -- on FreeBSD, please install the libexecinfo port.");
+#endif
+ send_error("Somebody screwed up... Whoops. IRC Server terminating.");
+ signal(SIGSEGV, SIG_DFL);
+ if (raise(SIGSEGV) == -1)
+ {
+ log(DEFAULT,"What the hell, i couldnt re-raise SIGSEGV! Error: %s",strerror(errno));
+ }