#987 prosody 0.9.12 crashes since upgrade to debian 9 (stretch)
Reporter
Albert Dengg
Owner
Zash
Created
Updated
Stars
★ (1)
Tags
Status-Fixed
Type-Defect
Priority-Medium
Milestone-0.9
Albert Dengg
on
What steps will reproduce the problem?
1. upgraded the system from Debian 8 to 9
2. restarted prosody
3. it now crashes in (seemingly) random intervalls in the c2s module
What is the expected output?
i expected the config to work as it did before the upgrade (before that i was running
the packages from prosody.im, so there was no change in prosody version)
What do you see instead?
depending on if i have libevent support enabeld or not i get the following stack trace:
Sep 11 20:08:32 general error Top-level error, please report:
/usr/lib/prosody/modules/mod_c2s.lua:103: attempt to index field 'attr' (a nil value)
Sep 11 20:08:32 general error
stack traceback:
[C]: in function 'loop'
/usr/lib/prosody/net/server_event.lua:797: in function </usr/lib/prosody/net/server_event.lua:796>
[C]: in function 'xpcall'
/usr/bin/prosody:376: in function 'loop'
/usr/bin/prosody:407: in main chunk
[C]: ?
Sep 11 20:08:32 general warn Attempt to read a non-existent global 'socket'
stack traceback:
/usr/bin/prosody:377: in function 'loop'
/usr/bin/prosody:407: in main chunk
[C]: ?
or
Sep 10 14:28:05 general error Top-level error, please report:
/usr/lib/prosody/modules/mod_c2s.lua:102: attempt to index field 'attr' (a nil value)
Sep 10 14:28:05 general error
stack traceback:
[C]: in function 'loop'
/usr/lib/prosody/net/server_event.lua:797: in function </usr/lib/prosody/net/server_event.lua:796>
[C]: in function 'xpcall'
/usr/bin/prosody:376: in function 'loop'
/usr/bin/prosody:407: in main chunk
[C]: ?
Sep 10 14:28:05 general warn Attempt to read a non-existent global 'socket'
stack traceback:
/usr/bin/prosody:377: in function 'loop'
/usr/bin/prosody:407: in main chunk
[C]: ?
the crash sometimes happens imediatly after the restart or sometimes after a few hours.
(unfortunatly, when i was testing after the upgrade it worked fine for quite some time, so i dropped the VM snapshot...)
blocking access to the c2s port lead to a stable system, but that of course is besides the point.
given the random time that leads to the crash, it might be connected to some specific users connecting, however i have yet to find a good way to actually track down the culprit (i currently have around 50-70 users online out of a pool of >700, so asking to connect one by one is not really doable and after a restart the log gets hard to parse if you i have a high enough log level to see what's going on in concern of users doing stuff.
What version of the product are you using? On what operating system?
i tried both 0.9.12-1~stretch1 from prosody.im as well as 0.9.12-2 from the debian archive
with the same result.
Please provide any additional information below.
there might be some garbage left in the user configurations, it is an installation that was converted over from an old ejabberd installation 2 years ago using the conversion script
currently enabled modules:
roster
saslauth
tls
dialback
disco
posix
private
vcard
privacy
blocking
version
uptime
time
ping
pep
admin_adhoc
bosh
http_files
announce
watchregistrations
motd
pubsub
smacks
s2s_never_encrypt_blacklist
vjud
carbons
mam
mam_adhoc
csi
proxy65
Albert Dengg
on
some additional information:
when printing out the actual data object it is:
Stanza: {
"Invalid Stream Header!",
attr = {
xmlns = "http://etherx.jabber.org/streams"
},
name = "error",
tags = {
}
}
What steps will reproduce the problem? 1. upgraded the system from Debian 8 to 9 2. restarted prosody 3. it now crashes in (seemingly) random intervalls in the c2s module What is the expected output? i expected the config to work as it did before the upgrade (before that i was running the packages from prosody.im, so there was no change in prosody version) What do you see instead? depending on if i have libevent support enabeld or not i get the following stack trace: Sep 11 20:08:32 general error Top-level error, please report: /usr/lib/prosody/modules/mod_c2s.lua:103: attempt to index field 'attr' (a nil value) Sep 11 20:08:32 general error stack traceback: [C]: in function 'loop' /usr/lib/prosody/net/server_event.lua:797: in function </usr/lib/prosody/net/server_event.lua:796> [C]: in function 'xpcall' /usr/bin/prosody:376: in function 'loop' /usr/bin/prosody:407: in main chunk [C]: ? Sep 11 20:08:32 general warn Attempt to read a non-existent global 'socket' stack traceback: /usr/bin/prosody:377: in function 'loop' /usr/bin/prosody:407: in main chunk [C]: ? or Sep 10 14:28:05 general error Top-level error, please report: /usr/lib/prosody/modules/mod_c2s.lua:102: attempt to index field 'attr' (a nil value) Sep 10 14:28:05 general error stack traceback: [C]: in function 'loop' /usr/lib/prosody/net/server_event.lua:797: in function </usr/lib/prosody/net/server_event.lua:796> [C]: in function 'xpcall' /usr/bin/prosody:376: in function 'loop' /usr/bin/prosody:407: in main chunk [C]: ? Sep 10 14:28:05 general warn Attempt to read a non-existent global 'socket' stack traceback: /usr/bin/prosody:377: in function 'loop' /usr/bin/prosody:407: in main chunk [C]: ? the crash sometimes happens imediatly after the restart or sometimes after a few hours. (unfortunatly, when i was testing after the upgrade it worked fine for quite some time, so i dropped the VM snapshot...) blocking access to the c2s port lead to a stable system, but that of course is besides the point. given the random time that leads to the crash, it might be connected to some specific users connecting, however i have yet to find a good way to actually track down the culprit (i currently have around 50-70 users online out of a pool of >700, so asking to connect one by one is not really doable and after a restart the log gets hard to parse if you i have a high enough log level to see what's going on in concern of users doing stuff. What version of the product are you using? On what operating system? i tried both 0.9.12-1~stretch1 from prosody.im as well as 0.9.12-2 from the debian archive with the same result. Please provide any additional information below. there might be some garbage left in the user configurations, it is an installation that was converted over from an old ejabberd installation 2 years ago using the conversion script currently enabled modules: roster saslauth tls dialback disco posix private vcard privacy blocking version uptime time ping pep admin_adhoc bosh http_files announce watchregistrations motd pubsub smacks s2s_never_encrypt_blacklist vjud carbons mam mam_adhoc csi proxy65
some additional information: when printing out the actual data object it is: Stanza: { "Invalid Stream Header!", attr = { xmlns = "http://etherx.jabber.org/streams" }, name = "error", tags = { } }
Thanks for the report. As I wrote on the list, this is two issues. This should fix the first issue https://hg.prosody.im/0.9/rev/176b7f4e4ac9 The second issue was already hackily fixed in 0.10, https://hg.prosody.im/0.10/rev/f076dac78155 We'll have to figure out how to solve that.
ChangesAh, the other thing was already fixed in https://hg.prosody.im/0.9/rev/adfffc5b4e2a So it just needs another minor release.
Changes