mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-07 03:48:46 +00:00
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.
This commit is contained in:
parent
178dda6b41
commit
714900a3c9
12
src/stream.c
12
src/stream.c
@ -2829,6 +2829,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…
Reference in New Issue
Block a user