View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002868 | unreal | ircd | public | 2006-03-27 23:52 | 2006-05-04 10:42 |
Reporter | Robby22 | Assigned To | syzop | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | i686 | OS | Fedora Core | OS Version | 4 |
Product Version | 3.2.4 | ||||
Fixed in Version | 3.2.5 | ||||
Summary | 0002868: More than one IPv6 listen block may cause a crash | ||||
Description | Well, it actually crashes the moment a listen-block with an IPv6 address is added, otherwise it runs fine and remote includes also work fine. This is kind of a bummer since the whole idea was to run an IPv6 server but with remote includes. If the feature is disabled, UnrealIRCd ofcourse gladly accepts IPv6 listen-blocks and thus also clients without crashing. ** EDIT: it appears this is unrelated to curl, see 1st comment post ** | ||||
Additional Information | Curl is (re)compiled with: --disable-shared (as it would cause some odd error when enabled concerning some TLSv1 undefined symbol when starting the ircd) --disable-thread (this doesn't seem to make any difference) --disable-ares (I need the IPv6 support (why doesn't it use the newer C-ares anyway?)) --enable-ipv6, --enable-nonblocking, --enable-verbose, --with-zlib, --with-ssl and it is the latest version (at this time, v7.15.3). Also when remote includes is enabled in ./Config, -lares is added in the Makefile, so I had to remove it in order to be able to proceed with the compilation. The backtrace: =================== START HERE ====================== BACKTRACE: Using host libthread_db library "/lib/libthread_db.so.1". Core was generated by `./ircd'. Program terminated with signal 11, Segmentation fault. warning: svr4_current_sos: Can't read pathname for load map: Input/output error #0 add_listener2 (conf=0x36393a44) at s_bsd.c:490 490 cptr->class = (ConfigItem_class *)conf; #0 add_listener2 (conf=0x36393a44) at s_bsd.c:490 Cannot access memory at address 0x433431 #0 add_listener2 (conf=0x36393a44) at s_bsd.c:490 490 cptr->class = (ConfigItem_class *)conf; 0x8273760 <backupbuf>: "" #0 add_listener2 (conf=0x36393a44) at s_bsd.c:490 cptr = (aClient *) 0x4446333a Cannot access memory at address 0x433431 GCC: gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) UNAME: Linux sequoia 2.6.15-1.1833_FC4 #1 Wed Mar 1 23:41:37 EST 2006 i686 i686 i386 GNU/Linux UNREAL: Unreal3.2.4 build 1.1.1.1.2.1.2.1.2.2234.2.475 2006/03/14 19:47:07 CORE: -rw------- 1 ircd ircd 2617344 Mar 28 06:34 core.24322 =================== STOP HERE ====================== | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
After a recompile of UnrealIRCd without support for curl, it still had the problem (I suspected curl being at fault, but it seems not), now I seem to have narrowed it down to the IPv6 listen blocks. It seems that the moment a second IPv6 listen block is added the server crashes, if I leave one IPv6 listen block in place the server runs fine, connecting to the IPv6 port also works fine. I never suspected that being the problem but it is apparently. Especially because I have a RedHat 7.3 box which runs the exact same UnrealIRCd version and has two IPv6 listen blocks, one SSL and one plain and it works like a charm. Ohyeah, multiple IPv4 listen blocks do not seem to be a problem. I should have tested it like this first but as I said, I never thought this would be the cause of the crashes, so, sorry. New backtrace: =================== START HERE ====================== BACKTRACE: Using host libthread_db library "/lib/libthread_db.so.1". Core was generated by `./ircd'. Program terminated with signal 11, Segmentation fault. warning: svr4_current_sos: Can't read pathname for load map: Input/output error #0 add_listener2 (conf=0x3230373a) at s_bsd.c:490 490 cptr->class = (ConfigItem_class *)conf; #0 add_listener2 (conf=0x3230373a) at s_bsd.c:490 #1 0x080891d1 in run_configuration () at s_conf.c:7987 #2 0x0807f626 in main (argc=Variable "argc" is not available. ) at ircd.c:1349 #0 add_listener2 (conf=0x3230373a) at s_bsd.c:490 490 cptr->class = (ConfigItem_class *)conf; 0x823e140 <backupbuf>: "" #0 add_listener2 (conf=0x3230373a) at s_bsd.c:490 cptr = (aClient *) 0x66306566 #1 0x080891d1 in run_configuration () at s_conf.c:7987 listenptr = (ConfigItem_listen *) 0x9504958 #2 0x0807f626 in main (argc=Variable "argc" is not available. ) at ircd.c:1349 type = Variable "type" is not available. GCC: gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) UNAME: Linux sequoia 2.6.15-1.1833_FC4 #1 Wed Mar 1 23:41:37 EST 2006 i686 i686 i386 GNU/Linux UNREAL: Unreal3.2.4 build 1.1.1.1.2.1.2.1.2.2234.2.475 2006/03/14 19:47:07 CORE: -rw------- 1 ircd ircd 2539520 Mar 29 03:30 core.16203 =================== STOP HERE ====================== |
|
strange.. |
|
Any news on this? |
|
No update on my part.. You experiencing this too Jason? Robby22: I'm unable to reproduce it (ran through valgrind [a memory debugger] too). Could you send the following files to [email protected]: - src/ircd binary - commands.so - the core file Preferably in a tar.gz (or .zip or .rar) Alternatively, upload it somewhere and send me the URLs (don't post them here) Make sure the ircd binary is not newer than the core file btw, because then they are not useful (core files belonging to an old compile) ;p. Thanks. |
|
No. Unfortunately I can't provide more information for you. My interest in this is due to the fact that the server in question is linked to a network I operate. |
|
syzop: I mailed the files too you :) I hope it gets solved soon, because I'm going to install FC5 on the box today and in a virtual machine test with FC5 and UnrealIRCd it seemed to be worse, adding even one IPv6 listen block crashes the server, but I need to look further into that. |
|
Thanks for the files, definitely helped ;). Could you verify that the issue is now fixed in latest CVS [.500]? Thanks. EDIT: spelling... EDIT2: heh lol, did not notice you posted a "I mailed the files" here, I actually took a look earlier, when I got your email.. so not THAt fast ;p.. still in an hour though. |
|
That was fast :P Ok will do, *goes to try it immediatly and crosses fingers* ;) |
|
Yay, it works! I'll be installing FC5 in an hour or two, need to make some preperations first, I hope it'll work on it too! :) I'll post an update when I get to it :) Anyway, thanks! :D |
|
Good ;). Well, I'm quite sure that should work as well (or at least, this bug got fixed). Thanks again for the report. |
Date Modified | Username | Field | Change |
---|---|---|---|
2006-03-27 23:52 | Robby22 | New Issue | |
2006-03-28 19:32 | Robby22 | Note Added: 0011451 | |
2006-03-28 19:33 | Robby22 | Note Edited: 0011451 | |
2006-04-02 16:53 | syzop | Note Added: 0011468 | |
2006-04-02 16:53 | syzop | Status | new => acknowledged |
2006-04-29 16:47 | JasonTik | Note Added: 0011661 | |
2006-04-29 17:07 | syzop | Note Added: 0011662 | |
2006-04-29 17:16 | syzop | Summary | IPv6 listen-block and remote includes causes crash => More than one IPv6 listen block may cause a crash |
2006-04-29 17:16 | syzop | Description Updated | |
2006-05-01 17:04 | JasonTik | Note Added: 0011669 | |
2006-05-04 07:06 | Robby22 | Note Added: 0011670 | |
2006-05-04 07:10 | syzop | Note Added: 0011671 | |
2006-05-04 07:11 | syzop | Note Edited: 0011671 | |
2006-05-04 07:21 | Robby22 | Note Added: 0011672 | |
2006-05-04 07:57 | Robby22 | Note Added: 0011673 | |
2006-05-04 10:41 | syzop | Note Edited: 0011671 | |
2006-05-04 10:42 | syzop | Status | acknowledged => resolved |
2006-05-04 10:42 | syzop | Fixed in Version | => 3.2.5 |
2006-05-04 10:42 | syzop | Resolution | open => fixed |
2006-05-04 10:42 | syzop | Assigned To | => syzop |
2006-05-04 10:42 | syzop | Note Added: 0011674 |