#1644 "Failed to enable smacks: Stream management is already enabled" error

Reporter meaz
Owner Nobody
Created
Updated
Stars ★ (1)
Tags
  • Type-Defect
  • Component-Community
  • Status-Fixed
  • Priority-Medium
  1. meaz on

    Hi, our server went down because of only one user that uses Dino. We have a lot of "Failed to enable smacks: Stream management is already enabled" lines in the logs. We're wondering if this could be related to this: https://github.com/dino/dino/issues/271 I see this also: Mar 10 19:51:12 mod_bosh error Traceback[bosh]: /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:164: attempt to get length of local 'queue' (a nil value) stack traceback: /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:164: in function 'request_ack_if_needed' /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:645: in function '?' /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77> (...tail calls...) /usr/lib/prosody/modules/mod_csi/mod_csi.lua:15: in function '?' /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77> (...tail calls...) /usr/share/lua/5.2/prosody/core/stanza_router.lua:143: in function 'dispatch_stanza' /usr/lib/prosody/modules/mod_bosh.lua:338: in function 'func' /usr/share/lua/5.2/prosody/util/async.lua:127: in function </usr/share/lua/5.2/prosody/util/async.lua:125> stack traceback: /usr/share/lua/5.2/prosody/util/async.lua:215: in function 'run' /usr/lib/prosody/modules/mod_bosh.lua:482: in function 'cb_handlestanza' /usr/share/lua/5.2/prosody/util/xmppstream.lua:188: in function </usr/share/lua/5.2/prosody/util/xmppstream.lua:165> [C]: in function 'parse' /usr/share/lua/5.2/prosody/util/xmppstream.lua:288: in function 'feed' /usr/lib/prosody/modules/mod_bosh.lua:136: in function </usr/lib/prosody/modules/mod_bosh.lua:117> (...tail calls...) /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77> (...tail calls...) /usr/share/lua/5.2/prosody/net/http/server.lua:282: in function 'handle_request' /usr/share/lua/5.2/prosody/net/http/server.lua:126: in function 'func' /usr/share/lua/5.2/prosody/util/async.lua:127: in function </usr/share/lua/5.2/prosody/util/async.lua:125> Mar 10 19:57:46 c2s55b241990e50 error Traceback[c2s]: /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:164: attempt to get length of local 'queue' (a nil value) stack traceback: /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:164: in function 'request_ack_if_needed' /usr/lib/prosody/modules/mod_smacks/mod_smacks.lua:645: in function '?' /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77> (...tail calls...) /usr/lib/prosody/modules/mod_csi/mod_csi.lua:15: in function '?' /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77> (...tail calls...) /usr/share/lua/5.2/prosody/core/stanza_router.lua:143: in function 'core_process_stanza' /usr/lib/prosody/modules/mod_c2s.lua:295: in function 'func' /usr/share/lua/5.2/prosody/util/async.lua:127: in function </usr/share/lua/5.2/prosody/util/async.lua:125> Here are our setup info: Prosody trunk nightly build 1405 (2021-02-25, f7704f987439) Lua version: Lua 5.2 LuaRocks: Installed (2.4.2) Backend: epoll LuaDBI: 0.7 LuaExpat: 1.3.0 LuaFileSystem: 1.6.3 LuaSec: 0.7.1 LuaSocket: 3.0-rc1 modules_enabled = { "roster"; -- Allow users to have a roster. "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. "tls"; -- Add support for secure TLS on c2s/s2s connections "dialback"; -- s2s dialback support "compat_dialback"; -- This module provides a workaround for servers that do not set the to attribute on stream headers, which is required per RFC6120 "disco"; -- Service discovery "private"; -- Private XML storage "vcard4"; -- User profiles (stored in PEP) "vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar "version"; -- Replies to server version requests "uptime"; -- Report how long server has been running "time"; -- Let others know the time here on this server "ping"; -- Replies to XMPP pings with pongs "pep"; -- Enables users to publish their mood, activity, playing music and more "carbons"; -- Keep multiple clients in sync "smacks"; -- Allows to resume a disconnected session and prevents message loss "default_bookmarks"; -- Add a default bookmarks to new users "cloud_notify"; -- Allows clients to register an “app server”. "csi"; -- Implements Client State Indication "csi_simple"; -- Buffer unimportant traffic to inactive devices "filter_chatstates"; -- https://modules.prosody.im/mod_filter_chatstates.html "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands "bosh"; -- Enable BOSH clients "websocket"; -- Supports for XMPP connections over Websockets "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. "announce"; -- Send announcement to all online users "welcome"; -- Welcome users who register accounts "motd"; -- Send a message to users when they log in "legacyauth"; -- Legacy authentication. Only used by some old clients and bots. "log_auth"; -- Log failed authentication attempts with their IP address "register_redirect"; -- Registration Redirect. "mam"; -- Implementation of XEP-0313: Message Archive Management https://modules.prosody.im/mod_mam.html "blocklist"; -- ability to block users "uptime_presence"; -- responds to a presence probe with timestamp from when the server was started "bookmarks"; -- This module fetches users’ bookmarks from Private XML and pushes them to PEP on login "admin_blocklist"; -- Uses the blocklists set by admins for blocking s2s connections "presence_cache"; -- This module stores a timestamp of the latest presence received from users contacts "nodeinfo2"; -- This module exposes a nodeinfo2 .well-known URL for use e.g. from the-federation.info. "lastlog"; -- Simple module that stores the timestamp of when a user logs in. "http"; -- Prosody contains a mini built-in HTTP server, which is used for BOSH and other modules. "watch_spam_reports"; -- This module sends a message to the server admins for incoming spam reports. "spam_reporting"; -- When someone reports spam or abuse, a line about this is logged and an event is fired so that other modules can act on the report. "server_contact_info"; -- Provides contact addresses. "turncredentials"; -- Setup turnserver for viop "firewall"; -- Can efficiently block, bounce, drop, forward, copy, redirect stanzas and more. "http_altconnect"; -- This module helps make BOSH and WebSocket connection endpoints discoverable via the HTTP "http_upload"; -- Upload files via http "statistics"; -- Provide statistic feed for monitoring "checkcerts"; -- Checks your certificate to see if it is about to expire soon }; thanks!

  2. Zash on

    What revision of prosody-modules is this? The line number for mod_smacks doesn't match the current code, but would match before https://hg.prosody.im/prosody-modules/rev/5234d0c8883d which likely fixed an issue just like this.

    Changes
    • tags Component-Community Status-NeedInfo
  3. meaz on

    You're right, I checked again, and this seems to be fixed. Sorry!

  4. Zash on

    ok thanks for reporting back

    Changes
    • tags Status-Fixed

New comment

Not published. Used for spam prevention and optional update notifications.