On Mon, 2006-02-13 at 13:57 +0200, George-Cristian Bîrzan wrote: > Hello! > > I've been having a rather annoying problem with FreeRADIUS, including > version 1.1.0. > > I've set up authentication and accounting via a Perl script.
Er. Ewps. Let's try again. :-) In users: DEFAULT Auth-Type = Accept Exec-Program-Wait = "/usr/local/etc/raddb/auth-ng.pl %u %{request:User-Password} %n %i", Fall-Through = 0 In acct_users: DEFAULT Acct-Status-Type = Stop Exec-Program = "/usr/local/etc/raddb/acct-ng.pl STOP %u %{Acct-Input-Octets} %{Acct-Output-Octets} %{Acct-Input-Packets} %{Acct-Output-Packets}" DEFAULT Acct-Status-Type = Start Exec-Program = "/usr/local/etc/raddb/acct-ng.pl START %u %i %{Framed-IP-Address} %n" If I don't compile FreeRADIUS with --with-threads, it all works fine, but it only will authenticate one user at a time. If I use threads, accounting stop processes remain as zombie processes. After a day or so, the server would die, not being able to create more processes. So, I've started restarting the RADIUS server hourly, but that's quite an ugly hack. >From a strace of a process that remains hung: [pid 22052] exit_group(0) = ? Process 22052 detached --- SIGCHLD (Child exited) @ 0 (0) --- --- SIGRTMIN (Unknown signal 32) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [HUP INT QUIT TERM RTMIN]) waitpid(22058, NULL, WNOHANG) = -1 ECHILD (No child processes) 22058 exists, and is another process that hung. $ ps u 22058 22052 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 22052 0.0 0.0 0 0 ? Z 14:08 0:00 [acct-ng.pl] <defunct> root 22058 0.0 0.0 0 0 ? Z 14:08 0:00 [acct-ng.pl] <defunct> I'm trying to look at the source for hints, but I figured I should try asking... if anyone has any ideas, I'd greatly appreciate it. -- George-Cristian Bîrzan Network Engineer _______________________________________ RCS & RDS Constanta Tel.: +40341.400.401 / +40341.400.402 Fax: +40341.400.450 http://www.rcs-rds.ro _______________________________________ Privileged/Confidential Information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such a case, you should destroy this message and kindly notify the sender by reply e-mail. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html