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

Russell Jackson raj at csub.edu
Tue Jun 21 02:03:08 CEST 2011


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

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 at csub.edu>
Network Analyst
California State University, Bakersfield



More information about the Freeradius-Users mailing list