Squid loops on epoll_wait/read

From: Phil Oester <kernel_at_linuxace.com>
Date: Wed, 1 Jun 2011 16:31:45 -0700

I'm having a problem similar to the one described here (and in bug 3189):

http://squid-web-proxy-cache.1019090.n4.nabble.com/Squid-loops-on-epoll-read-gettimeofday-td1695367.html

where occasionally on a fresh start, squid (3.1.1[12]) will loop
between epoll_wait and read as follows, using 100% cpu:

epoll_wait(6, {{EPOLLIN, {u32=103, u64=7198046948199235687}}}, 8192, 55) = 1
read(115, 0x7fffa78584f0, 256) = -1 EAGAIN (Resource temporarily unavailable)
epoll_wait(6, {{EPOLLIN, {u32=103, u64=7198046948199235687}}}, 8192, 55) = 1
read(115, 0x7fffa78584f0, 256) = -1 EAGAIN (Resource temporarily unavailable)
epoll_wait(6, {{EPOLLIN, {u32=103, u64=7198046948199235687}}}, 8192, 55) = 1
read(115, 0x7fffa78584f0, 256) = -1 EAGAIN (Resource temporarily unavailable)

In the thread noted above, Henrik wondered why epoll_wait was returning
one fd (fd 103), and read was acting upon another (fd 115). He asked
for cachemgr output showing what each fd was being used for. In my case,
both fd refer to similar items:

 103 Pipe 0 0* 0 async-io completetion event: main
 115 Pipe 0 0* 0 async-io completetion event: main

Is it possible this is a simple off by one error within aufs?

A stop/start on squid usually solves this, but occasionally the newly started
instance has the same problem and I have to restart multiple times.

Any ideas?

Thanks,
Phil Oester
Received on Thu Jun 02 2011 - 00:03:14 MDT

This archive was generated by hypermail 2.2.0 : Thu Jun 02 2011 - 12:00:05 MDT