Max SendQ Exceeded when joining large channels

These are old archives. They are kept for historic purposes only.
Post Reply
da127
Posts: 15
Joined: Thu Dec 29, 2005 6:06 am

Max SendQ Exceeded when joining large channels

Post by da127 »

Yes it seems regular users can't join channels with a lot of users because if they do they are forcefully disconnected with "Max SendQ Exceeded" even after changing sendq on all servers to 150599990000 in their respective config files. This is not the first time weve changed the sendq weve tried dozens of heightened values for it none of which seem to make much difference to regular users.
Jason
Posts: 570
Joined: Mon Jun 14, 2004 5:09 pm

Post by Jason »

Make sure you are adjusting it for the right class. Also, try cranking receive q up.
Why the hell can't my signature be empty?
"Your message contains too few characters."
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

Post by Syzop »

Also, please don't use a ridiculous value, that will only lead to problems (including sooner disconnects).

How many users do you have in the channel? Try bumping the sendq it to like "500k" (500000), that should be enough even for a /who on a channel with 1000 users...

And of course, as Jason said, do it for the correct class (and rehash). Check with '/stats y' to make sure it actually applied.
Bricker
Posts: 88
Joined: Tue May 03, 2005 7:31 am
Location: Sterling, VA, USA

Post by Bricker »

As w00t had already stated in #Unreal-Support their is no real fix to this problem.
-Bricker-
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

Post by Syzop »

You are making me curious...

that must be either.. client acting as an idiot (who request on a too big channel) or a channel with over like 3K.. 5K.. or more users.

Clients like irssi properly behave with settings such as: if channel has over <X> users, then do not do a who #chan.
If channel has more nicks than /SET channel_max_who_sync, don't ask/WHO list to avoid getting kicked out of server (Max SendQ exceeded).
Just as an example.
[it's new though, but it's like every client should behave like that if you ask me]
da127
Posts: 15
Joined: Thu Dec 29, 2005 6:06 am

Post by da127 »

The channel has 1200+ users at this time, I've seen it as high as 1600 (to my best recollection).
What about the compiled-in MAX_SENDQ at the very end of ./Config? Is that relevant? I believe it defaults to 300000. Some servers on the network were getting errors on rehash for, as stated earlier "ridiculously high values".
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

Post by Syzop »

500k should be more than enough.
Though, if you are paranoid you can use 1mb (which is even less than 512*1200).
Note that such high sendq's are an excelent setup to cause a DoS at your server (memory exaustion), since then every client can use 1mb of memory, but it's your choice ;).

No the ./Config thing is not directly relevant in this case, that's a total sendq limit.. if you would hit it you would see another error ("enlarge bufferpool" oper notices), of course you can still expand it [just a bit, not by making it 9 digits]. but it's not relevant for your primary problem (unless you got that msg).

Again, check with '/stats y' the sendq got actually enlarged, and check with '/trace' to see if the users having the problem are actually in the right class.

But is this actually about /WHO requests clients are doing or what?
da127
Posts: 15
Joined: Thu Dec 29, 2005 6:06 am

Post by da127 »

mostly yes it is...
also /stats G causes opers to exceed max sendq - which is utter crap

i got it fixed however, set client sendq to 500000 like you suggested and made a new class (noflood) for use in oper blocks with a sendq of 1000000

and ive put that to the test piggy-backing irc commands that i know will result in a lot of output.... it seems impossible to exceed my max sendq now.
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

Post by Syzop »

*nod* that's what I usually do.. set the users at like 200k (yeah I'm more conservative :P... actually most major nets like ircnet use 20k or something ;p) and have a biiig one for opers.. like 1mb or 2mb.

Btw, /stats g (and friends) support searching at hosts / ban reasons / etc (see '/stats ?').
Post Reply