gema-arta / prosody-modules

Automatically exported from code.google.com/p/prosody-modules
0 stars 0 forks source link

IRCd Issues #3

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
1. IRC users don't see other participants
2. Prosody doesn't handle sudden disconnects
3. In addition to 2:
May 13 09:04:32 general error   Top-level error, please report:
mod_ircd.lua:159: attempt to concatenate a nil value
May 13 09:04:32 general error   
stack traceback:
    mod_ircd.lua:159: in function 'component'
    /usr/lib/prosody/core/componentmanager.lua:70: in function
'component_handle_stanza'
    /usr/lib/prosody/core/stanza_router.lua:156: in function 'core_post_stanza'
    muc/mod_muc.lua:38: in function 'route_stanza'
    muc/muc.lib.lua:844: in function '_route_stanza'
    muc/muc.lib.lua:198: in function 'send_history'
    muc/muc.lib.lua:360: in function 'handle_to_occupant'
    muc/muc.lib.lua:714: in function 'handle_stanza'
    muc/mod_muc.lua:123: in function 'component'
    /usr/lib/prosody/core/componentmanager.lua:70: in function
'component_handle_stanza'
    /usr/lib/prosody/core/stanza_router.lua:156: in function 'core_post_stanza'
    /usr/lib/prosody/core/stanza_router.lua:100: in function 'core_process_stanza'
    mod_ircd.lua:75: in function '?'
    mod_ircd.lua:33: in function 'data'
    mod_ircd.lua:45: in function <mod_ircd.lua:16>
    (tail call): ?
    /usr/lib/prosody/net/server_select.lua:823: in function
</usr/lib/prosody/net/server_select.lua:808>
    [C]: in function 'xpcall'
    /usr/lib/prosody/../../bin/prosody:387: in function 'loop'
    /usr/lib/prosody/../../bin/prosody:453: in main chunk
    [C]: ?

Original issue reported on code.google.com by mro...@gmail.com on 13 May 2010 at 6:18

GoogleCodeExporter commented 9 years ago
I've pushed a fix for #3, but can't see why it is happening - so it now logs an 
error. If you see that error 
please post it here.

Your points #1 and #2 - I'm sure these things work, I tested them initially. 
What client are you using? I 
haven't tested it with many, and I'm sure I got the IRC protocol wrong in a lot 
of ways.

Original comment by MWild1 on 19 May 2010 at 2:13

GoogleCodeExporter commented 9 years ago
I will try to repeat bug #3, this was because of reconnects.
I use XChat for testing.

Original comment by mro...@gmail.com on 19 May 2010 at 2:22

GoogleCodeExporter commented 9 years ago
Hello, 
me and my friends are generally using Irssi. With the latest mod_ircd 
(07.08.2010) which includes the nickname fix. Unfortunately it is not a 
complete solution.

1. Problem, connect to irc.host.com with a nickname that is already taken. No 
problems there, but when /join #channel is executed and the user with the same 
nickname is already there the server breaks. I believe this first traceback is 
connected to that error

------ cut
Aug 07 14:12:52 general error   Top-level error, please report:
mod_ircd.lua:41: attempt to concatenate local 'data' (a table value)
Aug 07 14:12:52 general error   
stack traceback:
        mod_ircd.lua:41: in function 'send'
        muc/muc.lib.lua:297: in function 'handle_to_occupant'
        muc/muc.lib.lua:681: in function 'handle_stanza'
        muc/mod_muc.lua:123: in function 'component'
        /usr/lib/prosody/core/componentmanager.lua:70: in function 'component_handle_stanza'
        /usr/lib/prosody/core/stanza_router.lua:156: in function 'core_post_stanza'
        /usr/lib/prosody/core/stanza_router.lua:100: in function 'core_process_stanza'
        mod_ircd.lua:75: in function '?'
        mod_ircd.lua:33: in function 'data'
        mod_ircd.lua:45: in function <mod_ircd.lua:16>
        (tail call): ?
        /usr/lib/prosody/net/server_select.lua:823: in function </usr/lib/prosody/net/server_select.lua:808>
        [C]: in function 'xpcall'
        /usr/lib/prosody/../../bin/prosody:394: in function 'loop'
        /usr/lib/prosody/../../bin/prosody:461: in main chunk
        [C]: ?
