#1164 mod_component tracebacks when answering disco#info on unavailable components
Reporter
Link Mauve
Owner
Zash
Created
Updated
Stars
★ (1)
Tags
Status-Fixed
Priority-Medium
Patch
Type-Defect
Milestone-0.10
Link Mauve
on
What steps will reproduce the problem?
1. Have an external component configured.
2. Don’t have any process claiming this component.
3. Do a disco#info on it from any client.
What is the expected output?
A minimal disco#info result.
What do you see instead?
Jun 08 06:34:12 c2s564d2dace570 error Traceback[c2s]: /usr/lib/prosody/modules/mod_component.lua:123: attempt to index a boolean value
stack traceback:
/usr/lib/prosody/modules/mod_component.lua:123: in function '?'
/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
(...tail calls...)
/usr/lib/prosody/core/stanza_router.lua:190: in function 'core_post_stanza'
/usr/lib/prosody/core/stanza_router.lua:137: in function 'core_process_stanza'
/usr/lib/prosody/modules/mod_c2s.lua:276: in function 'func'
/usr/lib/prosody/util/async.lua:126: in function </usr/lib/prosody/util/async.lua:124>
What version of the product are you using? On what operating system?
Trunk, but it also appears to be present in 0.10, on ArchLinux.
Please provide any additional information below.
This is caused by a parenthesis being closed one line too early, it should be on line 124 but is closed on line 123.
What steps will reproduce the problem? 1. Have an external component configured. 2. Don’t have any process claiming this component. 3. Do a disco#info on it from any client. What is the expected output? A minimal disco#info result. What do you see instead? Jun 08 06:34:12 c2s564d2dace570 error Traceback[c2s]: /usr/lib/prosody/modules/mod_component.lua:123: attempt to index a boolean value stack traceback: /usr/lib/prosody/modules/mod_component.lua:123: in function '?' /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75> (...tail calls...) /usr/lib/prosody/core/stanza_router.lua:190: in function 'core_post_stanza' /usr/lib/prosody/core/stanza_router.lua:137: in function 'core_process_stanza' /usr/lib/prosody/modules/mod_c2s.lua:276: in function 'func' /usr/lib/prosody/util/async.lua:126: in function </usr/lib/prosody/util/async.lua:124> What version of the product are you using? On what operating system? Trunk, but it also appears to be present in 0.10, on ArchLinux. Please provide any additional information below. This is caused by a parenthesis being closed one line too early, it should be on line 124 but is closed on line 123.
Here is a patch fixing it: https://prosody.im/pastebin/bc76a95d-6d68-474d-bbe7-873d46d2e60b
Thanks for the report and patch. I'm applying it to 0.10.
ChangesImported as https://hg.prosody.im/0.10/rev/9aa35cb939ac
Changes