diff --git a/src/debug.c b/src/debug.c index 123edb73..6f3a07f8 100644 --- a/src/debug.c +++ b/src/debug.c @@ -359,7 +359,9 @@ void redisLogObjectDebugInfo(robj *o) { } void _redisAssert(char *estr, char *file, int line) { +#ifdef HAVE_BACKTRACE bugReportStart(); +#endif redisLog(REDIS_WARNING,"=== ASSERTION FAILED ==="); redisLog(REDIS_WARNING,"==> %s:%d '%s' is not true",file,line,estr); #ifdef HAVE_BACKTRACE @@ -367,16 +369,18 @@ void _redisAssert(char *estr, char *file, int line) { server.assert_file = file; server.assert_line = line; redisLog(REDIS_WARNING,"(forcing SIGSEGV to print the bug report.)"); - *((char*)-1) = 'x'; #endif + *((char*)-1) = 'x'; } void _redisPanic(char *msg, char *file, int line) { +#ifdef HAVE_BACKTRACE bugReportStart(); +#endif redisLog(REDIS_WARNING,"!!! Software Failure. Press left mouse button to continue"); redisLog(REDIS_WARNING,"Guru Meditation: %s #%s:%d",msg,file,line); #ifdef HAVE_BACKTRACE redisLog(REDIS_WARNING,"(forcing SIGSEGV in order to print the stack trace)"); - *((char*)-1) = 'x'; #endif + *((char*)-1) = 'x'; }