2.1.x 34c68ba8: freebsd 7.x: segfault/internal error in select()

Russell Jackson raj at csub.edu
Tue Jun 21 01:56:50 CEST 2011


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/d8084182bbec453712a96af3bad0a7487d756724#src/lib/event.c

-- 
Russell A Jackson <raj at csub.edu>
Network Analyst
California State University, Bakersfield



More information about the Freeradius-Users mailing list