UnrealIRCd Crash

These are old archives. They are kept for historic purposes only.
Post Reply
Daud
Posts: 2
Joined: Fri Feb 14, 2014 1:23 am

UnrealIRCd Crash

Post by Daud »

Hey guys, having some trouble supporting more than ~1000 users on my server and was hoping to get some help/ideas here. Not too sure if it's an OS problem or not, so thought I'd chance my arm and see what you guys say.

The OS itself is Ubuntu 12.04.4 LTS and I've made the FD_SETSIZE define change to 4096 and ulimit -n returns 4096 as well, so those seem fine.

The server seems to crash whenever the server reaches ~1000 (1024?) users and syslog says "*** buffer overflow detected ***: ircd terminated"

./unreal backtrace returns:

Code: Select all

=================== START HERE ======================
BACKTRACE:
[New LWP 4628]

warning: Can't read pathname for load map: Input/output error.

warning: Could not load shared library symbols for 2 libraries, e.g. tmp/EAB2B667.commands.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/home/swiftircd/Unreal3.2/src/ircd'.
Program terminated with signal 6, Aborted.
#0  0x000003203bf5d425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#0  0x000003203bf5d425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000003203bf60b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x000003203bf9b39e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x000003203c031f47 in __fortify_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x000003203c030e40 in __chk_fail () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x000003203c031efe in __fdelt_warn () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000414e0b in read_message (delay=1, listp=0x754ee0) at s_bsd.c:1702
#7  0x00000000004117f0 in main (argc=<optimized out>, argv=<optimized out>) at ircd.c:1613

#0  0x000003203bf5d425 in raise () from /lib/x86_64-linux-gnu/libc.so.6

0x7678a0 <backupbuf>:    "ping lag.10336846639"

#0  0x000003203bf5d425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x000003203bf60b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x000003203bf9b39e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
GCC: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
UNAME: Linux ns 3.10.9-xxxx-grs-ipv6-64 #1 SMP Wed Aug 21 11:51:59 CEST 2013 x86_64 x86_64 x86_64 GNU/Linux
UNREAL: Unreal3.2.6 build 1.1.1.1.2.24
CORE: -rw------- 1 ircd ircd 13459456 Feb 13 18:33 core
===================  STOP HERE ======================
Any ideas?
katsklaw
Posts: 1124
Joined: Sun Apr 18, 2004 5:06 pm
Contact:

Re: UnrealIRCd Crash

Post by katsklaw »

unreal 3.2.6 is way old. please upgrade to 3.2.10.2 first, if you are still having issues let us know.
Daud
Posts: 2
Joined: Fri Feb 14, 2014 1:23 am

Re: UnrealIRCd Crash

Post by Daud »

Do you know of an easy way to test that many connections? It normally takes a while to fill up.
katsklaw
Posts: 1124
Joined: Sun Apr 18, 2004 5:06 pm
Contact:

Re: UnrealIRCd Crash

Post by katsklaw »

Not really, but 3.2.10 intrudused the poll io socket engine so you see a noticable performance increase from that alone.
Stealth
Head of Support
Posts: 2085
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Re: UnrealIRCd Crash

Post by Stealth »

I never recommend running a server and expecting it to hold steady with more than 500 users. When having so many users connected to a single server, there is a very large amount of bandwidth that will be consumed by the IRCd, along with very high CPU and memory usage to maintain and process all the information going in and out of the server.

With that being said, legitimate networks should have no trouble in getting donations from their uses to cover hosting expenses caused by having multiple servers in different locations around the world. I have seen the following methods of getting funds or donations for more servers:
  • If your network is affiliated with a software project, game, business site, hosting company, or whatever, advertising should be run on that website.
  • If you network is affiliated with a website (as mentioned above), offer premium access or services for paying website members (no ads, added features, etc).
  • Allow users to purchase virtual hosts. Many people would pay a little bit of real money to get a fancy hostname for their IRC presence.
  • Offer premium servers to subscription users that offer perks as having less lag or being more reliable.
  • Offer channel management/monitoring services for users that may be trying to manage large channels on their own.
Syzop
UnrealIRCd head coder
Posts: 2112
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl
Contact:

Re: UnrealIRCd Crash

Post by Syzop »

UnrealIRCd can handle thousands of connections per server just fine. The crash you experienced has nothing to do with the number of users.

As others said, don't use such an old version, 3.2.6 is 7 years old! Chances are high that the bug you experienced has been fixed by now.
Post Reply