I suppose no tests are needed since this one is pretty straightforward. ----------------------------------------------------------------------   Lua stack was broken because we forgot to clear the context in case of an error when return value of called function was not serializable.   Closes #4617 --- Branch: https://github.com/tarantool/tarantool/compare/eljashm/gh-4617-broken-lua-stack   Issue: https://github.com/tarantool/tarantool/issues/4617     @ChangeLog Remove context from lua stack in case of an error.    src/box/lua/call.c | 1 +  1 file changed, 1 insertion(+) diff --git a/src/box/lua/call.c b/src/box/lua/call.c index 6588ec2fa..7ab49983d 100644 --- a/src/box/lua/call.c +++ b/src/box/lua/call.c @@ -436,6 +436,7 @@ port_lua_do_dump(struct port *base, struct mpstream *stream,      int top = lua_gettop(L);      if (lua_cpcall(L, handler, &ctx) != 0) {          luaT_toerror(port->L); +        lua_pop(L, 1);           return -1;      }      lua_settop(L, top); --  2.24.0