ocserv-worker 100% CPU USAGE

Nikos Mavrogiannopoulos n.mavrogiannopoulos at gmail.com
Fri Aug 22 09:41:39 PDT 2014


On Fri, Aug 22, 2014 at 4:56 PM, Farzad Fallah <farzad.fallah at gmail.com> wrote:
> No. also I checked syslog to see if worker process has logged anything
> before hanging but there is only one line containing worker process
> PID:
> root at X:/var/log# grep 13880 syslog
> Aug 22 07:32:36 sd-48811 ocserv[8975]: main: main.c:451: Child 13880
> died with signal 9 (Yes, I had to kill it with kill -9)

The cause is here:
pselect6(22, [4 7 8 21], NULL, NULL, {10, 0}, {[], 8}) = 1 (in [7],
left {9, 999997763})
recvfrom(5, 0xad9330, 18780, 0, 0, 0)   = -1 EBADF (Bad file descriptor)

It is waiting for descriptors 4,7,8,21 and then receiving from
descriptor 5. That is an issue it should now be fixed in the
repository.

What I don't understand though is how it does get into an infinite
loop. All the callers of recvfrom() check for its return code. I will
check again later with a more clear head.

regards,
Nikos



More information about the openconnect-devel mailing list