View Issue Details

IDProjectCategoryView StatusLast Update
0001882unrealircdpublic2004-06-18 11:46
ReporterGilou Assigned Tosyzop  
PrioritynormalSeveritycrashReproducibilityrandom
Status closedResolutionopen 
Summary0001882: Crash around the tmp/ thing
DescriptionUnreal has problems accessing the tmp/ thing for modules.
Let's begin the story :
We used to let the original install script unmodified, and we had : [error] Unable to open 'tmp' directory: No such file or directory, please create one with the appropriate permissions
So we added something to create the $IRCDDIR/tmp.
We used to have the m_antidccbug thing activated. Unreal randomly crashed (don't know if the module was called before), complaining about being unable to read the tmp/ .so file.
So we deactivated it.
Last news :
Core was generated by `/home/ircd/IRCd/ircd'.
Program terminated with signal 11, Segmentation fault.
Error while mapping shared library sections:
tmp/12FB402C.commands.so: No such file or directory.


Additional InformationFew informations:
Permission are correctly set.
Our OSs aren't weird, they are various linux distributions, FreeBSD, ... so it is not OS specific.
If I get answer of the same level I got for my other feature suggestions, I'll probably get angry.
We run a large network, and we want this bug to get solved, so we can perform tests (well, depend of what we are asked to do).


Here's a backtrace, other will come
Error while reading shared library symbols:
tmp/12FB402C.commands.so: No such file or directory.
#0 0x080659c9 in ircvsprintf ()
(gdb) bt
#0 0x080659c9 in ircvsprintf ()
#1 0x0808d83c in vsendto_one ()
#2 0x0808d817 in sendto_one ()
#3 0x402e9a2d in ?? ()
#4 0x402e9496 in ?? ()
#5 0x402e895e in ?? ()
#6 0x080694ac in parse ()
#7 0x08068555 in dopacket ()
0000008 0x0806f0cd in start_of_normal_client_handshake ()
#9 0x0806fa3d in read_message ()
#10 0x080651eb in main ()
#11 0x401b6d06 in __libc_start_main () from /lib/libc.so.6
3rd party modules

Activities

Gilou

2004-06-18 08:50

reporter   ~0006692

Last edited: 2004-06-18 08:56

Well sorry, it might have nothing to do with the tmp/ directory, it's just gdb being unable to find the old .so, because of course, Unreal has been restarted and the filename has changed.
Still, it crashed ;)

modifié le : 2004-06-18 08:56

Gilou

2004-06-18 09:32

reporter   ~0006693

Another more explicit bt, but our s_user.c is modified, so the original line number is 1317 instead of 1351. Our modification is protected by #ifdef statements, and these are evaluated to false for this build, so there's no way it can be the reason of the crash.
The same applies for s_kline.c, the line should be 532 instead of 537.
#0 0x08084424 in Inet_ia2p (ia=0x845a048) at socket.c:209
#1 0x0807dbb7 in find_qline (cptr=0x8459d08, nick=0xbffff7bc "Gilou",
    ishold=0xbffff7b8) at s_kline.c:537
#2 0x08086f22 in m_nick (cptr=0x8187e88, sptr=0x8459d08, parc=3,
    parv=0x813d4c0) at s_user.c:1351
#3 0x080682c3 in parse (cptr=0x8187e88, buffer=0x8187f6c ":Hagrid &",
    bufend=0x8187f86 "") at parse.c:440
#4 0x080670c8 in dopacket (cptr=0x8187e88,
    buffer=0x813de60 ":Hagrid | +q\r\n:Hagrid & Gilou 1086355761\r\n\nin.epiknet.org\r\n@I ] :Hagrid ([email protected]) [Gilou] is now a co administrator (C)\r\n:Hagrid | +ohaCW\r\n] \r\n@1m ~ !10h5jL #som-online :LebrEf["..., length=42) at packet.c:138
#5 0x0806d37f in read_packet (cptr=0x8187e88, rfd=0xbffff95c) at s_bsd.c:1447
#6 0x0806dc51 in read_message (delay=1, listp=0x8152400) at s_bsd.c:1937
#7 0x080641a8 in main (argc=1, argv=0xbffffab4) at ircd.c:1432

syzop

2004-06-18 10:41

administrator   ~0006694

Could you package (a .tar.gz, a .zip, whatever) your whole UnrealIRCd dir (source + core files + .so's + binary bla, just the whole Unreal3.2/ or whatever) and send it to me at [email protected]? (you leave me no other choice due to the mods). Then I'll certainly look into it. Thanks :)

syzop

2004-06-18 11:18

administrator   ~0006695

hm, nevermind. found.

If you want to double check what I found was the issue, then do this (with that core file):
> frame 1
That should print that the crash happend at line 'cip = (char *)Inet_ia2p(&cptr->ip);'
> p cptr->fd
That should print -256

I'll commit the fix within a few minutes.

syzop

2004-06-18 11:46

administrator   ~0006696

Fixed in latest CVS (.61):
- Fixed find_qline crashes regarding except tkl 'type qline', reported by Gilou (0001882).
- Fixed some CIDR bugs causing things not to match.

If you still have this crash after upgrading, mail me at [email protected]

Issue History

Date Modified Username Field Change
2004-06-18 08:29 Gilou New Issue
2004-06-18 08:50 Gilou Note Added: 0006692
2004-06-18 08:56 Gilou Note Edited: 0006692
2004-06-18 09:32 Gilou Note Added: 0006693
2004-06-18 10:41 syzop Note Added: 0006694
2004-06-18 11:04 syzop Status new => assigned
2004-06-18 11:04 syzop Assigned To => syzop
2004-06-18 11:18 syzop Note Added: 0006695
2004-06-18 11:46 syzop Status assigned => closed
2004-06-18 11:46 syzop Note Added: 0006696