Unexpected "Exiting normally" 2.1.8?
Bjørn Mork
bjorn at mork.no
Thu Nov 26 19:10:47 CET 2009
Alan DeKok <aland at deployingradius.com> writes:
> Bjørn Mork wrote:
>> Yes. Just to be sure, I've repeated the process and the trace is the
>> same: Useless:
> ...
>> Which I guess tells us that there is some other path here than through
>> fr_event_loop_exit and radius_signal_self with flag==2?
>
> For the life of me, I can't see another path through the code.
>
> Are you sending it period HUPs?
No
> The only other possibility is some memory over-write. You should use
> gdb...
>
> $ gdb --args radiusd -f
> (gdb) break fr_event_loop
> (gdb) run
> (gdb) watch el->exit
> (gdb) del 1
> (gdb) cont
> ...
> (gdb) bt
>
> That should cause it to stop as soon as *anything* stomps on the event
> loop flag that says "stop the event loop"
Will do.
However, I think I found one other possibility. This code in
fr_event_loop() will exit if the select() fails:
rcode = select(el->maxfd + 1, &read_fds, NULL, NULL, wake);
if ((rcode < 0) && (errno != EINTR)) {
el->dispatch = 0;
return 0;
}
Might this happen due to a dead home server fd in the &read_fds?
Bjørn
More information about the Freeradius-Users
mailing list