From: Willy Tarreau Date: Thu, 4 May 2023 14:28:30 +0000 (+0200) Subject: BUG/MINOR: debug: do not emit empty lines in thread dumps X-Git-Tag: v2.8-dev10~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cb01f5daa72eec595407a85959d301960d472c93;p=thirdparty%2Fhaproxy.git BUG/MINOR: debug: do not emit empty lines in thread dumps In 2.3, commit 471425f51 ("BUG/MINOR: debug: Don't dump the lua stack if it is not initialized") introduced the possibility to emit an empty line when there's no Lua info to dump. The problem is that doing this on the CLI in "show threads" marks the end of the output, and it may affect some external tools. We need to make sure that LFs are only emitted if there's something on the line and that all lines properly start with the prefix. This may be backported as far as 2.0 since the commit above was backported there. --- diff --git a/src/debug.c b/src/debug.c index c75e6086b5..6f691d9fef 100644 --- a/src/debug.c +++ b/src/debug.c @@ -298,9 +298,10 @@ void ha_task_dump(struct buffer *buf, const struct task *task, const char *pfx) if (hlua && hlua->T) { chunk_appendf(buf, "stack traceback:\n "); append_prefixed_str(buf, hlua_traceback(hlua->T, "\n "), pfx, '\n', 0); - b_putchr(buf, '\n'); } - else + + /* we may need to terminate the current line */ + if (*b_peek(buf, b_data(buf)-1) != '\n') b_putchr(buf, '\n'); #endif }