View Issue Details

IDProjectCategoryView StatusLast Update
0003069unrealircdpublic2006-11-11 14:21
Reporteravb Assigned Toaquanight  
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
Platformi386OSDebian Linux with custom kernelOS Version2.6.17.13
Product Version3.2.5 
Fixed in Version3.2.6 
Summary0003069: IRCd crashes on startup with segmentation fault if non-existent allowed-nickchars parameter selected
DescriptionIn some cases IRCd crashes on startup if non-existent allowed-nickchars parameter selected, for example "windows-w1251":

[unreal@joker etc]$ cat unrealircd.conf | grep allowed-nickchars -A 3
  allowed-nickchars
  {
    windows-w1251;
  };
[unreal@joker etc]$ ./unreal start
Starting UnrealIRCd
 _ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
 \___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
                           v3.2.5
                     using TRE 0.7.2 (GPL)
                     using OpenSSL 0.9.7e 25 Oct 2004
                     using zlib 1.2.2

* Loading IRCd configuration ..
./unreal: line 134: 18171 Segmentation fault (core dumped) /usr/local/ircd-test/bin/ircd
Possible error encountered (IRCd seemily not started)
=====================================================
Check above for possible errors, and this output of
ircd.log. If you cannot solve the problem, read
Unreal.nfo on where to get support
=====================================================


but if i select something like "ukrainian-1251", it simply says that there no such language:

[unreal@joker etc]$ cat unrealircd.conf | grep allowed-nickchars -A 3
  allowed-nickchars
  {
    ukrainian-1251;
  };
[unreal@joker etc]$ ./unreal start
Starting UnrealIRCd
 _ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
 \___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
                           v3.2.5
                     using TRE 0.7.2 (GPL)
                     using OpenSSL 0.9.7e 25 Oct 2004
                     using zlib 1.2.2

* Loading IRCd configuration ..
[error] unrealircd.conf:59: set::allowed-nickchars: Unknown (sub)language 'ukrainian-1251'
[error] 1 errors encountered
[error] IRCd configuration failed to pass testing
Possible error encountered (IRCd seemily not started)
=====================================================
Check above for possible errors, and this output of
ircd.log. If you cannot solve the problem, read
Unreal.nfo on where to get support
=====================================================
Additional InformationFixed in 32* as well
TagsNo tags attached.
3rd party modules

Activities

avb

2006-09-24 05:58

reporter   ~0012420

There is backtrace:

[unreal@joker etc]$ ./unreal backtrace
Core files available:
-rw------- 1 unreal unreal 1134592 Sep 24 13:49 core
ln: when making multiple links, last argument must be a directory

=================== START HERE ======================
BACKTRACE:
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `/usr/local/ircd-test/bin/ircd'.
Program terminated with signal 11, Segmentation fault.
#0 0x08061c38 in smycmp (s1=0x8154eb8 "windows-w1251", s2=0x0) at match.c:232
232 match.c: No such file or directory.
        in match.c
#0 0x08061c38 in smycmp (s1=0x8154eb8 "windows-w1251", s2=0x0) at match.c:232
#1 0x0808150f in charsys_find_language (name=0x8154eb8 "windows-w1251") at charsys.c:411
#2 0x08081567 in charsys_test_language (name=0x8154eb8 "windows-w1251") at charsys.c:424
#3 0x08074cd2 in _test_set (conf=0x8154300, ce=0x77) at s_conf.c:7223
#4 0x08069c9a in config_test () at s_conf.c:2340
#5 0x0806836c in init_conf (rootconf=0x77 <Address 0x77 out of bounds>, rehash=0) at s_conf.c:1655
#6 0x0805fc9d in main (argc=0, argv=0x0) at ircd.c:1270

#0 0x08061c38 in smycmp (s1=0x8154eb8 "windows-w1251", s2=0x0) at match.c:232
232 in match.c

0x81338e0 <backupbuf>: ""

#0 0x08061c38 in smycmp (s1=0x8154eb8 "windows-w1251", s2=0x0) at match.c:232
        str1 = (u_char *) 0x8154eb8 "windows-w1251"
        str2 = (u_char *) 0x0
        res = 119
#1 0x0808150f in charsys_find_language (name=0x8154eb8 "windows-w1251") at charsys.c:411
        start = 31
        stop = 31
        mid = 31
#2 0x08081567 in charsys_test_language (name=0x8154eb8 "windows-w1251") at charsys.c:424
        l = (LangList *) 0x77
GCC: gcc version 3.3.5 (Debian 1:3.3.5-13)
UNAME: Linux joker 2.4.33.3-core-1.1 #1 SMP Sun Sep 3 16:45:43 EEST 2006 i686 GNU/Linux
UNREAL: Unreal3.2.5 build 1.1.1.1.2.23 2006/06/16 18:29:12
CORE: -rw------- 1 unreal unreal 1134592 Sep 24 13:49 core
=================== STOP HERE ======================

Copy the parts between the START HERE and STOP HERE marker
and report it on http://bugs.unrealircd.org/

But before you do, note the following:
1. We do not support modifications of any unrealircd code
   (except for config.h changes).
2. If you are using 3rd party modules we might request you
   to run without them and verify you still crash. This is
   to eleminate any loss of time due to bugs made by others
3. Always use the latest UnrealIRCd version, we fix (crash)bugs
   all the time so your bug might as well be fixed already.

Thanks!


P.S. Sorry, i mispelled my kernel version, it is 2.4.33.3, not 2.6.17.13.

syzop

2006-09-24 10:31

administrator   ~0012425

Last edited: 2006-09-24 10:32

Confirmed with your example (it doesn't happen for every nonexisting word btw, it's something with end-of-array or something).

EDIT: Sorry you already said that :P. Anyway 'w' is near the end of the alphabet, that's probably it.

In either case, we'll look into it, thanks :)

aquanight

2006-09-24 18:29

reporter   ~0012429

As syzop stated, it was indeed just an "end of the array" issue.

Fixed in .2272 (devel branch).

Issue History

Date Modified Username Field Change
2006-09-24 05:31 avb New Issue
2006-09-24 05:58 avb Note Added: 0012420
2006-09-24 10:31 syzop Note Added: 0012425
2006-09-24 10:31 syzop Status new => confirmed
2006-09-24 10:32 syzop Note Edited: 0012425
2006-09-24 10:32 syzop Note Edited: 0012425
2006-09-24 18:29 aquanight Note Added: 0012429
2006-09-24 18:29 aquanight Assigned To => aquanight
2006-09-24 18:29 aquanight Status confirmed => resolved
2006-09-24 18:29 aquanight Resolution open => fixed
2006-09-24 18:29 aquanight Fixed in Version => 3.3-alpha0
2006-11-11 14:21 syzop Fixed in Version 3.3-alpha0 => 3.2.6
2006-11-11 14:21 syzop Additional Information Updated