View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000503 | unreal | ircd | public | 2002-12-04 00:55 | 2003-11-20 19:46 |
Reporter | AnGeL_Of_DaRkNeSs | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | RedHat | OS | Linux | OS Version | 2.4.19 |
Product Version | 3.2-beta11 | ||||
Summary | 0000503: ircd crash after doing --> /oper <-- command | ||||
Description | When i log to the ircd and i identify to OperServ to get my NA access it works fine and i get my access then im doing /mode <my-nick> -remove all flags and after that i identify again to my NA access /oper <my-nick> <password> the ircd crashes and dont get back i need to restart him manualy. Can someone help me with this bug? | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
First off you are running an old version. Second, you didn't provide us with any useful information. See how on the http://bugs.unrealircd.org main page it tells you EXACTLY what to include in your bug report if you want us to fix it? Well you didn't do that. So if you can't provide this information, there really isn't much we can do. |
|
i'm using the last unreal 3.2, cvs updated Core was generated by `./ircd'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.1...done. Loaded symbols for /lib/libcrypt.so.1 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from modules/commands.so...done. Loaded symbols for modules/commands.so Reading symbols from /usr/local/lib/libgcc_s.so.1...done. Loaded symbols for /usr/local/lib/libgcc_s.so.1 Reading symbols from modules/scan.so...done. Loaded symbols for modules/scan.so Reading symbols from modules/scan_socks.so...done. Loaded symbols for modules/scan_socks.so Reading symbols from modules/scan_http.so...done. Loaded symbols for modules/scan_http.so #0 ircvsprintf (str=0x81c4c28 "stion : \0034\002 _ H _ _ _ _\002\r\n", format=0xbffff69e ") [%s] %s", vl=0xbffffa90 "\221B%@@B\032@Ì7\024\bÌ7\024\b") at ircsprintf.c:289 289 if ((*str = *p1)) (gdb) bt #0 ircvsprintf (str=0x81c4c28 "stion : \0034\002 _ H _ _ _ _\002\r\n", format=0xbffff69e ") [%s] %s", vl=0xbffffa90 "\221B%@@B\032@Ì7\024\bÌ7\024\b") at ircsprintf.c:289 #1 0x0809df7b in vsendto_one (to=0x8208900, pattern=0xbffff660 ":Tours.FR.EU.DWChat.net NOTICE GamerS :*** Notice -- %s (%s@%s) [%s] %s", vl=0xbffffa84 "ÑA%@\020^$@") at send.c:210 #2 0x0809f063 in sendto_ops (pattern=0x401a4555 "%s (%s@%s) [%s] %s") at send.c:1114 #3 0x4019d6f4 in m_oper (cptr=0x402541a8, sptr=0x402541a8, parc=3, parv=0x81bc880) at m_oper.c:269 #4 0x0807a859 in parse (cptr=0x402541a8, buffer=0x4025428c "oper", bufend=0x402542a7 "") at parse.c:442 #5 0x08079789 in dopacket (cptr=0x402541a8, buffer=0x81bd240 "oper guigui <MYPASSWORD>\r", length=0) at packet.c:99 #6 0x0808008d in read_packet (cptr=0x402541a8, rfd=0x402544a0) at s_bsd.c:1416 #7 0x080809bf in read_message (delay=1, listp=0x81ce520) at s_bsd.c:1857 0000008 0x08077002 in main (argc=1039206217, argv=0x0) at ircd.c:1322 #9 0x4008b17f in __libc_start_main () from /lib/libc.so.6 I change my password in <MYPASSWORD> |
|
Ok to find the problem I'm gonna need a bit more info, can you do this: launch gdb type: select-frame 3 print parv[0] print sptr->user->username print sptr->umodes print sptr->user->virthost print sptr->user->realhost print parv[1] print announce Also if you could include a copy of your oper {} (with the password hidden) it would be very helpful. |
|
(gdb) print parv[0] print sptr->user->username print sptr->umodes print sptr->user->virthost print sptr->user->realhost print parv[1] print announce $1 = 0x402541d1 "Guigui" (gdb) print sptr->user->username $2 = "~Guillaume" (gdb) print sptr->umodes $3 = 549374 (gdb) print sptr->user->virthost $4 = 0x0 (gdb) print sptr->user->realhost $5 = "guillaume.noc.dev-web.com", '\0' <repeats 38 times> (gdb) print parv[1] $6 = 0x40254291 "guigui" (gdb) print announce $7 = 0x401a4240 "is now a network administrator (N)" oper guigui { class clients; from { userhost *@guillaume.noc.dev-web.com; }; password "<password>"; flags { netadmin; global; }; }; |
|
I've run into this (same/similar) problem, as well, using Unreal 3.2 beta 12 (tarball build). Unreal3.2-Selene[beta12] build 1.1.1.1.2.1.2.24 2002/08/25 12:07:31 Platform is SuSE Linux 8.0, kernel 2.4.18-4GB (stock), glibc 2.2.5-38 (rpm). ircd is running on eth0:0, client is on eth0 (ip aliasing). Running a single server, minimal standard configuration, installed to ~/ircd (with proper configged paths through unrealircd.conf and pre-compile config), scan* modules not loaded, 1 user, consistently reproducible: (console) Start server Connect to server Server issues /lusers output Server issues notice regarding socks scan Server sets umode +wx Client sets mode +i (user) Client sets mode -x (user) Client issues /oper nick pass Server crashes If umode x is not removed (is set), server does not crash. Server is set for oper-auto-join to #opers DNS hostnames used for server config are not "real", but are set in /etc/hosts; nsswitch is configured to check files before dns. Client hostname is real, with valid A/PTR records. Gdb (brief): [snip] Reading symbols from modules/commands.so...done. Loaded symbols for modules/commands.so #0 0x0808962f in vsendto_prefix_one (to=0x8153650, from=0x8153650, pattern=0x808dd86 ":%s JOIN :%s", vl=0xbffff3d0) at send.c:1556 1556 if ((IsHidden(from) ? *user->virthost : *user->realhost) (gdb) bt #0 0x0808962f in vsendto_prefix_one (to=0x8153650, from=0x8153650, pattern=0x808dd86 ":%s JOIN :%s", vl=0xbffff3d0) at send.c:1556 #1 0x08088965 in sendto_channel_butserv (chptr=0x8154c70, from=0x8153650, pattern=0x808dd86 ":%s JOIN :%s") at send.c:1099 #2 0x0805693d in m_join (cptr=0x8153650, sptr=0x8153650, parc=3, parv=0xbffff490) at channel.c:3084 #3 0x401b8812 in m_oper (cptr=0x8153650, sptr=0x8153650, parc=3, parv=0x810ffe0) at m_oper.c:305 #4 0x08067292 in parse (cptr=0x8153650, buffer=0x8153734 "OPER", bufend=0x8153744 "") at parse.c:442 #5 0x08065f4e in dopacket (cptr=0x8153650, buffer=0x8110980 "OPER macker test\r", length=17) at packet.c:99 #6 0x0806c542 in read_packet (cptr=0x8153650, rfd=0xbffff6ec) at s_bsd.c:1409 #7 0x0806cc86 in read_message (delay=7, listp=0x811e700) at s_bsd.c:1844 0000008 0x08063b31 in main (argc=1, argv=0xbffff834) at ircd.c:1348 #9 0x4009e9ed in __libc_start_main () from /lib/libc.so.6 Following above request (frame 3): (gdb) select-frame 3 (gdb) print parv[0] $1 = 0x8153679 "macker" (gdb) print sptr->user->username $2 = "macker\000\000\000\000" (gdb) print sptr->umodes $3 = 25055 (gdb) print sptr->user->virthost $4 = 0x0 (gdb) print sptr->user->realhost $5 = "new.happyland.net", '\000' <repeats 46 times> (gdb) print parv[1] $6 = 0x8153739 "macker" (gdb) print announce $7 = 0x401c0540 "is now a network administrator (N)" oper macker { from { userhost macker@*; }; password "test"; flags OoaAN; class clients; }; edited on: 12-09 22:48 |
|
This should be fixed in the current CVS. |
Date Modified | Username | Field | Change |
---|---|---|---|
2003-04-16 19:40 |
|
Status | acknowledged => resolved |
2003-04-16 19:40 |
|
Resolution | open => fixed |
2003-04-16 19:40 |
|
Assigned To | => codemastr |
2003-04-16 19:40 |
|
Note Added: 0002371 | |
2003-11-20 19:46 | syzop | Status | resolved => closed |