BUG/MEDIUM: debug/lua: Use internal hlua function to dump the lua traceback
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 24 Mar 2021 13:52:24 +0000 (14:52 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 9 Apr 2021 11:57:44 +0000 (13:57 +0200)
commita6a8692142dd3804c524406e544cc22a8c19623c
tree0a2bf2464cfdfa4f8eb44329f2404908be63794c
parentbbfe46c21f135e9cde54a293b6ef37b8d792925a
BUG/MEDIUM: debug/lua: Use internal hlua function to dump the lua traceback

The commit reverts following commits:
  * 83926a04 BUG/MEDIUM: debug/lua: Don't dump the lua stack if not dumpable
  * a61789a1 MEDIUM: lua: Use a per-thread counter to track some non-reentrant parts of lua

Instead of relying on a Lua function to print the lua traceback into the
debugger, we are now using our own internal function (hlua_traceback()).
This one does not allocate memory and use a chunk instead. This avoids any
issue with a possible deadlock in the memory allocator because the thread
processing was interrupted during a memory allocation.

This patch relies on the commit "BUG/MEDIUM: debug/lua: Use internal hlua
function to dump the lua traceback". Both must be backported wherever the
patches above are backported, thus as far as 2.0

(cherry picked from commit cc2c4f8f4c1d8613b481d1b346e083a9d2462811)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 9fb7eb90289552de9de544412de3f178cf6a3723)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit f80140db77075d3dcca673c8a58ea23468676114)
[wt: minor context adjustment: older attempt was not there in 2.1]
Signed-off-by: Willy Tarreau <w@1wt.eu>
src/debug.c