NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

FreeRADIUS instability



Greetings,

I do not know if this is NetBSD-related, but I suffer from FreeRADIUS
instability on NetBSD for a long time and do not know how to debug this.

Symptoms are: RADIUS server randomly (once a day or once a week) can stop
answering and this is not connected to the actual load. While in that state
it can be killed with -9 only, other signals do nothing, rc.d restart script
just hang.

I have compiled debug version of it and connected gdb:

0x000077280da42b8a in _sys___kevent50 () from /usr/lib/libc.so.12
(gdb) bt
#0  0x000077280da42b8a in _sys___kevent50 () from /usr/lib/libc.so.12
#1  0x000077280e807879 in __kevent50 () from /usr/lib/libpthread.so.1
#2  0x00007728106270e1 in fr_event_loop (el=0x7728105bcb20)
    at src/lib/event.c:625
#3  0x00000000004364dd in radius_event_process () at src/main/process.c:6056
#4  0x00000000004466c3 in main (argc=<optimized out>, argv=<optimized out>)
    at src/main/radiusd.c:641

gdb always show it is stuck in kevent call. radiusd was started with -txx
meaning no threads were used.

src/lib/event.c:625 says:

rcode = kevent(el->kq, NULL, 0, el->events, FR_EV_MAX_FDS, ts_wake);

It seems kevent call is misused somehow leading to not returning from this syscall or syscall is blocked. What I can debug further?

--
Sincerely yours,
Dima Veselov
Physics R&D Establishment of Saint-Petersburg University


Home | Main Index | Thread Index | Old Index