View Issue Details

IDProjectCategoryView StatusLast Update
0000503unrealircdpublic2003-11-20 19:46
ReporterAnGeL_Of_DaRkNeSs Assigned Tocodemastr 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformRedHatOSLinuxOS Version2.4.19
Product Version3.2-beta11 
Summary0000503: ircd crash after doing --> /oper <-- command
DescriptionWhen 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?
TagsNo tags attached.
3rd party modules

Activities

codemastr

2002-12-05 00:49

reporter   ~0000797

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.

guigui2

2002-12-06 21:06

reporter   ~0000799

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>

codemastr

2002-12-06 23:05

reporter   ~0000800

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.

guigui2

2002-12-06 23:14

reporter   ~0000801

(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;
        };
};

macker

2002-12-09 22:40

reporter   ~0000812

Last edited: 2002-12-09 22:48

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

codemastr

2003-04-16 19:40

reporter   ~0002371

This should be fixed in the current CVS.

Issue History

Date Modified Username Field Change
2003-04-16 19:40 codemastr Status acknowledged => resolved
2003-04-16 19:40 codemastr Resolution open => fixed
2003-04-16 19:40 codemastr Assigned To => codemastr
2003-04-16 19:40 codemastr Note Added: 0002371
2003-11-20 19:46 syzop Status resolved => closed