View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000841 | unreal | ircd | public | 2003-03-26 01:38 | 2003-11-20 19:46 |
| Reporter | ora | Assigned To | syzop | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.2-beta15 | ||||
| Summary | 0000841: Some config files cause IRCd to core dump at startup | ||||
| Description | (Please read till the end. atm I myself have problems to believe that I'm not insane :) But the fact is that .1690 is running fine, with the same configfile) When I'm using the attached config file, .1699 core-dumps at startup[1]. It will however run if I delete either all link blocks or if I delete two link blocks and the except tkl and the oper 'global'. Maybe there are other cominations too, dunno. It also core-dumps at startup if it is started twice (can't bind the address). When I try to connect to the server (after I deleted the stuff as described above) I see the "*** Found your hostname" message, then 'Remote host closed socket'. After that connection attempt I have lot's of funny files in the Unreal dir (like è¡?@è¡?@ð¡?@ð¡?@ø¡?@ø¡?@) and a core [2]. If I also delete the log blocks, the server starts and I can connect to it. BTW: The 'logs' dir exsists and connect.log was created I'm having no problem with .1690 | ||||
| Additional Information | [1]: #0 0x401036b2 in chunk_free () from /lib/libc.so.6 (gdb) bt #0 0x401036b2 in chunk_free () from /lib/libc.so.6 #1 0x401035f6 in free () from /lib/libc.so.6 #2 0x0806ee51 in config_entry_free (ceptr=0x401adc90) at s_conf.c:1012 #3 0x0806e7b9 in config_free (cfptr=0x8169ce8) at s_conf.c:721 #4 0x0806f6af in init_conf (rootconf=0x80943f3 "unrealircd.conf", rehash=0) at s_conf.c:1250 #5 0x08062e95 in main (argc=384, argv=0x401ab0a0) at ircd.c:1066 #6 0x400ad4a2 in __libc_start_main () from /lib/libc.so.6 [2] #0 0x0807acb8 in ircd_log (flags=16, format=0x80a1dc3 "Connect - %s!%s@%s [VHOST %s]") at s_extra.c:349 349 if (!stricmp(logs->file, "syslog") && logs->flags & flags) { (gdb) bt #0 0x0807acb8 in ircd_log (flags=16, format=0x80a1dc3 "Connect - %s!%s@%s [VHOST %s]") at s_extra.c:349 #1 0x08088122 in register_user (cptr=0x816b5e8, sptr=0x816b5e8, nick=0x816b611 "ora", username=0x816b6d1 "ora", umode=0x0, virthost=0x0) at s_user.c:989 #2 0x0808a03a in m_user (cptr=0x816b5e8, sptr=0x816b5e8, parc=135706129, parv=0x816b6d5) at s_user.c:1988 #3 0x080671c5 in parse (cptr=0x816b5e8, buffer=0x816b6cc "USER", bufend=0x816b6e9 "") at parse.c:466 #4 0x08065f82 in dopacket (cptr=0x816b5e8, buffer=0x8115c20 "USER ora linux localhost :ora\r", length=0) at packet.c:137 #5 0x0806cced in read_packet (cptr=0x816b5e8, rfd=0x816b8e0) at s_bsd.c:1455 #6 0x0806d570 in read_message (delay=2, listp=0x81436c0) at s_bsd.c:1905 #7 0x0806365b in main (argc=0, argv=0x813f480) at ircd.c:1355 0000008 0x400ad4a2 in __libc_start_main () from /lib/libc.so.6 | ||||
| Attached Files | unrealircd.conf (4,106 bytes) | ||||
| 3rd party modules | |||||
|
|
And the same segfault when the directory is not created... |
|
|
If it helps, all the files contain the same connect notices: [Fri Mar 28 20:50:03 2003] - Connect - wolf!~wolf@localhost [VHOST hid-38CC5594] [Fri Mar 28 20:52:39 2003] - Connect - w!~w@localhost [VHOST hid-38CC5594] edited on: 03-28 19:00 |
|
|
Hmm... strange... (gdb) x/x logs 0x179: Error accessing memory address 0x179: No such process. |
|
|
If I uncomment all of your log{} blocks except "connects.log" and run ircd, then the following happen: #0 0x400d1d84 in chunk_free () from /lib/libc.so.6 (gdb) bt #0 0x400d1d84 in chunk_free () from /lib/libc.so.6 #1 0x400d1c53 in free () from /lib/libc.so.6 #2 0x0806f675 in config_entry_free (ceptr=0x814dc18) at s_conf.c:1012 #3 0x0806f643 in config_entry_free (ceptr=0x814d568) at s_conf.c:1007 #4 0x0806ef53 in config_free (cfptr=0x814e0e0) at s_conf.c:721 #5 0x0806fe34 in init_conf (rootconf=0x80936b1 "unrealircd.conf", rehash=0) at s_conf.c:1250 #6 0x08063e4f in main (argc=1, argv=0xbffff554) at ircd.c:1066 #7 0x4007a9ed in __libc_start_main () from /lib/libc.so.6 (gdb) frame 2 #2 0x0806f675 in config_entry_free (ceptr=0x814dc18) at s_conf.c:1012 1012 free(ceptr); (gdb) frame 3 #3 0x0806f643 in config_entry_free (ceptr=0x814d568) at s_conf.c:1007 1007 config_entry_free(ceptr->ce_entries); (gdb) print *ceptr->ce_entries $4 = {ce_fileptr = 0x4017d590, ce_varlinenum = 1075303824, ce_fileposstart = 1000, ce_fileposend = 1054, ce_sectlinenum = 0, ce_varname = 0x814dc48 "\200Ó\027@\200Ó\027@ly the following User commands are available.", ce_vardata = 0x0, ce_entries = 0x0, ce_prevlevel = 0x814dbc8, ce_next = 0x814dc88} (gdb) print *ceptr $5 = {ce_fileptr = 0x814d0c8, ce_varlinenum = 28, ce_fileposstart = 982, ce_fileposend = 1565, ce_sectlinenum = 28, ce_varname = 0x814dbf8 "help", ce_vardata = 0x814dc08 "Usercmds", ce_entries = 0x814dc18, ce_prevlevel = 0x0, ce_next = 0x815a1c0} |
|
|
Using the exact config file you uploaded, it works fine. [19:48] -ora.test.net- *** Looking up your hostname... - [19:48] -ora.test.net- *** Checking ident... - [19:48] -ora.test.net- *** Received identd response - [19:48] -ora.test.net- *** Found your hostname - and I connect just fine. |
|
|
Ok, I tested it on a shell account now. There I can connect too :) But you can reproduce this crash, AngryWolf? Any hints what we/I should check? I already looked at the gcc versions. The shell (where it's running fine) is using gcc version 2.95.4 20011002 whereas I use gcc version 3.2. |
|
|
I'm using SuSE Linux 8.0 Unreal3.2-beta15 build 1.1.1.1.2.1.2.1.2.1699 2003/03/24 17:36:26 gcc version 2.95.3 20010315 (SuSE) Steps what I did: 1. ./ircd 2. connected to localhost (i got those connect info) 3. NICK wolf 4. USER wolf wolf wolf wolf And ircd crashed. |
|
|
Are there any bugs with earlier versions of gcc? I can't tell you more hints anyway. edited on: 03-29 09:46 |
|
|
I have a similar problem. Some differences about the first post, but similar. Unreal crashes on startup. Better I say, it don´t start successfully. I have the following output of gdb: #0 0x401ec7c5 in chunk_free () from /lib/libc.so.6 (gdb) bt #0 0x401ec7c5 in chunk_free () from /lib/libc.so.6 #1 0x401ec706 in free () from /lib/libc.so.6 #2 0x0806fc69 in config_entry_free (ceptr=0x40298f70) at s_conf.c:1009 #3 0x0806fc79 in config_entry_free (ceptr=0x81574c8) at s_conf.c:1007 #4 0x0806f599 in config_free (cfptr=0x8157450) at s_conf.c:721 #5 0x0807052f in init_conf (rootconf=0x8095cb3 "unrealircd.conf", rehash=0) at s_conf.c:1250 #6 0x08063be5 in main (argc=40, argv=0x180) at ircd.c:1066 #7 0x401964f2 in __libc_start_main () from /lib/libc.so.6 Thats on the NEWEST devel version. Problem does exist since a few days, after ...- Moved the "missing user in SJOIN" notice to snomask +j"... was added. |
|
|
0000846 is the same bug but this report was sent earlier. |
|
|
Now fixed in CVS (.1705). |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2003-11-20 19:46 | syzop | Status | resolved => closed |