mirror of
https://github.com/fluencelabs/redis
synced 2025-06-18 03:31:21 +00:00
better bug report info on crash
This commit is contained in:
@ -297,10 +297,14 @@ void debugCommand(redisClient *c) {
|
||||
}
|
||||
|
||||
void _redisAssert(char *estr, char *file, int line) {
|
||||
bugReportStart();
|
||||
redisLog(REDIS_WARNING,"=== ASSERTION FAILED ===");
|
||||
redisLog(REDIS_WARNING,"==> %s:%d '%s' is not true",file,line,estr);
|
||||
#ifdef HAVE_BACKTRACE
|
||||
redisLog(REDIS_WARNING,"(forcing SIGSEGV in order to print the stack trace)");
|
||||
server.assert_failed = estr;
|
||||
server.assert_file = file;
|
||||
server.assert_line = line;
|
||||
redisLog(REDIS_WARNING,"(forcing SIGSEGV to print the bug report.)");
|
||||
*((char*)-1) = 'x';
|
||||
#endif
|
||||
}
|
||||
@ -308,6 +312,7 @@ void _redisAssert(char *estr, char *file, int line) {
|
||||
void _redisAssertPrintClientInfo(redisClient *c) {
|
||||
int j;
|
||||
|
||||
bugReportStart();
|
||||
redisLog(REDIS_WARNING,"=== ASSERTION FAILED CLIENT CONTEXT ===");
|
||||
redisLog(REDIS_WARNING,"client->flags = %d", c->flags);
|
||||
redisLog(REDIS_WARNING,"client->fd = %d", c->fd);
|
||||
@ -331,6 +336,7 @@ void _redisAssertPrintClientInfo(redisClient *c) {
|
||||
}
|
||||
|
||||
void _redisAssertPrintObject(robj *o) {
|
||||
bugReportStart();
|
||||
redisLog(REDIS_WARNING,"=== ASSERTION FAILED OBJECT CONTEXT ===");
|
||||
redisLog(REDIS_WARNING,"Object type: %d", o->type);
|
||||
redisLog(REDIS_WARNING,"Object encoding: %d", o->encoding);
|
||||
@ -349,6 +355,7 @@ void _redisAssertWithInfo(redisClient *c, robj *o, char *estr, char *file, int l
|
||||
}
|
||||
|
||||
void _redisPanic(char *msg, char *file, int line) {
|
||||
bugReportStart();
|
||||
redisLog(REDIS_WARNING,"------------------------------------------------");
|
||||
redisLog(REDIS_WARNING,"!!! Software Failure. Press left mouse button to continue");
|
||||
redisLog(REDIS_WARNING,"Guru Meditation: %s #%s:%d",msg,file,line);
|
||||
|
Reference in New Issue
Block a user