On 06/20/2011 04:56 PM, Russell Jackson wrote:
I'm getting a segfault on exit after logging this to syslog:
Exiting due to internal error: Failed in select: Invalid argument kernel: pid 87513 (radiusd), uid 133: exited on signal 11
select(2) indicates that EINVAL is returned when the timeout is invalid (being negative or too large). I modified the error message to include the value of "when" in lib/event.c. I then got:
Exiting due to internal error: Failed in select: Invalid argument: wake 4sec, 1000000usec
I suspected that tv_usec needs to be < USEC, so I kluged the code to subtract 1 from when.tv_usec if it's >= USEC. So far, I haven't had any more crashes.
Commit d8084182 seems to be when this code was changed last, and I didn't have this problem before on 2.1.x.
https://github.com/alandekok/freeradius-server/commit/d8084182bbec453712a96a...
Actually, after looking more closely, the segfault seems to happen whenever the server exits for any reason (including SIGTERM). I'll try to get a backtrace. -- Russell A Jackson <raj@csub.edu> Network Analyst California State University, Bakersfield