mod_traceback/mod_traceback.lua
author Matthew Wild <mwild1@gmail.com>
Tue, 16 Apr 2024 10:42:25 +0100
changeset 5886 563c2c70cb9f
parent 5855 dde9d21a599f
permissions -rw-r--r--
mod_sasl2_fast: Improve handling when SASL profile unexpectedly lacks CB This fixes a traceback reported by riau, but likely does not solve the underlying cause, whatever that is.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2777
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
module:set_global();
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
local traceback = require "util.debug".traceback;
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
5855
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2777
diff changeset
     5
local signal = module:get_option_string(module.name, "SIGUSR1");
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2777
diff changeset
     6
module:hook("signal/" .. signal, function()
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2777
diff changeset
     7
	module:log("info", "Received %s, writing traceback", signal);
dde9d21a599f mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents: 2777
diff changeset
     8
	local f = io.open(prosody.paths.data .. "/traceback.txt", "a+");
2777
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     9
	f:write(traceback(), "\n");
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    10
	f:close();
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
end);
7a4e8dbbd30d mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12