Software /
code /
prosody
Changeset
13572:d9965707f7dc
mod_smacks: Prevent traceback on attempting to resume destroyed session
This shouldn't be possible, but seems to happen anyway after net.server
somehow calling the close handler twice, which also should not happen.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 19 Nov 2024 00:53:01 +0100 |
parents | 13571:ca041359c045 |
children | 13573:9277fc78fe39 |
files | plugins/mod_smacks.lua |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_smacks.lua Tue Nov 19 00:41:02 2024 +0100 +++ b/plugins/mod_smacks.lua Tue Nov 19 00:53:01 2024 +0100 @@ -587,6 +587,11 @@ local id = stanza.attr.previd; local original_session = session_registry[registry_key(session, id)]; + if original_session.destroyed then + original_session.log("error", "Tried to resume a destroyed session. This should not happen! %s", debug.traceback()); + session_registry[registry_key(session, id)] = nil; + original_session = nil; + end if not original_session then local old_session = old_session_registry:get(session.username, id); if old_session then