File

mod_traceback/mod_traceback.lua @ 6043:7b093a9b95ea

mod_report_forward: Fix traceback on error message passed to datetime function If archive:get() returns an error, e.g. because it can't find a message with the given ID, it may return e.g. nil, "item-not-found" or similar where the error condition ends up in reported_message_time, which gets passed to util.datetime, which thus ends up doing math to a string or error object.
author Kim Alvefur <zash@zash.se>
date Wed, 06 Nov 2024 22:25:41 +0100
parent 5875:dde9d21a599f
line wrap: on
line source

module:set_global();

local traceback = require "util.debug".traceback;

local signal = module:get_option_string(module.name, "SIGUSR1");
module:hook("signal/" .. signal, function()
	module:log("info", "Received %s, writing traceback", signal);
	local f = io.open(prosody.paths.data .. "/traceback.txt", "a+");
	f:write(traceback(), "\n");
	f:close();
end);