#1103 c2s streams are closed outside of the async thread [ASYNC-01]
Reporter
Zash
Owner
Zash
Created
Updated
Stars
★★ (2)
Tags
Type-Defect
Priority-Medium
Milestone-0.12
Status-Fixed
Zash
on
What steps will reproduce the problem?
1. Use eg mod_lastlog
2. A c2s session is closed
3. mod_lastlog records this time
What is the expected output?
*crickets*
What do you see instead?
storagemanager warn ASYNC-01: Attempt to access storage outside async context, see https://prosody.im/doc/developers/async - stack traceback:
/usr/lib/prosody/core/storagemanager.lua:53: in function </usr/lib/prosody/core/storagemanager.lua:50>
(tail call): ?
/usr/src/prosody-modules/mod_lastlog/mod_lastlog.lua:21: in function '?'
/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
(tail call): ?
...-modules/mod_log_slow_events/mod_log_slow_events.lua:12: in function <...-modules/mod_log_slow_events/mod_log_slow_events.lua:10>
(tail call): ?
/usr/lib/prosody/core/sessionmanager.lua:106: in function 'sm_destroy_session'
/usr/lib/prosody/modules/mod_c2s.lua:183: in function 'close'
/usr/lib/prosody/modules/mod_c2s.lua:103: in function 'cb_streamclosed'
/usr/lib/prosody/util/xmppstream.lua:201: in function </usr/lib/prosody/util/xmppstream.lua:171>
[C]: in function 'parse'
/usr/lib/prosody/util/xmppstream.lua:278: in function 'feed'
/usr/lib/prosody/modules/mod_c2s.lua:272: in function 'data'
/usr/lib/prosody/modules/mod_c2s.lua:295: in function </usr/lib/prosody/modules/mod_c2s.lua:292>
(tail call): ?
/usr/lib/prosody/net/server_select.lua:911: in function </usr/lib/prosody/net/server_select.lua:895>
[C]: in function 'xpcall'
/usr/bin/prosody:74: in function 'loop'
/usr/bin/prosody:84: in main chunk
[C]: ?
What version of the product are you using? On what operating system?
trunk nightly build 867 (2018-03-22, 6aeed79d9283)
Ubuntu 14.04.5 LTS
Please provide any additional information below.
Zash
on
#1114, #1115 and #1116 are variations on sessions being closed in various ways
What steps will reproduce the problem? 1. Use eg mod_lastlog 2. A c2s session is closed 3. mod_lastlog records this time What is the expected output? *crickets* What do you see instead? storagemanager warn ASYNC-01: Attempt to access storage outside async context, see https://prosody.im/doc/developers/async - stack traceback: /usr/lib/prosody/core/storagemanager.lua:53: in function </usr/lib/prosody/core/storagemanager.lua:50> (tail call): ? /usr/src/prosody-modules/mod_lastlog/mod_lastlog.lua:21: in function '?' /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75> (tail call): ? ...-modules/mod_log_slow_events/mod_log_slow_events.lua:12: in function <...-modules/mod_log_slow_events/mod_log_slow_events.lua:10> (tail call): ? /usr/lib/prosody/core/sessionmanager.lua:106: in function 'sm_destroy_session' /usr/lib/prosody/modules/mod_c2s.lua:183: in function 'close' /usr/lib/prosody/modules/mod_c2s.lua:103: in function 'cb_streamclosed' /usr/lib/prosody/util/xmppstream.lua:201: in function </usr/lib/prosody/util/xmppstream.lua:171> [C]: in function 'parse' /usr/lib/prosody/util/xmppstream.lua:278: in function 'feed' /usr/lib/prosody/modules/mod_c2s.lua:272: in function 'data' /usr/lib/prosody/modules/mod_c2s.lua:295: in function </usr/lib/prosody/modules/mod_c2s.lua:292> (tail call): ? /usr/lib/prosody/net/server_select.lua:911: in function </usr/lib/prosody/net/server_select.lua:895> [C]: in function 'xpcall' /usr/bin/prosody:74: in function 'loop' /usr/bin/prosody:84: in main chunk [C]: ? What version of the product are you using? On what operating system? trunk nightly build 867 (2018-03-22, 6aeed79d9283) Ubuntu 14.04.5 LTS Please provide any additional information below.
#1114, #1115 and #1116 are variations on sessions being closed in various ways
Moving async to 0.12
ChangesMilestone-0.11Milestone-0.12Fixed in https://hg.prosody.im/trunk/rev/16bcbd574801 but those other issues mentioned in comment 2 are probably made worse until they too are fixed.
Changes