Hi Alan,

I have encourtered similiar crashes.
below is a crash dump and is reproducible. normally when that happens, the
logfile will produce the following:

Error: Received Accounting-Response packet from 192.168.2.21 with invalid
signature!
(note: secret was set correctly)

here's the setup:

OS: RedHat 7.1
Freeradius version: cvs dated Jan 26 2002

192.168.2.10+
192.168.2.11    --->  192.168.2.20  ---> 192.168.2.21

2 clients were used to generate the acct packets to feed the radius server
which in turn proxied the request to another server.


config for proxy.conf
realm testdomain.com {
        type            = radius
        authhost        = 192.168.2.21:1812
        accthost        = 192.168.2.21:1813
        secret          = secret
        nostrip
}


eg:
./bin/radclient -q -f account-pkt 192.168.2.20:1813 acct secret

account-pkt was generated with the following:

i=0;
while [ $i -lt 20000 ]; do
(
echo "User-Name = \"tst$[EMAIL PROTECTED]\""
echo "NAS-Identifier = \"TESTING\""
echo "Service-Type = Framed-User"
echo "Framed-Protocol = PPP"
echo "NAS-Port = 999$i"
echo "Acct-Session-Id = \"$i-FFFF\""
echo "Acct-Authentic = RADIUS"
echo "Acct-Status-Type = Stop"
echo "Session-Timeout = 22000"
echo "Framed-IP-Address = 192.168.2.1"
echo "Acct-Input-Octets = 212"
echo "Acct-Output-Octets = 14332"
echo "Acct-Input-Packets = 10"
echo "Acct-Output-Packets = 141"
echo "Acct-Session-Time = 254"
echo ""
)
i=`expr $i + 1`;
done

$ gdb sbin/radiusd core

GNU gdb Red Hat Linux (5.1-0.71)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
Core was generated by `sbin/radiusd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libpthread.so.0...done.

warning: Unable to set global thread event mask: generic error
[New Thread 1024 (LWP 8641)]
Error while reading shared library symbols:
Can't attach LWP 8641: No such process
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/libltdl.so.0...done.
Loaded symbols for /usr/lib/libltdl.so.0
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /usr/freeradius/lib/rlm_unix.so.0...done.
Loaded symbols for /usr/freeradius/lib/rlm_unix.so.0
Reading symbols from /usr/freeradius/lib/rlm_preprocess.so.0...done.
Loaded symbols for /usr/freeradius/lib/rlm_preprocess.so.0
Reading symbols from /usr/freeradius/lib/rlm_realm.so.0...done.
Loaded symbols for /usr/freeradius/lib/rlm_realm.so.0
Reading symbols from /usr/freeradius/lib/rlm_files.so.0...done.
Loaded symbols for /usr/freeradius/lib/rlm_files.so.0
Reading symbols from /usr/freeradius/lib/rlm_detail.so.0...done.
Loaded symbols for /usr/freeradius/lib/rlm_detail.so.0
#0  0x40173292 in __libc_sendto () from /lib/libc.so.6
(gdb) bt
#0  0x40173292 in __libc_sendto () from /lib/libc.so.6
#1  0x4004f38e in sendto (fd=6, buf=0x40203ae0, n=144, flags=0, addr=
      {__sockaddr__ = 0xbf7ff9dc, __sockaddr_at__ = 0xbf7ff9dc, __sockaddr_ax25__ = 
0xbf7ff9dc, __sockaddr_dl__ = 0xbf7ff9dc, __sockaddr_eon__ = 0xbf7ff9dc, 
__sockaddr_in__ = 0xbf7ff9dc, __sockaddr_in6__ = 0xbf7ff9dc, __sockaddr_inarp__ = 
0xbf7ff9dc, __sockaddr_ipx__ = 0xbf7ff9dc, __sockaddr_iso__ = 0xbf7ff9dc, 
__sockaddr_ns__ = 0xbf7ff9dc, __sockaddr_un__ = 0xbf7ff9dc, __sockaddr_x25__ = 
0xbf7ff9dc}, addr_len=16)
    at wrapsyscall.c:222
#2  0x080591fc in rad_send (packet=0x40203958, original=0x0,
    secret=0x80b4368 "secret") at radius.c:522
#3  0x08050a18 in proxy_send (request=0x40201b90) at proxy.c:307
#4  0x0804d83c in rad_respond (request=0x40201b90, fun=0x804f36c <rad_accounting>)
    at radiusd.c:1527
#5  0x0805671c in request_handler_thread (arg=0x80bc420) at threads.c:169
#6  0x40049f87 in pthread_start_thread (arg=0xbf7ffc00) at manager.c:284
(gdb)


let me know if you need more info.

regards,
Tan





On Fri, 25 Jan 2002, [EMAIL PROTECTED] wrote:

> "Marcelo Ferreira" <[EMAIL PROTECTED]> wrote:
> > I got this error message this morning at a production test:
> >
> >
> > #0  0x401eea01 in __kill () from /lib/i686/libc.so.6
> > #1  0x400645bb in raise (sig=6) at signals.c:65
> > #2  0x401eff82 in abort () at ../sysdeps/generic/abort.c:88
> > #3  0x0804db55 in rad_respond (request=0x8122848, fun=0x804f90c
> > <rad_accounting>) at radiusd.c:1423
>
>   Ouch.  That's a definite bug.
>
> > Is there any bug at thread or pthread API's at RedHat Linux 7.2 or at
> > Freeradius?
>
>   It's an assertion in FreeRADIUS, that everything's OK.
>
>   Since it dies, that means it found some internal inconsistency
> problem, and didn't know what else to do, but kill itself.
>
>
>   What else are you doing?  While I admit it's a bug in the server, if
> no one else is seeing the problem, that means that your local
> configuration must have something unique which makes it trigger the
> bug.
>
>   Alan DeKok.
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>


- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to