egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Eggdrop incorrecting reporting channel users

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help
View previous topic :: View next topic  
Author Message
arfer
Master


Joined: 26 Nov 2004
Posts: 436
Location: Manchester, UK

PostPosted: Thu Dec 08, 2011 4:34 pm    Post subject: Eggdrop incorrecting reporting channel users Reply with quote

For some time now I plus another colleague have been experiencing difficulties from our Eggdrop bots on DALnet, specifically with regard to a limit script.

For no apparent reason the bots begin to incorrectly report channel users, which is required to periodically calculate a new limit. I did suspect the frequent netsplits that continue to plague DALnet but now I am unconvinced. This following channel events demonstrate.

Quote:

[18:44] * Colossus sets mode: +l 26
[18:48] * +giobbe29 (giobbe29@151.83.205.183) Quit (Quit: )
[18:48] * Colossus sets mode: +l 17


A netsplit did occur some 9 minutes before the above events, which split off 7 users including the bot. All but one returned some 2 minutes later including the bot.

After the error occured I used the following Tcl command to determine what the bot returned from calculating channel users. The actual numbers were 19, including the bot itself.

Quote:

.tcl [llength [chanlist #atlantis]]
Tcl error: invalid command name "11"


Ignore the fact that it returned a Tcl error, that's simply the syntax I used. Look at the number 11. How can that be?

I then restarted the bot, which always corrects the fault.

Quote:

tcl [llength [chanlist #atlantis]]
Tcl error: invalid command name "19"


Has anyone else experienced this or does anyone have an explanation for it?

The same script has been used for many years, only yielding problems fairly recently. The only things that have changed in that time are the bot version (currently the bot is 1.6.20) and presumably DALnet's bahamut and services code.
_________________
I must have had nothing to do
Back to top
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Thu Dec 08, 2011 5:09 pm    Post subject: Reply with quote

What about the contents of the list returned by chanlist?
Which nicks were missing?

I'm wondering if this patch might be involved: http://cvs.eggheads.org/viewvc/eggdrop1.6/src/mod/irc.mod/chan.c?r1=1.130&r2=1.131

Upon refreshing channel members, it will remove any channel-member not included in a /WHO #channel request from the internal list. Generally, anyone being a member of a channel, should be able to see all the members of the channel using the /WHO command, though I wonder if that's really the case here.

Just my first .02$
_________________
NML_375, idling at #eggdrop@IrcNET
Back to top
View user's profile Send private message
arfer
Master


Joined: 26 Nov 2004
Posts: 436
Location: Manchester, UK

PostPosted: Thu Dec 08, 2011 5:27 pm    Post subject: Reply with quote

I understand what you mean nml375 but unfortunately I can't answer your question until it occurs again. I will be sure to check this.

Would it not be the case that after a restart the /WHO command still returns the same users. That is to say if they were not reported before a restart, then would they be reported after? A restart always fixes the problem.

I do have further evidence. Another bot setting a limit on a different channel went likewise in error some minutes before, and this was immediately after it was split and returned. It does seem like netsplits are involved.
_________________
I must have had nothing to do
Back to top
View user's profile Send private message
arfer
Master


Joined: 26 Nov 2004
Posts: 436
Location: Manchester, UK

PostPosted: Thu Dec 08, 2011 5:34 pm    Post subject: Reply with quote

Here is the pertinent output

Quote:

[18:37] * @Bazza (Barry@say.wow.bz) Quit (ninja.hub.dal.net rapport.ix.us.dal.net)
[18:39] * Bazza (Barry@say.wow.bz) has joined #Ballarat
[18:39] * ChanServ sets mode: +o Bazza
[18:50] * Bazza sets mode: +l 6
[20:59] * arfer sets mode: -o Bazza
[20:59] * Bazza (Barry@say.wow.bz) has left #Ballarat
[20:59] * arfer sets mode: -l
[21:00] * Bazza (Barry@say.wow.bz) has joined #Ballarat
[21:00] * ChanServ sets mode: +o Bazza
[21:02] * Bazza sets mode: +l 12


It is almost as if it is returning channel users on the network it was split on. Since it was the only user split and the limit scripts sets current users plus 5, then the result would be 6.
_________________
I must have had nothing to do
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber