MINOR: debug: report applet pointer and handler in crashes when known
When an appctx is found looping over itself, we report a number of info but not the pointers to the definition nor the handler, which can be quite handy in some cases. Let's add them and try to decode the symbol. (cherry picked from commit 714900a3c967eae7ff8d528239e7e9d02fac5df9) Signed-off-by: Willy Tarreau <w@1wt.eu>
This commit is contained in:
parent
ddcaae84cf
commit
c79d0e6b74
12
src/stream.c
12
src/stream.c
@ -2830,6 +2830,18 @@ void stream_dump_and_crash(enum obj_type *obj, int rate)
|
||||
}
|
||||
chunk_appendf(&trash, "}");
|
||||
|
||||
if (ptr != s) { // that's an appctx
|
||||
const struct appctx *appctx = ptr;
|
||||
|
||||
chunk_appendf(&trash, " applet=%p(", appctx->applet);
|
||||
resolve_sym_name(&trash, NULL, appctx->applet);
|
||||
chunk_appendf(&trash, ")");
|
||||
|
||||
chunk_appendf(&trash, " handler=%p(", appctx->applet->fct);
|
||||
resolve_sym_name(&trash, NULL, appctx->applet->fct);
|
||||
chunk_appendf(&trash, ")");
|
||||
}
|
||||
|
||||
memprintf(&msg,
|
||||
"A bogus %s [%p] is spinning at %d calls per second and refuses to die, "
|
||||
"aborting now! Please report this error to developers "
|
||||
|
Loading…
x
Reference in New Issue
Block a user