------ cut

2. Problem has come from just using the service regular. People join, chat a 
little then quit, suddenly the whole service breaks when someone quits, or 
tries to join... or I have no idea what triggers it. The traceback I found in 
my logs:

------ cut
Aug 08 01:03:37 general error   Top-level error, please report:
mod_ircd.lua:60: table index is nil
Aug 08 01:03:37 general error   
stack traceback:
        mod_ircd.lua:60: in function '?'
        mod_ircd.lua:33: in function 'data'
        mod_ircd.lua:45: in function <mod_ircd.lua:16>
        (tail call): ?
        /usr/lib/prosody/net/server_select.lua:823: in function </usr/lib/prosody/net/server_select.lua:808>
        [C]: in function 'xpcall'
        /usr/lib/prosody/../../bin/prosody:394: in function 'loop'
        /usr/lib/prosody/../../bin/prosody:461: in main chunk
        [C]: ?
------ cut

3. Problem, the /part command works nice, the user leaves the chatroom. However 
even if the user does a /disconnect or /quit the nickname he used is not 
released. Attempts to use that nickname, or use it on a new connection produce 
the message nick is in use... but what's worse these look like it can lead to a 
problem with nicknames above, so we get a loop of problems.

4. Problem, the /quit or /disconnect command not only leaves blocked the 
nickname that was used, like in 3. but also leaves a "ghost" user on the 
conference. Even if this ghost is kicked from the room this nickname is not 
usable, and if someone tries to enter with that nickname at a later time it can 
again lead to problem 1.

Thank you.

Original comment by ivan.ca...@gmail.com on 7 Aug 2010 at 11:20

GoogleCodeExporter commented 9 years ago
Forgot another problem, also nickname related.

5. Problem with /nick command is that the old nickname is never released. Steps 
to reproduce:

/nick test
/nick test2
/nick test

14:10|  Nick test is already in use

Original comment by ivan.ca...@gmail.com on 8 Aug 2010 at 12:16

GoogleCodeExporter commented 9 years ago
6. Problem occurs when an IRC user (i.e. Irssi client connected to mod_ircd) 
executes an action, that is: 

/me slaps foobar around a bit

This will cause all legitimate Jabber clients (tested with Psi, Gajim, Pidgin) 
to break from the conference and their clients report "Invalid XML sent by 
server". Since the MUC conference provides a backlog of messages when you come 
in, this leads to a looping error.

Original comment by ivan.ca...@gmail.com on 11 Aug 2010 at 10:06

GoogleCodeExporter commented 9 years ago
Hi,

Thanks for all your reports - feel free to keep them coming. mod_ircd is 
certainly needing improvement in many areas, which is why it is marked "alpha" 
status on the wiki at the moment.

Some of the issues you mentioned are I believe already fixed (either in the 
latest version or in my local copy), others are already known and I'm planning 
fixes for them, the others (the "/me" issue for example) I certainly wasn't 
aware of.

I'll update this report as I fix issues, however I started a major overhaul of 
the code last week, and at the moment in the day I'm working on other things, 
so won't be able to finish and push the big changes immediately.

That said, I've received interest from a few people willing to help with this 
module, and I'm happy to work with anyone who feels they can take all this on 
and see it through to "beta" and "stable" status :)

Thanks,
Matthew

Original comment by MWild1 on 11 Aug 2010 at 10:15

GoogleCodeExporter commented 9 years ago
Committed a fix for the verse using release. Should work with 0.8

Original comment by maranda3...@gmail.com on 26 Sep 2011 at 1:56